more reorganization. this was disasterious

This commit is contained in:
Bitl 2020-07-11 12:50:36 -07:00
parent 4768d2c25b
commit 261183ffbf
88 changed files with 9259 additions and 9832 deletions

View File

@ -9,12 +9,13 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Novetus.CMD", "NovetusCMD\N
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Novetus.URI", "NovetusURI\Novetus.URI.csproj", "{2070EAA6-7606-4006-A628-5705C24A3644}"
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Novetus.Core", "NovetusCore\Novetus.Core.shproj", "{323F300A-3E26-43CA-A783-A0DAE56CB842}"
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Novetus.Core", "NovetusCore\Novetus.Core.shproj", "{DEBCC57D-9A3B-4D7C-8693-FA4AEC56C8C1}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
NovetusCore\NovetusCore.projitems*{323f300a-3e26-43ca-a783-a0dae56cb842}*SharedItemsImports = 13
NovetusCore\NovetusCore.projitems*{2070eaa6-7606-4006-a628-5705c24a3644}*SharedItemsImports = 4
NovetusCore\NovetusCore.projitems*{bac99c87-f6c1-4ed0-aa2e-05c6ae8979ea}*SharedItemsImports = 4
NovetusCore\NovetusCore.projitems*{debcc57d-9a3b-4d7c-8693-fa4aec56c8c1}*SharedItemsImports = 13
NovetusCore\NovetusCore.projitems*{f92ffbed-2767-4676-9711-bb89cda58a43}*SharedItemsImports = 4
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution

View File

@ -1,6 +1,6 @@
#region Usings
using System;
using System.IO;
using System.Diagnostics;
using System.Linq;
#endregion
namespace NovetusCMD
@ -8,81 +8,9 @@ namespace NovetusCMD
#region LocalFuncs
public class LocalFuncs
{
public static async void CreateTXT()
public static bool ProcessExists(int id)
{
if (LocalVars.RequestToOutputInfo)
{
string IP = await SecurityFuncs.GetExternalIPAddressAsync();
string[] lines1 = {
SecurityFuncs.Base64Encode(IP),
SecurityFuncs.Base64Encode(GlobalVars.UserConfiguration.RobloxPort.ToString()),
SecurityFuncs.Base64Encode(GlobalVars.UserConfiguration.SelectedClient)
};
string URI = "novetus://" + SecurityFuncs.Base64Encode(string.Join("|", lines1, true));
string[] lines2 = {
SecurityFuncs.Base64Encode("localhost"),
SecurityFuncs.Base64Encode(GlobalVars.UserConfiguration.RobloxPort.ToString()),
SecurityFuncs.Base64Encode(GlobalVars.UserConfiguration.SelectedClient)
};
string URI2 = "novetus://" + SecurityFuncs.Base64Encode(string.Join("|", lines2, true));
string text = GlobalFuncs.MultiLine(
"Process ID: " + (LocalVars.ProcessID == 0 ? "N/A" : LocalVars.ProcessID.ToString()),
"Don't copy the Process ID when sharing the server.",
"--------------------",
"Server Info:",
"Client: " + GlobalVars.UserConfiguration.SelectedClient,
"IP: " + IP,
"Port: " + GlobalVars.UserConfiguration.RobloxPort.ToString(),
"Map: " + GlobalVars.UserConfiguration.Map,
"Players: " + GlobalVars.UserConfiguration.PlayerLimit,
"Version: Novetus " + GlobalVars.ProgramInformation.Version,
"Online URI Link:",
URI,
"Local URI Link:",
URI2,
GlobalVars.IsWebServerOn ? "Web Server URL:" : "",
GlobalVars.IsWebServerOn ? "http://" + IP + ":" + GlobalVars.WebServer.Port.ToString() : "",
GlobalVars.IsWebServerOn ? "Local Web Server URL:" : "",
GlobalVars.IsWebServerOn ? GlobalVars.LocalWebServerURI : ""
);
File.WriteAllText(GlobalPaths.BasePath + "\\" + LocalVars.ServerInfoFileName, GlobalFuncs.RemoveEmptyLines(text));
ConsolePrint("Server Information sent to file " + GlobalPaths.BasePath + "\\" + LocalVars.ServerInfoFileName, 4);
}
}
public static void ConsolePrint(string text, int type)
{
ConsoleText("[" + DateTime.Now.ToShortTimeString() + "] - ", ConsoleColor.White);
switch (type)
{
case 2:
ConsoleText(text, ConsoleColor.Red);
break;
case 3:
ConsoleText(text, ConsoleColor.Green);
break;
case 4:
ConsoleText(text, ConsoleColor.Cyan);
break;
case 5:
ConsoleText(text, ConsoleColor.Yellow);
break;
case 1:
default:
ConsoleText(text, ConsoleColor.White);
break;
}
ConsoleText(Environment.NewLine, ConsoleColor.White);
}
public static void ConsoleText(string text, ConsoleColor color)
{
Console.ForegroundColor = color;
Console.Write(text);
return Process.GetProcesses().Any(x => x.Id == id);
}
}
#endregion

View File

@ -5,11 +5,8 @@
{
public static bool StartInNo3D = false;
public static bool OverrideINI = false;
public static bool RequestToOutputInfo = false;
public static bool DebugMode = false;
public static bool NoWebServer = false;
public static string ServerInfoFileName = "serverinfo.txt";
public static int ProcessID = 0;
}
#endregion
}

View File

@ -18,11 +18,11 @@ namespace NovetusCMD
try
{
NetFuncs.InitUPnP(DeviceFound,DeviceLost);
LocalFuncs.ConsolePrint("UPnP: Service initialized", 3);
GlobalFuncs.ConsolePrint("UPnP: Service initialized", 3);
}
catch (Exception ex)
{
LocalFuncs.ConsolePrint("UPnP: Unable to initialize NetFuncs. Reason - " + ex.Message, 2);
GlobalFuncs.ConsolePrint("UPnP: Unable to initialize NetFuncs. Reason - " + ex.Message, 2);
}
}
}
@ -34,11 +34,11 @@ namespace NovetusCMD
try
{
NetFuncs.StartUPnP(device,protocol,port);
LocalFuncs.ConsolePrint("UPnP: Port " + port + " opened on '" + device.GetExternalIP() + "' (" + protocol.ToString() + ")", 3);
GlobalFuncs.ConsolePrint("UPnP: Port " + port + " opened on '" + device.GetExternalIP() + "' (" + protocol.ToString() + ")", 3);
}
catch (Exception ex)
{
LocalFuncs.ConsolePrint("UPnP: Unable to open port mapping. Reason - " + ex.Message, 2);
GlobalFuncs.ConsolePrint("UPnP: Unable to open port mapping. Reason - " + ex.Message, 2);
}
}
}
@ -50,11 +50,11 @@ namespace NovetusCMD
try
{
NetFuncs.StopUPnP(device,protocol,port);
LocalFuncs.ConsolePrint("UPnP: Port " + port + " closed on '" + device.GetExternalIP() + "' (" + protocol.ToString() + ")", 3);
GlobalFuncs.ConsolePrint("UPnP: Port " + port + " closed on '" + device.GetExternalIP() + "' (" + protocol.ToString() + ")", 3);
}
catch (Exception ex)
{
LocalFuncs.ConsolePrint("UPnP: Unable to close port mapping. Reason - " + ex.Message, 2);
GlobalFuncs.ConsolePrint("UPnP: Unable to close port mapping. Reason - " + ex.Message, 2);
}
}
}
@ -64,7 +64,7 @@ namespace NovetusCMD
try
{
INatDevice device = args.Device;
LocalFuncs.ConsolePrint("UPnP: Device '" + device.GetExternalIP() + "' registered.", 3);
GlobalFuncs.ConsolePrint("UPnP: Device '" + device.GetExternalIP() + "' registered.", 3);
StartUPnP(device, Protocol.Udp, GlobalVars.UserConfiguration.RobloxPort);
StartUPnP(device, Protocol.Tcp, GlobalVars.UserConfiguration.RobloxPort);
StartUPnP(device, Protocol.Udp, GlobalVars.WebServerPort);
@ -72,7 +72,7 @@ namespace NovetusCMD
}
catch (Exception ex)
{
LocalFuncs.ConsolePrint("UPnP: Unable to register device. Reason - " + ex.Message, 2);
GlobalFuncs.ConsolePrint("UPnP: Unable to register device. Reason - " + ex.Message, 2);
}
}
@ -81,7 +81,7 @@ namespace NovetusCMD
try
{
INatDevice device = args.Device;
LocalFuncs.ConsolePrint("UPnP: Device '" + device.GetExternalIP() + "' disconnected.", 3);
GlobalFuncs.ConsolePrint("UPnP: Device '" + device.GetExternalIP() + "' disconnected.", 3);
StopUPnP(device, Protocol.Udp, GlobalVars.UserConfiguration.RobloxPort);
StopUPnP(device, Protocol.Tcp, GlobalVars.UserConfiguration.RobloxPort);
StopUPnP(device, Protocol.Udp, GlobalVars.WebServerPort);
@ -89,7 +89,7 @@ namespace NovetusCMD
}
catch (Exception ex)
{
LocalFuncs.ConsolePrint("UPnP: Unable to disconnect device. Reason - " + ex.Message, 2);
GlobalFuncs.ConsolePrint("UPnP: Unable to disconnect device. Reason - " + ex.Message, 2);
}
}
#endregion
@ -102,16 +102,16 @@ namespace NovetusCMD
try
{
GlobalVars.WebServer = new SimpleHTTPServer(GlobalPaths.ServerDir, GlobalVars.WebServerPort);
LocalFuncs.ConsolePrint("WebServer: Server is running on port: " + GlobalVars.WebServer.Port.ToString(), 3);
GlobalFuncs.ConsolePrint("WebServer: Server is running on port: " + GlobalVars.WebServer.Port.ToString(), 3);
}
catch (Exception ex)
{
LocalFuncs.ConsolePrint("WebServer: Failed to launch WebServer. Some features may not function. (" + ex.Message + ")", 2);
GlobalFuncs.ConsolePrint("WebServer: Failed to launch WebServer. Some features may not function. (" + ex.Message + ")", 2);
}
}
else
{
LocalFuncs.ConsolePrint("WebServer: Failed to launch WebServer. Some features may not function. (Did not run as Administrator)", 2);
GlobalFuncs.ConsolePrint("WebServer: Failed to launch WebServer. Some features may not function. (Did not run as Administrator)", 2);
}
}
@ -121,17 +121,17 @@ namespace NovetusCMD
{
try
{
LocalFuncs.ConsolePrint("WebServer: Server has stopped on port: " + GlobalVars.WebServer.Port.ToString(), 2);
GlobalFuncs.ConsolePrint("WebServer: Server has stopped on port: " + GlobalVars.WebServer.Port.ToString(), 2);
GlobalVars.WebServer.Stop();
}
catch (Exception ex)
{
LocalFuncs.ConsolePrint("WebServer: Failed to stop WebServer. Some features may not function. (" + ex.Message + ")", 2);
GlobalFuncs.ConsolePrint("WebServer: Failed to stop WebServer. Some features may not function. (" + ex.Message + ")", 2);
}
}
else
{
LocalFuncs.ConsolePrint("WebServer: Failed to stop WebServer. Some features may not function. (Did not run as Administrator)", 2);
GlobalFuncs.ConsolePrint("WebServer: Failed to stop WebServer. Some features may not function. (Did not run as Administrator)", 2);
}
}
#endregion
@ -140,13 +140,13 @@ namespace NovetusCMD
static void WriteConfigValues()
{
GlobalFuncs.Config(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName, true);
LocalFuncs.ConsolePrint("Config Saved.", 3);
GlobalFuncs.ConsolePrint("Config Saved.", 3);
}
static void ReadConfigValues()
{
GlobalFuncs.Config(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName, false);
LocalFuncs.ConsolePrint("Config loaded.", 3);
GlobalFuncs.ConsolePrint("Config loaded.", 3);
ReadClientValues(GlobalVars.UserConfiguration.SelectedClient);
}
@ -156,14 +156,14 @@ namespace NovetusCMD
if (!File.Exists(clientpath))
{
LocalFuncs.ConsolePrint("ERROR - No clientinfo.nov detected with the client you chose. The client either cannot be loaded, or it is not available.", 2);
GlobalFuncs.ConsolePrint("ERROR - No clientinfo.nov detected with the client you chose. The client either cannot be loaded, or it is not available.", 2);
GlobalVars.UserConfiguration.SelectedClient = GlobalVars.ProgramInformation.DefaultClient;
ReadClientValues(ClientName);
}
else
{
GlobalFuncs.ReadClientValues(clientpath);
LocalFuncs.ConsolePrint("Client '" + GlobalVars.UserConfiguration.SelectedClient + "' successfully loaded.", 3);
GlobalFuncs.ConsolePrint("Client '" + GlobalVars.UserConfiguration.SelectedClient + "' successfully loaded.", 3);
}
}
#endregion
@ -174,29 +174,29 @@ namespace NovetusCMD
GlobalFuncs.ReadInfoFile(GlobalPaths.ConfigDir + "\\" + GlobalPaths.InfoName, true);
Console.Title = "Novetus " + GlobalVars.ProgramInformation.Version + " CMD";
LocalFuncs.ConsolePrint("NovetusCMD version " + GlobalVars.ProgramInformation.Version + " loaded.", 1);
LocalFuncs.ConsolePrint("Novetus path: " + GlobalPaths.BasePath, 1);
GlobalFuncs.ConsolePrint("NovetusCMD version " + GlobalVars.ProgramInformation.Version + " loaded.", 1);
GlobalFuncs.ConsolePrint("Novetus path: " + GlobalPaths.BasePath, 1);
if (args.Length == 0)
{
LocalFuncs.ConsolePrint("Help: Command Line Arguments", 3);
LocalFuncs.ConsolePrint("---------", 1);
LocalFuncs.ConsolePrint("General", 3);
LocalFuncs.ConsolePrint("-no3d | Launches server in NoGraphics mode", 4);
LocalFuncs.ConsolePrint("-script <path to script> | Loads an additional server script.", 4);
LocalFuncs.ConsolePrint("-outputinfo | Outputs all information about the running server to a text file.", 4);
LocalFuncs.ConsolePrint("-overrideconfig | Override the launcher settings.", 4);
LocalFuncs.ConsolePrint("-debug | Disables launching of the server for debugging purposes.", 4);
LocalFuncs.ConsolePrint("-nowebserver | Disables launching of the web server.", 4);
LocalFuncs.ConsolePrint("---------", 1);
LocalFuncs.ConsolePrint("Custom server options", 3);
LocalFuncs.ConsolePrint("-overrideconfig must be added in order for the below commands to function.", 5);
LocalFuncs.ConsolePrint("-upnp | Turns on NetFuncs.", 4);
LocalFuncs.ConsolePrint("-map <map filename> | Sets the map.", 4);
LocalFuncs.ConsolePrint("-client <client name> | Sets the client.", 4);
LocalFuncs.ConsolePrint("-port <port number> | Sets the server port.", 4);
LocalFuncs.ConsolePrint("-maxplayers <number of players> | Sets the number of players.", 4);
LocalFuncs.ConsolePrint("---------", 1);
GlobalFuncs.ConsolePrint("Help: Command Line Arguments", 3);
GlobalFuncs.ConsolePrint("---------", 1);
GlobalFuncs.ConsolePrint("General", 3);
GlobalFuncs.ConsolePrint("-no3d | Launches server in NoGraphics mode", 4);
GlobalFuncs.ConsolePrint("-script <path to script> | Loads an additional server script.", 4);
GlobalFuncs.ConsolePrint("-outputinfo | Outputs all information about the running server to a text file.", 4);
GlobalFuncs.ConsolePrint("-overrideconfig | Override the launcher settings.", 4);
GlobalFuncs.ConsolePrint("-debug | Disables launching of the server for debugging purposes.", 4);
GlobalFuncs.ConsolePrint("-nowebserver | Disables launching of the web server.", 4);
GlobalFuncs.ConsolePrint("---------", 1);
GlobalFuncs.ConsolePrint("Custom server options", 3);
GlobalFuncs.ConsolePrint("-overrideconfig must be added in order for the below commands to function.", 5);
GlobalFuncs.ConsolePrint("-upnp | Turns on NetFuncs.", 4);
GlobalFuncs.ConsolePrint("-map <map filename> | Sets the map.", 4);
GlobalFuncs.ConsolePrint("-client <client name> | Sets the client.", 4);
GlobalFuncs.ConsolePrint("-port <port number> | Sets the server port.", 4);
GlobalFuncs.ConsolePrint("-maxplayers <number of players> | Sets the number of players.", 4);
GlobalFuncs.ConsolePrint("---------", 1);
}
else
{
@ -205,18 +205,18 @@ namespace NovetusCMD
if (CommandLine["no3d"] != null)
{
LocalVars.StartInNo3D = true;
LocalFuncs.ConsolePrint("NovetusCMD will now launch the server in No3D mode.", 4);
GlobalFuncs.ConsolePrint("NovetusCMD will now launch the server in No3D mode.", 4);
}
if (CommandLine["overrideconfig"] != null)
{
LocalVars.OverrideINI = true;
LocalFuncs.ConsolePrint("NovetusCMD will no longer grab values from the INI file.", 4);
GlobalFuncs.ConsolePrint("NovetusCMD will no longer grab values from the INI file.", 4);
if (CommandLine["upnp"] != null)
{
GlobalVars.UserConfiguration.UPnP = true;
LocalFuncs.ConsolePrint("NovetusCMD will now use UPnP for port forwarding.", 4);
GlobalFuncs.ConsolePrint("NovetusCMD will now use UPnP for port forwarding.", 4);
}
if (CommandLine["map"] != null)
@ -225,7 +225,7 @@ namespace NovetusCMD
}
else
{
LocalFuncs.ConsolePrint("NovetusCMD will launch the server with the default map.", 4);
GlobalFuncs.ConsolePrint("NovetusCMD will launch the server with the default map.", 4);
}
if (CommandLine["client"] != null)
@ -234,7 +234,7 @@ namespace NovetusCMD
}
else
{
LocalFuncs.ConsolePrint("NovetusCMD will launch the server with the default client.", 4);
GlobalFuncs.ConsolePrint("NovetusCMD will launch the server with the default client.", 4);
}
if (CommandLine["port"] != null)
@ -250,7 +250,7 @@ namespace NovetusCMD
if (CommandLine["outputinfo"] != null)
{
LocalVars.RequestToOutputInfo = true;
GlobalVars.RequestToOutputInfo = true;
}
if (CommandLine["debug"] != null)
@ -268,22 +268,22 @@ namespace NovetusCMD
if (CommandLine["script"].Contains("rbxasset:") || CommandLine["script"].Contains("http:"))
{
GlobalPaths.AddonScriptPath = CommandLine["script"].Replace(@"\", @"\\");
LocalFuncs.ConsolePrint("NovetusCMD detected a custom script. Loading " + GlobalPaths.AddonScriptPath, 4);
GlobalFuncs.ConsolePrint("NovetusCMD detected a custom script. Loading " + GlobalPaths.AddonScriptPath, 4);
}
else
{
LocalFuncs.ConsolePrint("NovetusCMD cannot load '" + CommandLine["script"] + "' as it doesn't use a rbxasset path or URL.", 2);
GlobalFuncs.ConsolePrint("NovetusCMD cannot load '" + CommandLine["script"] + "' as it doesn't use a rbxasset path or URL.", 2);
}
}
}
if (!LocalVars.OverrideINI)
{
LocalFuncs.ConsolePrint("NovetusCMD is now loading all server configurations from the INI file.", 5);
GlobalFuncs.ConsolePrint("NovetusCMD is now loading all server configurations from the INI file.", 5);
if (!File.Exists(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName))
{
LocalFuncs.ConsolePrint("WARNING 2 - " + GlobalPaths.ConfigName + " not found. Creating one with default values.", 5);
GlobalFuncs.ConsolePrint("WARNING 2 - " + GlobalPaths.ConfigName + " not found. Creating one with default values.", 5);
WriteConfigValues();
}
@ -303,7 +303,7 @@ namespace NovetusCMD
AppDomain.CurrentDomain.ProcessExit += new EventHandler(ProgramClose);
LocalFuncs.ConsolePrint("Launching a " + GlobalVars.UserConfiguration.SelectedClient + " server on " + GlobalVars.UserConfiguration.Map + " with " + GlobalVars.UserConfiguration.PlayerLimit + " players.", 1);
GlobalFuncs.ConsolePrint("Launching a " + GlobalVars.UserConfiguration.SelectedClient + " server on " + GlobalVars.UserConfiguration.Map + " with " + GlobalVars.UserConfiguration.PlayerLimit + " players.", 1);
if (!LocalVars.DebugMode)
{
@ -311,7 +311,7 @@ namespace NovetusCMD
}
else
{
LocalFuncs.CreateTXT();
GlobalFuncs.CreateTXT();
}
Console.ReadKey();
}
@ -323,11 +323,11 @@ namespace NovetusCMD
{
StopWebServer();
}
if (LocalVars.ProcessID != 0)
if (GlobalVars.ProcessID != 0)
{
if (GlobalFuncs.ProcessExists(LocalVars.ProcessID))
if (LocalFuncs.ProcessExists(GlobalVars.ProcessID))
{
Process proc = Process.GetProcessById(LocalVars.ProcessID);
Process proc = Process.GetProcessById(GlobalVars.ProcessID);
proc.Kill();
}
}
@ -337,69 +337,7 @@ namespace NovetusCMD
#region Client Loading (TODO MAKE THIS METHOD GLOBAL)
static void StartServer(bool no3d)
{
string luafile = "";
if (!GlobalVars.SelectedClientInfo.Fix2007)
{
luafile = "rbxasset://scripts\\\\" + GlobalPaths.ScriptName + ".lua";
}
else
{
luafile = GlobalPaths.ClientDir + @"\\" + GlobalVars.UserConfiguration.SelectedClient + @"\\content\\scripts\\" + GlobalPaths.ScriptGenName + ".lua";
}
string mapfile = GlobalVars.UserConfiguration.MapPath;
string rbxexe = "";
if (GlobalVars.SelectedClientInfo.LegacyMode)
{
rbxexe = GlobalPaths.ClientDir + @"\\" + GlobalVars.UserConfiguration.SelectedClient + @"\\RobloxApp.exe";
}
else
{
rbxexe = GlobalPaths.ClientDir + @"\\" + GlobalVars.UserConfiguration.SelectedClient + @"\\RobloxApp_server.exe";
}
string quote = "\"";
string args = "";
if (GlobalVars.SelectedClientInfo.CommandLineArgs.Equals("%args%"))
{
if (!GlobalVars.SelectedClientInfo.Fix2007)
{
args = quote + mapfile + "\" -script \"" + GlobalFuncs.ChangeGameSettings() + " dofile('" + luafile + "'); " + ScriptFuncs.Generator.GetScriptFuncForType(ScriptType.Server) + "; " + (!string.IsNullOrWhiteSpace(GlobalPaths.AddonScriptPath) ? "dofile('" + GlobalPaths.AddonScriptPath + "');" : "") + quote + (no3d ? " -no3d" : "");
}
else
{
ScriptFuncs.Generator.GenerateScriptForClient(ScriptType.Server);
args = "-script " + quote + luafile + quote + (no3d ? " -no3d" : "") + " " + quote + mapfile + quote;
}
}
else
{
if (!no3d)
{
args = ScriptFuncs.ClientScript.CompileScript(GlobalVars.SelectedClientInfo.CommandLineArgs, "<server>", "</server>", mapfile, luafile, rbxexe);
}
else
{
args = ScriptFuncs.ClientScript.CompileScript(GlobalVars.SelectedClientInfo.CommandLineArgs, "<no3d>", "</no3d>", mapfile, luafile, rbxexe);
}
}
try
{
LocalFuncs.ConsolePrint("Server Loaded.", 4);
Process client = new Process();
client.StartInfo.FileName = rbxexe;
client.StartInfo.Arguments = args;
client.EnableRaisingEvents = true;
ReadClientValues(GlobalVars.UserConfiguration.SelectedClient);
client.Exited += new EventHandler(ServerExited);
client.Start();
client.PriorityClass = ProcessPriorityClass.RealTime;
SecurityFuncs.RenameWindow(client, ScriptType.Server, GlobalVars.UserConfiguration.Map);
LocalVars.ProcessID = client.Id;
LocalFuncs.CreateTXT();
}
catch (Exception ex)
{
LocalFuncs.ConsolePrint("ERROR - Failed to launch Novetus. (" + ex.Message + ")", 2);
}
GlobalFuncs.LaunchRBXClient(ScriptType.Server, no3d, false, ServerExited);
}
static void ServerExited(object sender, EventArgs e)

View File

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>54856a61-1ee2-40c3-85ae-c54b8de7cc30</ProjectGuid>
<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
</PropertyGroup>
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.Common.Default.props" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.Common.props" />
<PropertyGroup />
<Import Project="NovetusFuncs.projitems" Label="Shared" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\CodeSharing\Microsoft.CodeSharing.CSharp.targets" />
</Project>

View File

@ -1,28 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
<HasSharedItems>true</HasSharedItems>
<SharedGUID>54856a61-1ee2-40c3-85ae-c54b8de7cc30</SharedGUID>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<Import_RootNamespace>NovetusCore</Import_RootNamespace>
</PropertyGroup>
<ItemGroup>
<Compile Include="$(MSBuildThisFileDirectory)CryptoRandom.cs" />
<Compile Include="$(MSBuildThisFileDirectory)FileFormat.cs" />
<Compile Include="$(MSBuildThisFileDirectory)GlobalPaths.cs" />
<Compile Include="$(MSBuildThisFileDirectory)GlobalVars.cs" />
<Compile Include="$(MSBuildThisFileDirectory)IDiscordRPC.cs" />
<Compile Include="$(MSBuildThisFileDirectory)INIFile.cs" />
<Compile Include="$(MSBuildThisFileDirectory)NETExt.cs" />
<Compile Include="$(MSBuildThisFileDirectory)NetFuncs.cs" />
<Compile Include="$(MSBuildThisFileDirectory)SimpleHTTPServer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ScriptFuncs.cs" />
<Compile Include="$(MSBuildThisFileDirectory)LauncherFuncs.cs" />
<Compile Include="$(MSBuildThisFileDirectory)SecurityFuncs.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Settings.cs" />
<Compile Include="$(MSBuildThisFileDirectory)TextLineRemover.cs" />
<Compile Include="$(MSBuildThisFileDirectory)VarStorage.cs" />
</ItemGroup>
</Project>

View File

@ -1,14 +1,13 @@
#region Usings
using System;
using System.Diagnostics;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Windows.Forms;
#endregion
namespace NovetusLauncher
{
#region Customization Functions
#region Customization Functions
class CustomizationFuncs
{
//modified from the following:
@ -129,6 +128,28 @@ namespace NovetusLauncher
return LoadImage(GlobalPaths.extradir + @"\\NoExtra.png");
}
}
//we launch the 3dview seperately from normal clients.
public static void Launch3DView()
{
GlobalFuncs.ReloadLoadoutValue();
string luafile = "rbxasset://scripts\\\\CSView.lua";
string mapfile = GlobalPaths.BasePathLauncher + "\\preview\\content\\fonts\\3DView.rbxl";
string rbxexe = GlobalPaths.BasePathLauncher + "\\preview\\3DView.exe";
string quote = "\"";
string args = quote + mapfile + "\" -script \"" + GlobalFuncs.ChangeGameSettings() + " dofile('" + luafile + "'); _G.CS3DView(0,'Player'," + GlobalVars.Loadout + ");" + quote;
try
{
Process client = new Process();
client.StartInfo.FileName = rbxexe;
client.StartInfo.Arguments = args;
client.Start();
client.PriorityClass = ProcessPriorityClass.RealTime;
}
catch (Exception ex)
{
MessageBox.Show("Failed to launch Novetus. (Error: " + ex.Message + ")", "Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
#endregion
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -8,9 +8,7 @@ using System.IO;
using System.Windows.Forms;
#endregion
namespace NovetusLauncher
{
#region CharacterCustomization - Extended
#region CharacterCustomization - Extended
public partial class CharacterCustomizationExtended : Form
{
#region Private Variables
@ -1374,31 +1372,6 @@ namespace NovetusLauncher
}
#endregion
#region Launch 3D View
void Button43Click(object sender, EventArgs e)
{
GlobalFuncs.ReloadLoadoutValue();
string luafile = "rbxasset://scripts\\\\CSView.lua";
string mapfile = GlobalPaths.BasePathLauncher + "\\preview\\content\\fonts\\3DView.rbxl";
string rbxexe = GlobalPaths.BasePathLauncher + "\\preview\\3DView.exe";
string quote = "\"";
string args = quote + mapfile + "\" -script \"" + GlobalFuncs.ChangeGameSettings() + " dofile('" + luafile + "'); _G.CS3DView(0,'Player'," + GlobalVars.Loadout + ");" + quote;
try
{
Process client = new Process();
client.StartInfo.FileName = rbxexe;
client.StartInfo.Arguments = args;
client.Start();
client.PriorityClass = ProcessPriorityClass.RealTime;
}
catch (Exception ex)
{
MessageBox.Show("Failed to launch Novetus. (Error: " + ex.Message + ")", "Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
#endregion
#region Icon
void Button52Click(object sender, EventArgs e)
{
@ -1507,6 +1480,11 @@ namespace NovetusLauncher
}
#endregion
void Button43Click(object sender, EventArgs e)
{
CustomizationFuncs.Launch3DView();
}
private void button71_Click(object sender, EventArgs e)
{
GlobalFuncs.Customization(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigNameCustomization, true);
@ -1520,4 +1498,3 @@ namespace NovetusLauncher
#endregion
}
#endregion
}

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>323f300a-3e26-43ca-a783-a0dae56cb842</ProjectGuid>
<ProjectGuid>debcc57d-9a3b-4d7c-8693-fa4aec56c8c1</ProjectGuid>
<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
</PropertyGroup>
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />

View File

@ -3,25 +3,35 @@
<PropertyGroup>
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
<HasSharedItems>true</HasSharedItems>
<SharedGUID>323f300a-3e26-43ca-a783-a0dae56cb842</SharedGUID>
<SharedGUID>debcc57d-9a3b-4d7c-8693-fa4aec56c8c1</SharedGUID>
</PropertyGroup>
<PropertyGroup Label="Configuration">
<Import_RootNamespace>NovetusCore</Import_RootNamespace>
</PropertyGroup>
<ItemGroup>
<Compile Include="$(MSBuildThisFileDirectory)CryptoRandom.cs" />
<Compile Include="$(MSBuildThisFileDirectory)FileFormat.cs" />
<Compile Include="$(MSBuildThisFileDirectory)GlobalPaths.cs" />
<Compile Include="$(MSBuildThisFileDirectory)GlobalVars.cs" />
<Compile Include="$(MSBuildThisFileDirectory)IDiscordRPC.cs" />
<Compile Include="$(MSBuildThisFileDirectory)GlobalFuncs.cs" />
<Compile Include="$(MSBuildThisFileDirectory)NETExt.cs" />
<Compile Include="$(MSBuildThisFileDirectory)NetFuncs.cs" />
<Compile Include="$(MSBuildThisFileDirectory)ScriptFuncs.cs" />
<Compile Include="$(MSBuildThisFileDirectory)SecurityFuncs.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Settings.cs" />
<Compile Include="$(MSBuildThisFileDirectory)SimpleHTTPServer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)TextLineRemover.cs" />
<Compile Include="$(MSBuildThisFileDirectory)VarStorage.cs" />
<Compile Include="$(MSBuildThisFileDirectory)CharCustom\CustomizationFuncs.cs" />
<Compile Include="$(MSBuildThisFileDirectory)CharCustom\IconLoader.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Classes\CryptoRandom.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Classes\FileFormat.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Classes\IDiscordRPC.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Classes\Settings.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Classes\SimpleHTTPServer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Classes\TextLineRemover.cs" />
<Compile Include="$(MSBuildThisFileDirectory)SDK\Downloader.cs" />
<Compile Include="$(MSBuildThisFileDirectory)SDK\RobloxXMLLocalizer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)SDK\SDKFuncs.cs" />
<Compile Include="$(MSBuildThisFileDirectory)StorageAndFunctions\GlobalFuncs.cs" />
<Compile Include="$(MSBuildThisFileDirectory)StorageAndFunctions\GlobalPaths.cs" />
<Compile Include="$(MSBuildThisFileDirectory)StorageAndFunctions\GlobalVars.cs" />
<Compile Include="$(MSBuildThisFileDirectory)StorageAndFunctions\NETExt.cs" />
<Compile Include="$(MSBuildThisFileDirectory)StorageAndFunctions\NetFuncs.cs" />
<Compile Include="$(MSBuildThisFileDirectory)StorageAndFunctions\ScriptFuncs.cs" />
<Compile Include="$(MSBuildThisFileDirectory)StorageAndFunctions\SecurityFuncs.cs" />
<Compile Include="$(MSBuildThisFileDirectory)StorageAndFunctions\VarStorage.cs" />
<Compile Include="$(MSBuildThisFileDirectory)WinForms\FormExt.cs" />
<Compile Include="$(MSBuildThisFileDirectory)WinForms\TabControlWithoutHeader.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="$(MSBuildThisFileDirectory)WinForms\TreeNodeHelper.cs" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,195 @@
partial class AssetLocalizer
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AssetLocalizer));
this.button1 = new System.Windows.Forms.Button();
this.comboBox1 = new System.Windows.Forms.ComboBox();
this.label2 = new System.Windows.Forms.Label();
this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
this.textBox1 = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.comboBox2 = new System.Windows.Forms.ComboBox();
this.label3 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.progressBar1 = new System.Windows.Forms.ProgressBar();
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(12, 120);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(254, 21);
this.button1.TabIndex = 0;
this.button1.Text = "Browse and Localize Asset";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// comboBox1
//
this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBox1.FormattingEnabled = true;
this.comboBox1.Items.AddRange(new object[] {
"RBXL",
"RBXM",
"Hat",
"Head",
"Face",
"Shirt",
"T-Shirt",
"Pants"});
this.comboBox1.Location = new System.Drawing.Point(81, 12);
this.comboBox1.Name = "comboBox1";
this.comboBox1.Size = new System.Drawing.Size(185, 21);
this.comboBox1.TabIndex = 1;
this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged);
//
// label2
//
this.label2.Location = new System.Drawing.Point(12, 144);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(254, 13);
this.label2.TabIndex = 3;
this.label2.Text = "Idle";
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// backgroundWorker1
//
this.backgroundWorker1.WorkerReportsProgress = true;
this.backgroundWorker1.WorkerSupportsCancellation = true;
this.backgroundWorker1.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorker1_DoWork);
this.backgroundWorker1.ProgressChanged += new System.ComponentModel.ProgressChangedEventHandler(this.backgroundWorker1_ProgressChanged);
this.backgroundWorker1.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.backgroundWorker1_RunWorkerCompleted);
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(140, 39);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(126, 20);
this.textBox1.TabIndex = 4;
this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(12, 42);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(125, 13);
this.label1.TabIndex = 5;
this.label1.Text = "Asset Name (Items Only):";
//
// comboBox2
//
this.comboBox2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBox2.FormattingEnabled = true;
this.comboBox2.Items.AddRange(new object[] {
"None"});
this.comboBox2.Location = new System.Drawing.Point(140, 65);
this.comboBox2.Name = "comboBox2";
this.comboBox2.Size = new System.Drawing.Size(126, 21);
this.comboBox2.TabIndex = 6;
this.comboBox2.SelectedIndexChanged += new System.EventHandler(this.comboBox2_SelectedIndexChanged);
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(12, 68);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(118, 13);
this.label3.TabIndex = 7;
this.label3.Text = "Uses Mesh (Hats Only):";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(12, 15);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(63, 13);
this.label4.TabIndex = 8;
this.label4.Text = "Asset Type:";
//
// progressBar1
//
this.progressBar1.Location = new System.Drawing.Point(12, 160);
this.progressBar1.Name = "progressBar1";
this.progressBar1.Size = new System.Drawing.Size(254, 16);
this.progressBar1.TabIndex = 9;
//
// checkBox1
//
this.checkBox1.AutoSize = true;
this.checkBox1.Location = new System.Drawing.Point(93, 97);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new System.Drawing.Size(96, 17);
this.checkBox1.TabIndex = 10;
this.checkBox1.Text = "Save Backups";
this.checkBox1.UseVisualStyleBackColor = true;
this.checkBox1.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged);
//
// AssetLocalizer
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.ClientSize = new System.Drawing.Size(278, 188);
this.Controls.Add(this.checkBox1);
this.Controls.Add(this.progressBar1);
this.Controls.Add(this.label4);
this.Controls.Add(this.label3);
this.Controls.Add(this.comboBox2);
this.Controls.Add(this.label1);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.label2);
this.Controls.Add(this.comboBox1);
this.Controls.Add(this.button1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.Name = "AssetLocalizer";
this.Text = "Novetus Asset Localizer";
this.Closing += new System.ComponentModel.CancelEventHandler(this.AssetLocalizer_Close);
this.Load += new System.EventHandler(this.AssetLocalizer_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button button1;
private System.Windows.Forms.ComboBox comboBox1;
private System.Windows.Forms.Label label2;
private System.ComponentModel.BackgroundWorker backgroundWorker1;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.ComboBox comboBox2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.ProgressBar progressBar1;
private System.Windows.Forms.CheckBox checkBox1;
}

View File

@ -5,9 +5,7 @@ using System.IO;
using System.Windows.Forms;
#endregion
namespace NovetusLauncher
{
#region Asset Localizer
#region Asset Localizer
public partial class AssetLocalizer : Form
{
#region Private Variables
@ -47,9 +45,9 @@ namespace NovetusLauncher
comboBox1.SelectedItem = "RBXL";
comboBox2.SelectedItem = "None";
if (Directory.Exists(LocalPaths.hatdirFonts))
if (Directory.Exists(GlobalPaths.hatdirFonts))
{
DirectoryInfo dinfo = new DirectoryInfo(LocalPaths.hatdirFonts);
DirectoryInfo dinfo = new DirectoryInfo(GlobalPaths.hatdirFonts);
FileInfo[] Files = dinfo.GetFiles("*.mesh");
foreach (FileInfo file in Files)
{
@ -62,7 +60,7 @@ namespace NovetusLauncher
}
}
LauncherFuncs.CreateAssetCacheDirectories();
GlobalFuncs.CreateAssetCacheDirectories();
}
// This event handler is where the time-consuming work is done.
@ -125,4 +123,3 @@ namespace NovetusLauncher
#endregion
}
#endregion
}

View File

@ -0,0 +1,72 @@
/*
* Created by SharpDevelop.
* User: BITL
* Date: 12/19/2018
* Time: 8:15 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
partial class ClientScriptDocumentation
{
/// <summary>
/// Designer variable used to keep track of non-visual components.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Disposes resources used by the form.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing)
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose(disposing);
}
/// <summary>
/// This method is required for Windows Forms designer support.
/// Do not change the method contents inside the source code editor. The Forms designer might
/// not be able to load this method if it was changed manually.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ClientScriptDocumentation));
this.richTextBox1 = new System.Windows.Forms.RichTextBox();
this.SuspendLayout();
//
// richTextBox1
//
this.richTextBox1.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.richTextBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.richTextBox1.Location = new System.Drawing.Point(0, 0);
this.richTextBox1.Name = "richTextBox1";
this.richTextBox1.ReadOnly = true;
this.richTextBox1.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.Vertical;
this.richTextBox1.Size = new System.Drawing.Size(648, 338);
this.richTextBox1.TabIndex = 0;
this.richTextBox1.Text = "";
//
// ClientScriptDocumentation
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.ClientSize = new System.Drawing.Size(648, 337);
this.Controls.Add(this.richTextBox1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.Name = "ClientScriptDocumentation";
this.Text = "ClientScript Documentation";
this.Load += new System.EventHandler(this.ClientScriptDocumentationLoad);
this.ResumeLayout(false);
}
private System.Windows.Forms.RichTextBox richTextBox1;
}

View File

@ -4,9 +4,7 @@ using System.Windows.Forms;
using System.IO;
#endregion
namespace NovetusLauncher
{
#region ClientScriptDocumentation
#region ClientScriptDocumentation
public partial class ClientScriptDocumentation : Form
{
#region Constructor
@ -24,4 +22,3 @@ namespace NovetusLauncher
#endregion
}
#endregion
}

File diff suppressed because it is too large Load Diff

View File

@ -5,9 +5,7 @@ using System.IO;
using System.Globalization;
#endregion
namespace NovetusLauncher
{
#region Client SDK
#region Client SDK
public partial class ClientinfoEditor : Form
{
#region Private Variables
@ -425,4 +423,3 @@ namespace NovetusLauncher
#endregion
}
#endregion
}

View File

@ -0,0 +1,150 @@
partial class DiogenesEditor
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DiogenesEditor));
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.newToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.loadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.richTextBox1 = new System.Windows.Forms.RichTextBox();
this.saveAsTextToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.menuStrip1.SuspendLayout();
this.SuspendLayout();
//
// menuStrip1
//
this.menuStrip1.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.fileToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(804, 24);
this.menuStrip1.TabIndex = 0;
this.menuStrip1.Text = "menuStrip1";
//
// fileToolStripMenuItem
//
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.newToolStripMenuItem,
this.loadToolStripMenuItem,
this.saveToolStripMenuItem,
this.saveAsTextToolStripMenuItem});
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
this.fileToolStripMenuItem.Text = "File";
//
// newToolStripMenuItem
//
this.newToolStripMenuItem.Name = "newToolStripMenuItem";
this.newToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.newToolStripMenuItem.Text = "New";
this.newToolStripMenuItem.Click += new System.EventHandler(this.NewToolStripMenuItemClick);
//
// loadToolStripMenuItem
//
this.loadToolStripMenuItem.Name = "loadToolStripMenuItem";
this.loadToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.loadToolStripMenuItem.Text = "Load";
this.loadToolStripMenuItem.Click += new System.EventHandler(this.LoadToolStripMenuItemClick);
//
// saveToolStripMenuItem
//
this.saveToolStripMenuItem.Name = "saveToolStripMenuItem";
this.saveToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.saveToolStripMenuItem.Text = "Save";
this.saveToolStripMenuItem.Click += new System.EventHandler(this.SaveToolStripMenuItemClick);
//
// richTextBox1
//
this.richTextBox1.Location = new System.Drawing.Point(2, 27);
this.richTextBox1.Name = "richTextBox1";
this.richTextBox1.Size = new System.Drawing.Size(800, 423);
this.richTextBox1.TabIndex = 1;
this.richTextBox1.Text = "";
//
// saveAsTextToolStripMenuItem
//
this.saveAsTextToolStripMenuItem.Name = "saveAsTextToolStripMenuItem";
this.saveAsTextToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.saveAsTextToolStripMenuItem.Text = "Save as Text File";
this.saveAsTextToolStripMenuItem.Click += new System.EventHandler(this.saveAsTextFileToolStripMenuItem_Click);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(630, 5);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(93, 13);
this.label1.TabIndex = 2;
this.label1.Text = "Diogenes Version:";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(729, 5);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(63, 13);
this.label2.TabIndex = 3;
this.label2.Text = "Not Loaded";
//
// DiogenesEditor
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.ClientSize = new System.Drawing.Size(804, 452);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Controls.Add(this.richTextBox1);
this.Controls.Add(this.menuStrip1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "DiogenesEditor";
this.Text = "Diogenes Editor";
this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.MenuStrip menuStrip1;
private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem newToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem loadToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem saveToolStripMenuItem;
private System.Windows.Forms.RichTextBox richTextBox1;
private System.Windows.Forms.ToolStripMenuItem saveAsTextToolStripMenuItem;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
}

View File

@ -5,9 +5,7 @@ using System.Text;
using System.Windows.Forms;
#endregion
namespace NovetusLauncher
{
#region Diogenes Editor
#region Diogenes Editor
public partial class DiogenesEditor : Form
{
#region Constructor
@ -115,4 +113,3 @@ namespace NovetusLauncher
#endregion
}
#endregion
}

View File

@ -0,0 +1,173 @@
/*
* Created by SharpDevelop.
* User: BITL
* Date: 10/31/2018
* Time: 11:55 AM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
partial class ItemMaker
{
/// <summary>
/// Designer variable used to keep track of non-visual components.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Disposes resources used by the form.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing)
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose(disposing);
}
/// <summary>
/// This method is required for Windows Forms designer support.
/// Do not change the method contents inside the source code editor. The Forms designer might
/// not be able to load this method if it was changed manually.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ItemMaker));
this.button1 = new System.Windows.Forms.Button();
this.textBox2 = new System.Windows.Forms.TextBox();
this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.comboBox1 = new System.Windows.Forms.ComboBox();
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.label1 = new System.Windows.Forms.Label();
this.textBox1 = new System.Windows.Forms.TextBox();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(3, 80);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(238, 23);
this.button1.TabIndex = 1;
this.button1.Text = "Create!";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.Button1Click);
//
// textBox2
//
this.textBox2.Location = new System.Drawing.Point(98, 25);
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(76, 20);
this.textBox2.TabIndex = 2;
//
// numericUpDown1
//
this.numericUpDown1.Location = new System.Drawing.Point(193, 25);
this.numericUpDown1.Maximum = new decimal(new int[] {
99,
0,
0,
0});
this.numericUpDown1.Name = "numericUpDown1";
this.numericUpDown1.Size = new System.Drawing.Size(36, 20);
this.numericUpDown1.TabIndex = 3;
//
// label2
//
this.label2.Location = new System.Drawing.Point(116, 9);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(41, 14);
this.label2.TabIndex = 6;
this.label2.Text = "Item ID";
//
// label3
//
this.label3.Location = new System.Drawing.Point(190, 9);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(42, 14);
this.label3.TabIndex = 7;
this.label3.Text = "Version";
this.label3.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// comboBox1
//
this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBox1.FormattingEnabled = true;
this.comboBox1.Items.AddRange(new object[] {
"http://www.roblox.com/",
"http://assetgame.roblox.com/",
"https://www.roblox.com/catalog/",
"https://www.roblox.com/library/"});
this.comboBox1.Location = new System.Drawing.Point(3, 53);
this.comboBox1.Name = "comboBox1";
this.comboBox1.Size = new System.Drawing.Size(238, 21);
this.comboBox1.TabIndex = 8;
this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.ComboBox1SelectedIndexChanged);
//
// checkBox1
//
this.checkBox1.Location = new System.Drawing.Point(12, 109);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new System.Drawing.Size(220, 24);
this.checkBox1.TabIndex = 9;
this.checkBox1.Text = "Disable Help Message on Item Creation";
this.checkBox1.UseVisualStyleBackColor = true;
this.checkBox1.CheckedChanged += new System.EventHandler(this.CheckBox1CheckedChanged);
//
// label1
//
this.label1.Location = new System.Drawing.Point(33, 9);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(35, 14);
this.label1.TabIndex = 11;
this.label1.Text = "Name";
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(12, 25);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(76, 20);
this.textBox1.TabIndex = 12;
//
// ItemMaker
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.ClientSize = new System.Drawing.Size(244, 136);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.label1);
this.Controls.Add(this.checkBox1);
this.Controls.Add(this.comboBox1);
this.Controls.Add(this.label3);
this.Controls.Add(this.label2);
this.Controls.Add(this.numericUpDown1);
this.Controls.Add(this.textBox2);
this.Controls.Add(this.button1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.Name = "ItemMaker";
this.Text = "Novetus Item SDK";
this.Load += new System.EventHandler(this.ItemMakerLoad);
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
private System.Windows.Forms.ComboBox comboBox1;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.NumericUpDown numericUpDown1;
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.CheckBox checkBox1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox textBox1;
}

View File

@ -3,9 +3,7 @@ using System;
using System.Windows.Forms;
#endregion
namespace NovetusLauncher
{
#region Item SDK
#region Item SDK
public partial class ItemMaker : Form
{
#region Private Variables
@ -64,4 +62,3 @@ namespace NovetusLauncher
#endregion
}
#endregion
}

View File

@ -0,0 +1,100 @@
partial class NovetusSDK
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(NovetusSDK));
this.pictureBox2 = new System.Windows.Forms.PictureBox();
this.label1 = new System.Windows.Forms.Label();
this.listBox1 = new System.Windows.Forms.ListBox();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
this.SuspendLayout();
//
// pictureBox2
//
this.pictureBox2.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("pictureBox2.BackgroundImage")));
this.pictureBox2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
this.pictureBox2.Location = new System.Drawing.Point(12, 12);
this.pictureBox2.Name = "pictureBox2";
this.pictureBox2.Size = new System.Drawing.Size(260, 52);
this.pictureBox2.TabIndex = 8;
this.pictureBox2.TabStop = false;
//
// label1
//
this.label1.Location = new System.Drawing.Point(12, 168);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(260, 16);
this.label1.TabIndex = 12;
this.label1.Text = "v1.0";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// listBox1
//
this.listBox1.FormattingEnabled = true;
this.listBox1.Items.AddRange(new object[] {
"Item SDK",
"Client SDK",
"ClientScript Documentation",
"Asset Localizer",
"Splash Tester",
"RBXMeshConverter GUI",
"ROBLOX Script Generator",
"ROBLOX Legacy Place Converter",
"Diogenes Editor"});
this.listBox1.Location = new System.Drawing.Point(12, 70);
this.listBox1.Name = "listBox1";
this.listBox1.Size = new System.Drawing.Size(260, 95);
this.listBox1.TabIndex = 14;
this.listBox1.DoubleClick += new System.EventHandler(this.listBox1_SelectedIndexChanged);
//
// NovetusSDK
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.ClientSize = new System.Drawing.Size(284, 193);
this.Controls.Add(this.listBox1);
this.Controls.Add(this.label1);
this.Controls.Add(this.pictureBox2);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.Name = "NovetusSDK";
this.Text = "Novetus SDK";
this.Load += new System.EventHandler(this.NovetusSDK_Load);
this.Closing += new System.ComponentModel.CancelEventHandler(this.NovetusSDK_Close);
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.PictureBox pictureBox2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.ListBox listBox1;
}

View File

@ -0,0 +1,89 @@
#region Usings
using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Windows.Forms;
#endregion
#region Novetus SDK Launcher
public partial class NovetusSDK : Form
{
#region Constructor
public NovetusSDK()
{
InitializeComponent();
}
#endregion
#region Form Events
private void NovetusSDK_Load(object sender, EventArgs e)
{
Text = "Novetus SDK " + GlobalVars.ProgramInformation.Version;
label1.Text = GlobalVars.ProgramInformation.Version;
}
private void NovetusSDK_Close(object sender, CancelEventArgs e)
{
GlobalFuncs.Config(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName, true);
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
LaunchSDKAppByIndex(listBox1.SelectedIndex);
}
#endregion
#region Functions
public static void LaunchSDKAppByIndex(int index)
{
SDKApps selectedApp = SDKFuncs.GetSDKAppForIndex(index);
switch (selectedApp)
{
case SDKApps.ClientSDK:
ClientinfoEditor cie = new ClientinfoEditor();
cie.Show();
break;
case SDKApps.ClientScriptDoc:
ClientScriptDocumentation csd = new ClientScriptDocumentation();
csd.Show();
break;
case SDKApps.AssetLocalizer:
AssetLocalizer al = new AssetLocalizer();
al.Show();
break;
case SDKApps.SplashTester:
SplashTester st = new SplashTester();
st.Show();
break;
case SDKApps.Obj2MeshV1GUI:
Obj2MeshV1GUI obj = new Obj2MeshV1GUI();
obj.Show();
break;
case SDKApps.ScriptGenerator:
Process proc = new Process();
proc.StartInfo.FileName = GlobalPaths.ConfigDirData + "\\RSG.exe";
proc.StartInfo.CreateNoWindow = false;
proc.StartInfo.UseShellExecute = false;
proc.Start();
break;
case SDKApps.LegacyPlaceConverter:
Process proc2 = new Process();
proc2.StartInfo.FileName = GlobalPaths.ConfigDirData + "\\Roblox_Legacy_Place_Converter.exe";
proc2.StartInfo.CreateNoWindow = false;
proc2.StartInfo.UseShellExecute = false;
proc2.Start();
break;
case SDKApps.DiogenesEditor:
DiogenesEditor dio = new DiogenesEditor();
dio.Show();
break;
default:
ItemMaker im = new ItemMaker();
im.Show();
break;
}
}
#endregion
}
#endregion

View File

@ -0,0 +1,125 @@
partial class Obj2MeshV1GUI
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Obj2MeshV1GUI));
this.button1 = new System.Windows.Forms.Button();
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();
//
// button1
//
this.button1.Location = new System.Drawing.Point(12, 34);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(239, 23);
this.button1.TabIndex = 0;
this.button1.Text = "Browse for mesh and convert...";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// label1
//
this.label1.AutoSize = true;
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;
this.label1.Text = "RBXMeshConverter built by coke.";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(64, 10);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(74, 13);
this.label2.TabIndex = 2;
this.label2.Text = "Mesh Version:";
//
// numericUpDown1
//
this.numericUpDown1.Location = new System.Drawing.Point(144, 8);
this.numericUpDown1.Maximum = new decimal(new int[] {
2,
0,
0,
0});
this.numericUpDown1.Minimum = new decimal(new int[] {
1,
0,
0,
0});
this.numericUpDown1.Name = "numericUpDown1";
this.numericUpDown1.Size = new System.Drawing.Size(56, 20);
this.numericUpDown1.TabIndex = 3;
this.numericUpDown1.Value = new decimal(new int[] {
1,
0,
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, 92);
this.Controls.Add(this.label4);
this.Controls.Add(this.numericUpDown1);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Controls.Add(this.button1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.Name = "Obj2MeshV1GUI";
this.Text = "RBXMeshConverter";
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button button1;
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

@ -0,0 +1,60 @@
#region Usings
using System;
using System.Diagnostics;
using System.IO;
using System.Windows.Forms;
#endregion
#region RBXMeshConverter GUI
public partial class Obj2MeshV1GUI : Form
{
#region Private Variables
private OpenFileDialog openFileDialog1;
#endregion
#region Constructor
public Obj2MeshV1GUI()
{
InitializeComponent();
openFileDialog1 = new OpenFileDialog()
{
FileName = "Select a .OBJ file",
Filter = "Wavefront .obj file (*.obj)|*.obj",
Title = "Open model .obj"
};
}
#endregion
#region Form Events
private void button1_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
ProcessOBJ(GlobalPaths.ConfigDirData + "\\RBXMeshConverter.exe", openFileDialog1.FileName);
}
}
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 = 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!");
}
#endregion
}
#endregion

View File

@ -0,0 +1,99 @@
/*
* Created by SharpDevelop.
* User: BITL-Gaming
* Date: 10/7/2016
* Time: 3:01 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
partial class SplashTester
{
/// <summary>
/// Designer variable used to keep track of non-visual components.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Disposes resources used by the form.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing)
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose(disposing);
}
/// <summary>
/// This method is required for Windows Forms designer support.
/// Do not change the method contents inside the source code editor. The Forms designer might
/// not be able to load this method if it was changed manually.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SplashTester));
this.label12 = new System.Windows.Forms.Label();
this.textBox1 = new System.Windows.Forms.TextBox();
this.Preview = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// label12
//
this.label12.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.label12.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.label12.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label12.ForeColor = System.Drawing.Color.Black;
this.label12.Location = new System.Drawing.Point(12, 22);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(261, 17);
this.label12.TabIndex = 0;
this.label12.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(12, 58);
this.textBox1.Multiline = true;
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(261, 39);
this.textBox1.TabIndex = 52;
this.textBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);
//
// Preview
//
this.Preview.AutoSize = true;
this.Preview.Location = new System.Drawing.Point(115, 9);
this.Preview.Name = "Preview";
this.Preview.Size = new System.Drawing.Size(45, 13);
this.Preview.TabIndex = 53;
this.Preview.Text = "Preview";
//
// SplashTester
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
this.ClientSize = new System.Drawing.Size(285, 109);
this.Controls.Add(this.Preview);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.label12);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.Name = "SplashTester";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Splash Tester";
this.ResumeLayout(false);
this.PerformLayout();
}
private System.Windows.Forms.Label label12;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Label Preview;
}

View File

@ -3,9 +3,7 @@ using System;
using System.Windows.Forms;
#endregion
namespace NovetusLauncher
{
#region Splash Tester
#region Splash Tester
public partial class SplashTester : Form
{
#region Constructor
@ -23,4 +21,3 @@ namespace NovetusLauncher
#endregion
}
#endregion
}

View File

@ -1,5 +1,4 @@
#region Usings
using NovetusLauncher;
using System;
using System.IO;
using System.Linq;
@ -35,8 +34,8 @@ public struct RobloxDefs
return new VarStorage.AssetCacheDef("SpecialMesh",
new string[] { "MeshId", "TextureId" },
new string[] { ".mesh", ".png" },
new string[] { LocalPaths.AssetCacheDirFonts, LocalPaths.AssetCacheDirTextures },
new string[] { LocalPaths.AssetCacheFontsGameDir, LocalPaths.AssetCacheTexturesGameDir });
new string[] { GlobalPaths.AssetCacheDirFonts, GlobalPaths.AssetCacheDirTextures },
new string[] { GlobalPaths.AssetCacheFontsGameDir, GlobalPaths.AssetCacheTexturesGameDir });
}
}
@ -47,8 +46,8 @@ public struct RobloxDefs
return new VarStorage.AssetCacheDef("Sky",
new string[] { "SkyboxBk", "SkyboxDn", "SkyboxFt", "SkyboxLf", "SkyboxRt", "SkyboxUp" },
new string[] { ".png" },
new string[] { LocalPaths.AssetCacheDirSky },
new string[] { LocalPaths.AssetCacheSkyGameDir });
new string[] { GlobalPaths.AssetCacheDirSky },
new string[] { GlobalPaths.AssetCacheSkyGameDir });
}
}
@ -59,8 +58,8 @@ public struct RobloxDefs
return new VarStorage.AssetCacheDef("Decal",
new string[] { "Texture" },
new string[] { ".png" },
new string[] { LocalPaths.AssetCacheDirTextures },
new string[] { LocalPaths.AssetCacheTexturesGameDir });
new string[] { GlobalPaths.AssetCacheDirTextures },
new string[] { GlobalPaths.AssetCacheTexturesGameDir });
}
}
@ -71,8 +70,8 @@ public struct RobloxDefs
return new VarStorage.AssetCacheDef("Texture",
new string[] { "Texture" },
new string[] { ".png" },
new string[] { LocalPaths.AssetCacheDirTextures },
new string[] { LocalPaths.AssetCacheTexturesGameDir });
new string[] { GlobalPaths.AssetCacheDirTextures },
new string[] { GlobalPaths.AssetCacheTexturesGameDir });
}
}
@ -83,8 +82,8 @@ public struct RobloxDefs
return new VarStorage.AssetCacheDef("HopperBin",
new string[] { "TextureId" },
new string[] { ".png" },
new string[] { LocalPaths.AssetCacheDirTextures },
new string[] { LocalPaths.AssetCacheTexturesGameDir });
new string[] { GlobalPaths.AssetCacheDirTextures },
new string[] { GlobalPaths.AssetCacheTexturesGameDir });
}
}
@ -95,8 +94,8 @@ public struct RobloxDefs
return new VarStorage.AssetCacheDef("Tool",
new string[] { "TextureId" },
new string[] { ".png" },
new string[] { LocalPaths.AssetCacheDirTextures },
new string[] { LocalPaths.AssetCacheTexturesGameDir });
new string[] { GlobalPaths.AssetCacheDirTextures },
new string[] { GlobalPaths.AssetCacheTexturesGameDir });
}
}
@ -107,8 +106,8 @@ public struct RobloxDefs
return new VarStorage.AssetCacheDef("Sound",
new string[] { "SoundId" },
new string[] { ".wav" },
new string[] { LocalPaths.AssetCacheDirSounds },
new string[] { LocalPaths.AssetCacheSoundsGameDir });
new string[] { GlobalPaths.AssetCacheDirSounds },
new string[] { GlobalPaths.AssetCacheSoundsGameDir });
}
}
@ -119,8 +118,8 @@ public struct RobloxDefs
return new VarStorage.AssetCacheDef("ImageLabel",
new string[] { "Image" },
new string[] { ".png" },
new string[] { LocalPaths.AssetCacheDirTextures },
new string[] { LocalPaths.AssetCacheTexturesGameDir });
new string[] { GlobalPaths.AssetCacheDirTextures },
new string[] { GlobalPaths.AssetCacheTexturesGameDir });
}
}
@ -131,8 +130,8 @@ public struct RobloxDefs
return new VarStorage.AssetCacheDef("Shirt",
new string[] { "ShirtTemplate" },
new string[] { ".png" },
new string[] { LocalPaths.AssetCacheDirTextures },
new string[] { LocalPaths.AssetCacheTexturesGameDir });
new string[] { GlobalPaths.AssetCacheDirTextures },
new string[] { GlobalPaths.AssetCacheTexturesGameDir });
}
}
@ -143,8 +142,8 @@ public struct RobloxDefs
return new VarStorage.AssetCacheDef("ShirtGraphic",
new string[] { "Graphic" },
new string[] { ".png" },
new string[] { LocalPaths.AssetCacheDirTextures },
new string[] { LocalPaths.AssetCacheTexturesGameDir });
new string[] { GlobalPaths.AssetCacheDirTextures },
new string[] { GlobalPaths.AssetCacheTexturesGameDir });
}
}
@ -155,8 +154,8 @@ public struct RobloxDefs
return new VarStorage.AssetCacheDef("Pants",
new string[] { "PantsTemplate" },
new string[] { ".png" },
new string[] { LocalPaths.AssetCacheDirTextures },
new string[] { LocalPaths.AssetCacheTexturesGameDir });
new string[] { GlobalPaths.AssetCacheDirTextures },
new string[] { GlobalPaths.AssetCacheTexturesGameDir });
}
}
@ -167,8 +166,8 @@ public struct RobloxDefs
return new VarStorage.AssetCacheDef("Script",
new string[] { "LinkedSource" },
new string[] { ".lua" },
new string[] { LocalPaths.AssetCacheDirScripts },
new string[] { LocalPaths.AssetCacheScriptsGameDir });
new string[] { GlobalPaths.AssetCacheDirScripts },
new string[] { GlobalPaths.AssetCacheScriptsGameDir });
}
}
@ -179,8 +178,8 @@ public struct RobloxDefs
return new VarStorage.AssetCacheDef("LocalScript",
new string[] { "LinkedSource" },
new string[] { ".lua" },
new string[] { LocalPaths.AssetCacheDirScripts },
new string[] { LocalPaths.AssetCacheScriptsGameDir });
new string[] { GlobalPaths.AssetCacheDirScripts },
new string[] { GlobalPaths.AssetCacheScriptsGameDir });
}
}
@ -192,8 +191,8 @@ public struct RobloxDefs
return new VarStorage.AssetCacheDef("SpecialMesh",
new string[] { "MeshId", "TextureId" },
new string[] { ".mesh", ".png" },
new string[] { LocalPaths.hatdirFonts, LocalPaths.hatdirTextures },
new string[] { LocalPaths.hatGameDirFonts, LocalPaths.hatGameDirTextures });
new string[] { GlobalPaths.hatdirFonts, GlobalPaths.hatdirTextures },
new string[] { GlobalPaths.hatGameDirFonts, GlobalPaths.hatGameDirTextures });
}
}
@ -204,8 +203,8 @@ public struct RobloxDefs
return new VarStorage.AssetCacheDef("Sound",
new string[] { "SoundId" },
new string[] { ".wav" },
new string[] { LocalPaths.hatdirSounds },
new string[] { LocalPaths.hatGameDirSounds });
new string[] { GlobalPaths.hatdirSounds },
new string[] { GlobalPaths.hatGameDirSounds });
}
}
@ -216,8 +215,8 @@ public struct RobloxDefs
return new VarStorage.AssetCacheDef("Script",
new string[] { "LinkedSource" },
new string[] { ".lua" },
new string[] { LocalPaths.hatdirScripts },
new string[] { LocalPaths.hatGameDirScripts });
new string[] { GlobalPaths.hatdirScripts },
new string[] { GlobalPaths.hatGameDirScripts });
}
}
@ -228,8 +227,8 @@ public struct RobloxDefs
return new VarStorage.AssetCacheDef("LocalScript",
new string[] { "LinkedSource" },
new string[] { ".lua" },
new string[] { LocalPaths.hatdirScripts },
new string[] { LocalPaths.hatGameDirScripts });
new string[] { GlobalPaths.hatdirScripts },
new string[] { GlobalPaths.hatGameDirScripts });
}
}
@ -240,8 +239,8 @@ public struct RobloxDefs
return new VarStorage.AssetCacheDef("SpecialMesh",
new string[] { "MeshId", "TextureId" },
new string[] { ".mesh", ".png" },
new string[] { LocalPaths.headdirFonts, LocalPaths.headdirTextures },
new string[] { LocalPaths.headGameDirFonts, LocalPaths.headGameDirTextures });
new string[] { GlobalPaths.headdirFonts, GlobalPaths.headdirTextures },
new string[] { GlobalPaths.headGameDirFonts, GlobalPaths.headGameDirTextures });
}
}
@ -252,8 +251,8 @@ public struct RobloxDefs
return new VarStorage.AssetCacheDef("Decal",
new string[] { "Texture" },
new string[] { ".png" },
new string[] { LocalPaths.facedirTextures },
new string[] { LocalPaths.faceGameDirTextures });
new string[] { GlobalPaths.facedirTextures },
new string[] { GlobalPaths.faceGameDirTextures });
}
}
@ -264,8 +263,8 @@ public struct RobloxDefs
return new VarStorage.AssetCacheDef("Shirt",
new string[] { "ShirtTemplate" },
new string[] { ".png" },
new string[] { LocalPaths.shirtdirTextures },
new string[] { LocalPaths.shirtGameDirTextures });
new string[] { GlobalPaths.shirtdirTextures },
new string[] { GlobalPaths.shirtGameDirTextures });
}
}
@ -276,8 +275,8 @@ public struct RobloxDefs
return new VarStorage.AssetCacheDef("ShirtGraphic",
new string[] { "Graphic" },
new string[] { ".png" },
new string[] { LocalPaths.tshirtdirTextures },
new string[] { LocalPaths.tshirtGameDirTextures });
new string[] { GlobalPaths.tshirtdirTextures },
new string[] { GlobalPaths.tshirtGameDirTextures });
}
}
@ -288,8 +287,8 @@ public struct RobloxDefs
return new VarStorage.AssetCacheDef("Pants",
new string[] { "PantsTemplate" },
new string[] { ".png" },
new string[] { LocalPaths.pantsdirTextures },
new string[] { LocalPaths.pantsGameDirTextures });
new string[] { GlobalPaths.pantsdirTextures },
new string[] { GlobalPaths.pantsGameDirTextures });
}
}
}

View File

@ -0,0 +1,610 @@
#region Usings
using System;
using System.ComponentModel;
using System.Diagnostics;
using System.IO;
using System.Security.Policy;
using System.Text;
using System.Windows.Forms;
#endregion
#region SDKApps
enum SDKApps
{
ItemSDK = 0,
ClientSDK = 1,
ClientScriptDoc = 2,
AssetLocalizer = 3,
SplashTester = 4,
Obj2MeshV1GUI = 5,
ScriptGenerator = 6,
LegacyPlaceConverter = 7,
DiogenesEditor = 8
}
#endregion
#region SDK Functions
class SDKFuncs
{
#region Asset Localizer
public static OpenFileDialog LoadROBLOXFileDialog(RobloxFileType type)
{
OpenFileDialog openFileDialog1 = new OpenFileDialog
{
Filter = (type == RobloxFileType.RBXL) ? "ROBLOX Level (*.rbxl)|*.rbxl" : "ROBLOX Model (*.rbxm)|*.rbxm",
Title = "Open ROBLOX level or model"
};
return openFileDialog1;
}
public static RobloxFileType SelectROBLOXFileType(int index)
{
RobloxFileType type;
switch (index)
{
case 1:
type = RobloxFileType.RBXM;
break;
case 2:
type = RobloxFileType.Hat;
break;
case 3:
type = RobloxFileType.Head;
break;
case 4:
type = RobloxFileType.Face;
break;
case 5:
type = RobloxFileType.Shirt;
break;
case 6:
type = RobloxFileType.TShirt;
break;
case 7:
type = RobloxFileType.Pants;
break;
default:
type = RobloxFileType.RBXL;
break;
}
return type;
}
public static string GetProgressString(RobloxFileType type, int percent)
{
string progressString = "";
switch (type)
{
case RobloxFileType.RBXL:
switch (percent)
{
case 0:
progressString = "Backing up RBXL...";
break;
case 5:
progressString = "Downloading RBXL Meshes and Textures...";
break;
case 10:
progressString = "Downloading RBXL Skybox Textures...";
break;
case 15:
progressString = "Downloading RBXL Decal Textures...";
break;
case 20:
progressString = "Downloading RBXL Textures...";
break;
case 25:
progressString = "Downloading RBXL Tool Textures...";
break;
case 30:
progressString = "Downloading RBXL HopperBin Textures...";
break;
case 40:
progressString = "Downloading RBXL Sounds...";
break;
case 50:
progressString = "Downloading RBXL GUI Textures...";
break;
case 60:
progressString = "Downloading RBXL Shirt Textures...";
break;
case 65:
progressString = "Downloading RBXL T-Shirt Textures...";
break;
case 70:
progressString = "Downloading RBXL Pants Textures...";
break;
case 80:
progressString = "Downloading RBXL Linked Scripts...";
break;
case 90:
progressString = "Downloading RBXL Linked LocalScripts...";
break;
}
break;
case RobloxFileType.RBXM:
switch (percent)
{
case 0:
progressString = "Downloading RBXL Meshes and Textures...";
break;
case 10:
progressString = "Downloading RBXL Skybox Textures...";
break;
case 15:
progressString = "Downloading RBXL Decal Textures...";
break;
case 20:
progressString = "Downloading RBXL Textures...";
break;
case 25:
progressString = "Downloading RBXL Tool Textures...";
break;
case 30:
progressString = "Downloading RBXL HopperBin Textures...";
break;
case 40:
progressString = "Downloading RBXL Sounds...";
break;
case 50:
progressString = "Downloading RBXL GUI Textures...";
break;
case 60:
progressString = "Downloading RBXL Shirt Textures...";
break;
case 65:
progressString = "Downloading RBXL T-Shirt Textures...";
break;
case 70:
progressString = "Downloading RBXL Pants Textures...";
break;
case 80:
progressString = "Downloading RBXL Linked Scripts...";
break;
case 90:
progressString = "Downloading RBXL Linked LocalScripts...";
break;
}
break;
case RobloxFileType.Hat:
switch (percent)
{
case 0:
progressString = "Downloading Hat Meshes and Textures...";
break;
case 25:
progressString = "Downloading Hat Sounds...";
break;
case 50:
progressString = "Downloading Hat Linked Scripts...";
break;
case 75:
progressString = "Downloading Hat Linked LocalScripts...";
break;
}
break;
case RobloxFileType.Head:
//meshes
switch (percent)
{
case 0:
progressString = "Downloading Head Meshes and Textures...";
break;
}
break;
case RobloxFileType.Face:
//decal
switch (percent)
{
case 0:
progressString = "Downloading Face Textures...";
break;
}
break;
case RobloxFileType.TShirt:
//texture
switch (percent)
{
case 0:
progressString = "Downloading T-Shirt Textures...";
break;
}
break;
case RobloxFileType.Shirt:
//texture
switch (percent)
{
case 0:
progressString = "Downloading Shirt Textures...";
break;
}
break;
case RobloxFileType.Pants:
//texture
switch (percent)
{
case 0:
progressString = "Downloading Pants Textures...";
break;
}
break;
default:
progressString = "Idle";
break;
}
return progressString + " " + percent.ToString() + "%";
}
public static void LocalizeAsset(RobloxFileType type, BackgroundWorker worker, string path, string itemname, string meshname)
{
try
{
switch (type)
{
case RobloxFileType.RBXL:
//backup the original copy
if (GlobalVars.UserConfiguration.AssetLocalizerSaveBackups)
{
try
{
worker.ReportProgress(0);
File.Copy(path, path.Replace(".rbxl", " BAK.rbxl"));
}
catch (Exception)
{
worker.ReportProgress(100);
}
}
else
{
worker.ReportProgress(0);
}
//meshes
worker.ReportProgress(5);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Fonts);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Fonts, 1, 1, 1, 1);
//skybox
worker.ReportProgress(10);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 1, 0, 0, 0);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 2, 0, 0, 0);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 3, 0, 0, 0);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 4, 0, 0, 0);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 5, 0, 0, 0);
//decal
worker.ReportProgress(15);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Decal);
//texture
worker.ReportProgress(20);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Texture);
//tools and hopperbin
worker.ReportProgress(25);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Tool);
worker.ReportProgress(30);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.HopperBin);
//sound
worker.ReportProgress(40);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sound);
worker.ReportProgress(50);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ImageLabel);
//clothing
worker.ReportProgress(60);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Shirt);
worker.ReportProgress(65);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ShirtGraphic);
worker.ReportProgress(70);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Pants);
//scripts
worker.ReportProgress(80);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Script);
worker.ReportProgress(90);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.LocalScript);
worker.ReportProgress(100);
break;
case RobloxFileType.RBXM:
if (GlobalVars.UserConfiguration.AssetLocalizerSaveBackups)
{
try
{
worker.ReportProgress(0);
File.Copy(path, path.Replace(".rbxm", " BAK.rbxm"));
}
catch (Exception)
{
worker.ReportProgress(100);
}
}
else
{
worker.ReportProgress(0);
}
//meshes
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Fonts);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Fonts, 1, 1, 1, 1);
//skybox
worker.ReportProgress(10);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 1, 0, 0, 0);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 2, 0, 0, 0);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 3, 0, 0, 0);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 4, 0, 0, 0);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 5, 0, 0, 0);
//decal
worker.ReportProgress(15);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Decal);
//texture
worker.ReportProgress(20);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Texture);
//tools and hopperbin
worker.ReportProgress(25);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Tool);
worker.ReportProgress(30);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.HopperBin);
//sound
worker.ReportProgress(40);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sound);
worker.ReportProgress(50);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ImageLabel);
//clothing
worker.ReportProgress(60);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Shirt);
worker.ReportProgress(65);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ShirtGraphic);
worker.ReportProgress(70);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Pants);
//scripts
worker.ReportProgress(80);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Script);
worker.ReportProgress(90);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.LocalScript);
worker.ReportProgress(100);
break;
case RobloxFileType.Hat:
if (GlobalVars.UserConfiguration.AssetLocalizerSaveBackups)
{
try
{
worker.ReportProgress(0);
File.Copy(path, path.Replace(".rbxm", " BAK.rbxm"));
}
catch (Exception)
{
worker.ReportProgress(100);
}
}
else
{
worker.ReportProgress(0);
}
//meshes
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemHatFonts, itemname, meshname);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemHatFonts, 1, 1, 1, 1, itemname);
worker.ReportProgress(25);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemHatSound);
//scripts
worker.ReportProgress(50);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemHatScript);
worker.ReportProgress(75);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemHatLocalScript);
worker.ReportProgress(100);
break;
case RobloxFileType.Head:
if (GlobalVars.UserConfiguration.AssetLocalizerSaveBackups)
{
try
{
worker.ReportProgress(0);
File.Copy(path, path.Replace(".rbxm", " BAK.rbxm"));
}
catch (Exception)
{
worker.ReportProgress(100);
}
}
else
{
worker.ReportProgress(0);
}
//meshes
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemHeadFonts, itemname);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemHeadFonts, 1, 1, 1, 1, itemname);
worker.ReportProgress(100);
break;
case RobloxFileType.Face:
if (GlobalVars.UserConfiguration.AssetLocalizerSaveBackups)
{
try
{
worker.ReportProgress(0);
File.Copy(path, path.Replace(".rbxm", " BAK.rbxm"));
}
catch (Exception)
{
worker.ReportProgress(100);
}
}
else
{
worker.ReportProgress(0);
}
//decal
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemFaceTexture, itemname);
worker.ReportProgress(100);
break;
case RobloxFileType.TShirt:
if (GlobalVars.UserConfiguration.AssetLocalizerSaveBackups)
{
try
{
worker.ReportProgress(0);
File.Copy(path, path.Replace(".rbxm", " BAK.rbxm"));
}
catch (Exception)
{
worker.ReportProgress(100);
}
}
else
{
worker.ReportProgress(0);
}
//texture
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemTShirtTexture, itemname);
worker.ReportProgress(100);
break;
case RobloxFileType.Shirt:
if (GlobalVars.UserConfiguration.AssetLocalizerSaveBackups)
{
try
{
worker.ReportProgress(0);
File.Copy(path, path.Replace(".rbxm", " BAK.rbxm"));
}
catch (Exception)
{
worker.ReportProgress(100);
}
}
else
{
worker.ReportProgress(0);
}
//texture
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemShirtTexture, itemname);
worker.ReportProgress(100);
break;
case RobloxFileType.Pants:
if (GlobalVars.UserConfiguration.AssetLocalizerSaveBackups)
{
try
{
worker.ReportProgress(0);
File.Copy(path, path.Replace(".rbxm", " BAK.rbxm"));
}
catch (Exception)
{
worker.ReportProgress(100);
}
}
else
{
worker.ReportProgress(0);
}
//texture
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemPantsTexture, itemname);
worker.ReportProgress(100);
break;
default:
worker.ReportProgress(100);
break;
}
}
catch (Exception ex)
{
MessageBox.Show("Error: Unable to localize the asset. " + ex.Message, "Novetus Asset Localizer", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
#endregion
#region Diogenes Editor
// credit to Carrot for this :D
public static string DiogenesCrypt(string word)
{
StringBuilder result = new StringBuilder("");
byte[] bytes = Encoding.ASCII.GetBytes(word);
foreach (byte singular in bytes)
{
result.Append(Convert.ToChar(0x55 ^ singular));
}
return result.ToString();
}
#endregion
#region Item SDK
public static void StartItemDownload(string name, string url, string id, int ver, bool iswebsite)
{
try
{
string version = ((ver != 0) && (!iswebsite)) ? "&version=" + ver : "";
string fullURL = url + id + version;
if (!iswebsite)
{
if (!GlobalVars.UserConfiguration.DisabledItemMakerHelp)
{
string helptext = "If you're trying to create a offline item, please use these file extension names when saving your files:\n.rbxm - ROBLOX Model/Item\n.mesh - ROBLOX Mesh\n.png - Texture/Icon\n.wav - Sound";
MessageBox.Show(helptext, "Novetus Item SDK", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
Downloader download = new Downloader(fullURL, name, "Roblox Model (*.rbxm)|*.rbxm|Roblox Mesh (*.mesh)|*.mesh|PNG Image (*.png)|*.png|WAV Sound (*.wav)|*.wav");
try
{
string helptext = "In order for the item to work in Novetus, you'll need to find an icon for your item (it must be a .png file), then name it the same name as your item.\n\nIf you want to create a local (offline) item, you'll have to download the meshes/textures from the links in the rbxm file, then replace the links in the file pointing to where they are using rbxasset://. Look at the directory in the 'shareddata/charcustom' folder that best suits your item type, then look at the rbxm for any one of the items. If you get a corrupted file, change the URL using the drop down box.";
download.InitDownload((!GlobalVars.UserConfiguration.DisabledItemMakerHelp) ? helptext : "");
}
catch (Exception ex)
{
MessageBox.Show("Error: Unable to download the file. " + ex.Message, "Novetus Item SDK | Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
if (!string.IsNullOrWhiteSpace(download.getDownloadOutcome()))
{
MessageBox.Show(download.getDownloadOutcome(), "Novetus Item SDK", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
else
{
System.Diagnostics.Process.Start(fullURL);
if (!GlobalVars.UserConfiguration.DisabledItemMakerHelp)
{
string helptext = "In order for the item to work in Novetus, you'll need to find an icon for your item (it must be a .png file), then name it the same name as your item.\n\nIf you want to create a local (offline) item, you'll have to download the meshes/textures from the links in the rbxm file, then replace the links in the file pointing to where they are using rbxasset://. Look at the directory in the 'shareddata/charcustom' folder that best suits your item type, then look at the rbxm for any one of the items. If you get a corrupted file, change the URL using the drop down box.\n\nIf you're trying to create a offline item, please use these file extension names when saving your files:\n.rbxm - ROBLOX Model/Item\n.mesh - ROBLOX Mesh\n.png - Texture/Icon\n.wav - Sound";
MessageBox.Show(helptext, "Novetus Item SDK", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
catch (Exception)
{
MessageBox.Show("Error: Unable to download the file. Try using a different file name or ID.", "Novetus Item SDK | Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
#endregion
#region SDK Launcher
public static SDKApps GetSDKAppForIndex(int index)
{
switch (index)
{
case 1:
return SDKApps.ClientSDK;
case 2:
return SDKApps.ClientScriptDoc;
case 3:
return SDKApps.AssetLocalizer;
case 4:
return SDKApps.SplashTester;
case 5:
return SDKApps.Obj2MeshV1GUI;
case 6:
return SDKApps.ScriptGenerator;
case 7:
return SDKApps.LegacyPlaceConverter;
case 8:
return SDKApps.DiogenesEditor;
default:
return SDKApps.ItemSDK;
}
}
#endregion
}
#endregion

View File

@ -655,6 +655,23 @@ public class GlobalFuncs
return GlobalVars.UserConfiguration.PlayerTripcode;
}
public static GlobalVars.LauncherState GetStateForType(ScriptType type)
{
switch (type)
{
case ScriptType.Client:
return GlobalVars.LauncherState.InMPGame;
case ScriptType.Solo:
return GlobalVars.LauncherState.InSoloGame;
case ScriptType.Studio:
return GlobalVars.LauncherState.InStudio;
case ScriptType.EasterEgg:
return GlobalVars.LauncherState.InEasterEggGame;
default:
return GlobalVars.LauncherState.InLauncher;
}
}
public static void UpdateRichPresence(GlobalVars.LauncherState state, string mapname, bool initial = false)
{
if (GlobalVars.UserConfiguration.DiscordPresence)
@ -871,6 +888,274 @@ public class GlobalFuncs
return rbxexe;
}
#if URI
public static void LaunchRBXClient(ScriptType type, bool no3d, bool nomap, EventHandler e, Label label)
#elif LAUNCHER
public static void LaunchRBXClient(ScriptType type, bool no3d, bool nomap, EventHandler e, RichTextBox box)
#elif CMD
public static void LaunchRBXClient(ScriptType type, bool no3d, bool nomap, EventHandler e)
#endif
{
string luafile = GetLuaFileName();
string rbxexe = GetClientEXEDir(type);
string mapfile = type.Equals(ScriptType.EasterEgg) ? GlobalPaths.ConfigDirData + "\\Appreciation.rbxl" : (nomap ? "" : GlobalVars.UserConfiguration.MapPath);
string mapname = type.Equals(ScriptType.EasterEgg) ? "" : (nomap ? "" : GlobalVars.UserConfiguration.Map);
string quote = "\"";
string args = "";
if (GlobalVars.SelectedClientInfo.CommandLineArgs.Equals("%args%"))
{
if (!GlobalVars.SelectedClientInfo.Fix2007)
{
args = quote
+ mapfile
+ "\" -script \""
+ ChangeGameSettings()
+ " dofile('" + luafile + "'); "
+ ScriptFuncs.Generator.GetScriptFuncForType(type)
+ "; "
+ (!string.IsNullOrWhiteSpace(GlobalPaths.AddonScriptPath) ? " dofile('" + GlobalPaths.AddonScriptPath + "');" : "")
+ quote
+ (no3d ? " -no3d" : "");
}
else
{
ScriptFuncs.Generator.GenerateScriptForClient(type);
args = "-script "
+ quote
+ luafile
+ quote
+ (no3d ? " -no3d" : "")
+ " "
+ quote
+ mapfile
+ quote;
}
}
else
{
args = ScriptFuncs.ClientScript.CompileScript(GlobalVars.SelectedClientInfo.CommandLineArgs,
ScriptFuncs.ClientScript.GetTagFromType(type, false, no3d),
ScriptFuncs.ClientScript.GetTagFromType(type, true, no3d),
mapfile,
luafile,
rbxexe);
}
try
{
#if LAUNCHER
ConsolePrint("Client Loaded.", 4, box);
#elif CMD
ConsolePrint("Client Loaded.", 4);
#elif URI
#endif
if (type.Equals(ScriptType.Client))
{
if (!GlobalVars.AdminMode)
{
if (GlobalVars.SelectedClientInfo.AlreadyHasSecurity != true)
{
if (SecurityFuncs.checkClientMD5(GlobalVars.UserConfiguration.SelectedClient) && SecurityFuncs.checkScriptMD5(GlobalVars.UserConfiguration.SelectedClient))
{
OpenClient(type, rbxexe, args, mapname, e);
}
else
{
#if URI
label.Text = "The client has been detected as modified.";
#elif LAUNCHER
ConsolePrint("ERROR - Failed to launch Novetus. (The client has been detected as modified.)", 2, box);
MessageBox.Show("Failed to launch Novetus. (Error: The client has been detected as modified.)", "Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
#elif CMD
ConsolePrint("ERROR - Failed to launch Novetus. (The client has been detected as modified.)", 2);
#endif
}
}
else
{
OpenClient(type, rbxexe, args, mapname, e);
}
}
else
{
OpenClient(type, rbxexe, args, mapname, e);
}
}
else
{
OpenClient(type, rbxexe, args, mapname, e);
}
}
catch (Exception ex)
{
#if URI
label.Text = "Error: " + ex.Message;
#elif LAUNCHER
ConsolePrint("ERROR - Failed to launch Novetus. (Error: " + ex.Message + ")", 2, box);
MessageBox.Show("Failed to launch Novetus. (Error: " + ex.Message + ")", "Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
#elif CMD
ConsolePrint("ERROR - Failed to launch Novetus. (Error: " + ex.Message + ")", 2);
#endif
}
}
private static void OpenClient(ScriptType type, string rbxexe, string args, string mapname, EventHandler e)
{
Process client = new Process();
client.StartInfo.FileName = rbxexe;
client.StartInfo.Arguments = args;
client.EnableRaisingEvents = true;
ReadClientValues(GlobalVars.UserConfiguration.SelectedClient);
client.Exited += e;
client.Start();
client.PriorityClass = ProcessPriorityClass.RealTime;
SecurityFuncs.RenameWindow(client, type, mapname);
UpdateRichPresence(GetStateForType(type), mapname);
#if CMD
GlobalVars.ProcessID = client.Id;
CreateTXT();
#endif
}
#if LAUNCHER
public static void ConsolePrint(string text, int type, RichTextBox box)
{
box.AppendText("[" + DateTime.Now.ToShortTimeString() + "] - ", Color.White);
switch (type)
{
case 2:
box.AppendText(text, Color.Red);
break;
case 3:
box.AppendText(text, Color.Lime);
break;
case 4:
box.AppendText(text, Color.Aqua);
break;
case 5:
box.AppendText(text, Color.Yellow);
break;
case 6:
box.AppendText(text, Color.LightSalmon);
break;
case 1:
default:
box.AppendText(text, Color.White);
break;
}
box.AppendText(Environment.NewLine);
}
#elif CMD
public static void ConsolePrint(string text, int type)
{
ConsoleText("[" + DateTime.Now.ToShortTimeString() + "] - ", ConsoleColor.White);
switch (type)
{
case 2:
ConsoleText(text, ConsoleColor.Red);
break;
case 3:
ConsoleText(text, ConsoleColor.Green);
break;
case 4:
ConsoleText(text, ConsoleColor.Cyan);
break;
case 5:
ConsoleText(text, ConsoleColor.Yellow);
break;
case 1:
default:
ConsoleText(text, ConsoleColor.White);
break;
}
ConsoleText(Environment.NewLine, ConsoleColor.White);
}
public static void ConsoleText(string text, ConsoleColor color)
{
Console.ForegroundColor = color;
Console.Write(text);
}
public static async void CreateTXT()
{
if (GlobalVars.RequestToOutputInfo)
{
string IP = await SecurityFuncs.GetExternalIPAddressAsync();
string[] lines1 = {
SecurityFuncs.Base64Encode(IP),
SecurityFuncs.Base64Encode(GlobalVars.UserConfiguration.RobloxPort.ToString()),
SecurityFuncs.Base64Encode(GlobalVars.UserConfiguration.SelectedClient)
};
string URI = "novetus://" + SecurityFuncs.Base64Encode(string.Join("|", lines1, true));
string[] lines2 = {
SecurityFuncs.Base64Encode("localhost"),
SecurityFuncs.Base64Encode(GlobalVars.UserConfiguration.RobloxPort.ToString()),
SecurityFuncs.Base64Encode(GlobalVars.UserConfiguration.SelectedClient)
};
string URI2 = "novetus://" + SecurityFuncs.Base64Encode(string.Join("|", lines2, true));
string text = GlobalFuncs.MultiLine(
"Process ID: " + (GlobalVars.ProcessID == 0 ? "N/A" : GlobalVars.ProcessID.ToString()),
"Don't copy the Process ID when sharing the server.",
"--------------------",
"Server Info:",
"Client: " + GlobalVars.UserConfiguration.SelectedClient,
"IP: " + IP,
"Port: " + GlobalVars.UserConfiguration.RobloxPort.ToString(),
"Map: " + GlobalVars.UserConfiguration.Map,
"Players: " + GlobalVars.UserConfiguration.PlayerLimit,
"Version: Novetus " + GlobalVars.ProgramInformation.Version,
"Online URI Link:",
URI,
"Local URI Link:",
URI2,
GlobalVars.IsWebServerOn ? "Web Server URL:" : "",
GlobalVars.IsWebServerOn ? "http://" + IP + ":" + GlobalVars.WebServer.Port.ToString() : "",
GlobalVars.IsWebServerOn ? "Local Web Server URL:" : "",
GlobalVars.IsWebServerOn ? GlobalVars.LocalWebServerURI : ""
);
File.WriteAllText(GlobalPaths.BasePath + "\\" + GlobalVars.ServerInfoFileName, GlobalFuncs.RemoveEmptyLines(text));
GlobalFuncs.ConsolePrint("Server Information sent to file " + GlobalPaths.BasePath + "\\" + GlobalVars.ServerInfoFileName, 4);
}
}
#endif
public static void CreateAssetCacheDirectories()
{
if (!Directory.Exists(GlobalPaths.AssetCacheDirFonts))
{
Directory.CreateDirectory(GlobalPaths.AssetCacheDirFonts);
}
if (!Directory.Exists(GlobalPaths.AssetCacheDirSky))
{
Directory.CreateDirectory(GlobalPaths.AssetCacheDirSky);
}
if (!Directory.Exists(GlobalPaths.AssetCacheDirSounds))
{
Directory.CreateDirectory(GlobalPaths.AssetCacheDirSounds);
}
if (!Directory.Exists(GlobalPaths.AssetCacheDirTexturesGUI))
{
Directory.CreateDirectory(GlobalPaths.AssetCacheDirTexturesGUI);
}
if (!Directory.Exists(GlobalPaths.AssetCacheDirScripts))
{
Directory.CreateDirectory(GlobalPaths.AssetCacheDirScripts);
}
}
public static string MultiLine(params string[] args)
{
return string.Join(Environment.NewLine, args);
@ -881,11 +1166,6 @@ public class GlobalFuncs
return Regex.Replace(lines, @"^\s*$\n|\r", string.Empty, RegexOptions.Multiline).TrimEnd();
}
public static bool ProcessExists(int id)
{
return Process.GetProcesses().Any(x => x.Id == id);
}
//task.delay is only available on net 4.5.......
public static async void Delay(int miliseconds)
{

View File

@ -55,6 +55,63 @@ public class GlobalPaths
public static string WebServer_ExtraDir = WebServer_CustomPlayerDir + "custom/";
#endregion
#region Asset Cache Paths
#region Base Paths
public static readonly string DirFonts = "\\fonts";
public static readonly string DirSounds = "\\sounds";
public static readonly string DirTextures = "\\textures";
public static readonly string DirScripts = "\\scripts";
public static readonly string FontsGameDir = "fonts/";
public static readonly string SoundsGameDir = "sounds/";
public static readonly string TexturesGameDir = "textures/";
public static readonly string ScriptsGameDir = "scripts/";
#endregion
#region Asset Dirs
public static readonly string AssetCacheDir = GlobalPaths.DataPath + "\\assetcache";
public static readonly string AssetCacheDirSky = AssetCacheDir + "\\sky";
public static readonly string AssetCacheDirFonts = AssetCacheDir + DirFonts;
public static readonly string AssetCacheDirSounds = AssetCacheDir + DirSounds;
public static readonly string AssetCacheDirTextures = AssetCacheDir + DirTextures;
public static readonly string AssetCacheDirTexturesGUI = AssetCacheDirTextures + "\\gui";
public static readonly string AssetCacheDirScripts = AssetCacheDir + DirScripts;
public static readonly string AssetCacheGameDir = GlobalPaths.SharedDataGameDir + "assetcache/";
public static readonly string AssetCacheFontsGameDir = AssetCacheGameDir + FontsGameDir;
public static readonly string AssetCacheSkyGameDir = AssetCacheGameDir + "sky/";
public static readonly string AssetCacheSoundsGameDir = AssetCacheGameDir + SoundsGameDir;
public static readonly string AssetCacheTexturesGameDir = AssetCacheGameDir + TexturesGameDir;
public static readonly string AssetCacheTexturesGUIGameDir = AssetCacheTexturesGameDir + "gui/";
public static readonly string AssetCacheScriptsGameDir = AssetCacheGameDir + ScriptsGameDir;
#endregion
#region Item Dirs
public static readonly string hatdirFonts = GlobalPaths.hatdir + DirFonts;
public static readonly string hatdirTextures = GlobalPaths.hatdir + DirTextures;
public static readonly string hatdirSounds = GlobalPaths.hatdir + DirSounds;
public static readonly string hatdirScripts = GlobalPaths.hatdir + DirScripts;
public static readonly string facedirTextures = GlobalPaths.facedir + DirTextures;
public static readonly string headdirFonts = GlobalPaths.headdir + DirFonts;
public static readonly string headdirTextures = GlobalPaths.headdir + DirTextures;
public static readonly string tshirtdirTextures = GlobalPaths.tshirtdir + DirTextures;
public static readonly string shirtdirTextures = GlobalPaths.shirtdir + DirTextures;
public static readonly string pantsdirTextures = GlobalPaths.pantsdir + DirTextures;
public static readonly string hatGameDirFonts = GlobalPaths.hatGameDir + FontsGameDir;
public static readonly string hatGameDirTextures = GlobalPaths.hatGameDir + TexturesGameDir;
public static readonly string hatGameDirSounds = GlobalPaths.hatGameDir + SoundsGameDir;
public static readonly string hatGameDirScripts = GlobalPaths.hatGameDir + ScriptsGameDir;
public static readonly string faceGameDirTextures = GlobalPaths.faceGameDir + TexturesGameDir;
public static readonly string headGameDirFonts = GlobalPaths.headGameDir + FontsGameDir;
public static readonly string headGameDirTextures = GlobalPaths.headGameDir + TexturesGameDir;
public static readonly string tshirtGameDirTextures = GlobalPaths.tshirtGameDir + TexturesGameDir;
public static readonly string shirtGameDirTextures = GlobalPaths.shirtGameDir + TexturesGameDir;
public static readonly string pantsGameDirTextures = GlobalPaths.pantsGameDir + TexturesGameDir;
#endregion
#endregion
#region File Names
public static readonly string ConfigName = "config.ini";
public static string ConfigNameCustomization = "config_customization.ini";

View File

@ -36,6 +36,13 @@ public static class GlobalVars
public static string SharedArgs = "";
#endregion
#region NovetusCMD
//only for novetuscmd. only here because of launchrbxclient >:(
public static int ProcessID = 0;
public static bool RequestToOutputInfo = false;
public static string ServerInfoFileName = "serverinfo.txt";
#endregion
#region Customization
public static string Loadout = "";
public static string soloLoadout = "";

View File

@ -142,6 +142,23 @@ public class ScriptFuncs
}
}
public static string GetTagFromType(ScriptType type, bool endtag, bool no3d)
{
switch (type)
{
case ScriptType.Client:
return endtag ? "</client>" : "<client>";
case ScriptType.Server:
return no3d ? (endtag ? "</no3d>" : "<no3d>") : (endtag ? "</server>" : "<server>");
case ScriptType.Solo:
return endtag ? "</solo>" : "<solo>";
case ScriptType.Studio:
return endtag ? "</studio>" : "<studio>";
default:
return "";
}
}
public static string GetRawArgsForType(ScriptType type, string md5s, string luafile)
{
switch (type)
@ -230,7 +247,7 @@ public class ScriptFuncs
{
if (GlobalVars.SelectedClientInfo.Fix2007)
{
ScriptFuncs.Generator.GenerateScriptForClient(GetTypeFromTag(tag));
Generator.GenerateScriptForClient(GetTypeFromTag(tag));
}
string extractedCode = GetArgsFromTag(code, tag, endtag);

View File

@ -1,42 +0,0 @@
#region Usings
using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
#endregion
namespace NovetusLauncher
{
#region Launcher Functions
class LauncherFuncs
{
public static void CreateAssetCacheDirectories()
{
if (!Directory.Exists(LocalPaths.AssetCacheDirFonts))
{
Directory.CreateDirectory(LocalPaths.AssetCacheDirFonts);
}
if (!Directory.Exists(LocalPaths.AssetCacheDirSky))
{
Directory.CreateDirectory(LocalPaths.AssetCacheDirSky);
}
if (!Directory.Exists(LocalPaths.AssetCacheDirSounds))
{
Directory.CreateDirectory(LocalPaths.AssetCacheDirSounds);
}
if (!Directory.Exists(LocalPaths.AssetCacheDirTexturesGUI))
{
Directory.CreateDirectory(LocalPaths.AssetCacheDirTexturesGUI);
}
if (!Directory.Exists(LocalPaths.AssetCacheDirScripts))
{
Directory.CreateDirectory(LocalPaths.AssetCacheDirScripts);
}
}
}
#endregion
}

View File

@ -1,65 +0,0 @@

namespace NovetusLauncher
{
#region LocalPaths
class LocalPaths
{
#region Asset Cache Paths
#region Base Paths
public static readonly string DirFonts = "\\fonts";
public static readonly string DirSounds = "\\sounds";
public static readonly string DirTextures = "\\textures";
public static readonly string DirScripts = "\\scripts";
public static readonly string FontsGameDir = "fonts/";
public static readonly string SoundsGameDir = "sounds/";
public static readonly string TexturesGameDir = "textures/";
public static readonly string ScriptsGameDir = "scripts/";
#endregion
#region Asset Dirs
public static readonly string AssetCacheDir = GlobalPaths.DataPath + "\\assetcache";
public static readonly string AssetCacheDirSky = AssetCacheDir + "\\sky";
public static readonly string AssetCacheDirFonts = AssetCacheDir + DirFonts;
public static readonly string AssetCacheDirSounds = AssetCacheDir + DirSounds;
public static readonly string AssetCacheDirTextures = AssetCacheDir + DirTextures;
public static readonly string AssetCacheDirTexturesGUI = AssetCacheDirTextures + "\\gui";
public static readonly string AssetCacheDirScripts = AssetCacheDir + DirScripts;
public static readonly string AssetCacheGameDir = GlobalPaths.SharedDataGameDir + "assetcache/";
public static readonly string AssetCacheFontsGameDir = AssetCacheGameDir + FontsGameDir;
public static readonly string AssetCacheSkyGameDir = AssetCacheGameDir + "sky/";
public static readonly string AssetCacheSoundsGameDir = AssetCacheGameDir + SoundsGameDir;
public static readonly string AssetCacheTexturesGameDir = AssetCacheGameDir + TexturesGameDir;
public static readonly string AssetCacheTexturesGUIGameDir = AssetCacheTexturesGameDir + "gui/";
public static readonly string AssetCacheScriptsGameDir = AssetCacheGameDir + ScriptsGameDir;
#endregion
#region Item Dirs
public static readonly string hatdirFonts = GlobalPaths.hatdir + DirFonts;
public static readonly string hatdirTextures = GlobalPaths.hatdir + DirTextures;
public static readonly string hatdirSounds = GlobalPaths.hatdir + DirSounds;
public static readonly string hatdirScripts = GlobalPaths.hatdir + DirScripts;
public static readonly string facedirTextures = GlobalPaths.facedir + DirTextures;
public static readonly string headdirFonts = GlobalPaths.headdir + DirFonts;
public static readonly string headdirTextures = GlobalPaths.headdir + DirTextures;
public static readonly string tshirtdirTextures = GlobalPaths.tshirtdir + DirTextures;
public static readonly string shirtdirTextures = GlobalPaths.shirtdir + DirTextures;
public static readonly string pantsdirTextures = GlobalPaths.pantsdir + DirTextures;
public static readonly string hatGameDirFonts = GlobalPaths.hatGameDir + FontsGameDir;
public static readonly string hatGameDirTextures = GlobalPaths.hatGameDir + TexturesGameDir;
public static readonly string hatGameDirSounds = GlobalPaths.hatGameDir + SoundsGameDir;
public static readonly string hatGameDirScripts = GlobalPaths.hatGameDir + ScriptsGameDir;
public static readonly string faceGameDirTextures = GlobalPaths.faceGameDir + TexturesGameDir;
public static readonly string headGameDirFonts = GlobalPaths.headGameDir + FontsGameDir;
public static readonly string headGameDirTextures = GlobalPaths.headGameDir + TexturesGameDir;
public static readonly string tshirtGameDirTextures = GlobalPaths.tshirtGameDir + TexturesGameDir;
public static readonly string shirtGameDirTextures = GlobalPaths.shirtGameDir + TexturesGameDir;
public static readonly string pantsGameDirTextures = GlobalPaths.pantsGameDir + TexturesGameDir;
#endregion
#endregion
}
#endregion
}

View File

@ -1,664 +0,0 @@
#region Usings
using System;
using System.ComponentModel;
using System.Diagnostics;
using System.IO;
using System.Security.Policy;
using System.Text;
using System.Windows.Forms;
#endregion
namespace NovetusLauncher
{
#region SDKApps
enum SDKApps
{
ItemSDK = 0,
ClientSDK = 1,
ClientScriptDoc = 2,
AssetLocalizer = 3,
SplashTester = 4,
Obj2MeshV1GUI = 5,
ScriptGenerator = 6,
LegacyPlaceConverter = 7,
DiogenesEditor = 8
}
#endregion
#region SDK Functions
class SDKFuncs
{
#region Asset Localizer
public static OpenFileDialog LoadROBLOXFileDialog(RobloxFileType type)
{
OpenFileDialog openFileDialog1 = new OpenFileDialog
{
Filter = (type == RobloxFileType.RBXL) ? "ROBLOX Level (*.rbxl)|*.rbxl" : "ROBLOX Model (*.rbxm)|*.rbxm",
Title = "Open ROBLOX level or model"
};
return openFileDialog1;
}
public static RobloxFileType SelectROBLOXFileType(int index)
{
RobloxFileType type;
switch (index)
{
case 1:
type = RobloxFileType.RBXM;
break;
case 2:
type = RobloxFileType.Hat;
break;
case 3:
type = RobloxFileType.Head;
break;
case 4:
type = RobloxFileType.Face;
break;
case 5:
type = RobloxFileType.Shirt;
break;
case 6:
type = RobloxFileType.TShirt;
break;
case 7:
type = RobloxFileType.Pants;
break;
default:
type = RobloxFileType.RBXL;
break;
}
return type;
}
public static string GetProgressString(RobloxFileType type, int percent)
{
string progressString = "";
switch (type)
{
case RobloxFileType.RBXL:
switch (percent)
{
case 0:
progressString = "Backing up RBXL...";
break;
case 5:
progressString = "Downloading RBXL Meshes and Textures...";
break;
case 10:
progressString = "Downloading RBXL Skybox Textures...";
break;
case 15:
progressString = "Downloading RBXL Decal Textures...";
break;
case 20:
progressString = "Downloading RBXL Textures...";
break;
case 25:
progressString = "Downloading RBXL Tool Textures...";
break;
case 30:
progressString = "Downloading RBXL HopperBin Textures...";
break;
case 40:
progressString = "Downloading RBXL Sounds...";
break;
case 50:
progressString = "Downloading RBXL GUI Textures...";
break;
case 60:
progressString = "Downloading RBXL Shirt Textures...";
break;
case 65:
progressString = "Downloading RBXL T-Shirt Textures...";
break;
case 70:
progressString = "Downloading RBXL Pants Textures...";
break;
case 80:
progressString = "Downloading RBXL Linked Scripts...";
break;
case 90:
progressString = "Downloading RBXL Linked LocalScripts...";
break;
}
break;
case RobloxFileType.RBXM:
switch (percent)
{
case 0:
progressString = "Downloading RBXL Meshes and Textures...";
break;
case 10:
progressString = "Downloading RBXL Skybox Textures...";
break;
case 15:
progressString = "Downloading RBXL Decal Textures...";
break;
case 20:
progressString = "Downloading RBXL Textures...";
break;
case 25:
progressString = "Downloading RBXL Tool Textures...";
break;
case 30:
progressString = "Downloading RBXL HopperBin Textures...";
break;
case 40:
progressString = "Downloading RBXL Sounds...";
break;
case 50:
progressString = "Downloading RBXL GUI Textures...";
break;
case 60:
progressString = "Downloading RBXL Shirt Textures...";
break;
case 65:
progressString = "Downloading RBXL T-Shirt Textures...";
break;
case 70:
progressString = "Downloading RBXL Pants Textures...";
break;
case 80:
progressString = "Downloading RBXL Linked Scripts...";
break;
case 90:
progressString = "Downloading RBXL Linked LocalScripts...";
break;
}
break;
case RobloxFileType.Hat:
switch (percent)
{
case 0:
progressString = "Downloading Hat Meshes and Textures...";
break;
case 25:
progressString = "Downloading Hat Sounds...";
break;
case 50:
progressString = "Downloading Hat Linked Scripts...";
break;
case 75:
progressString = "Downloading Hat Linked LocalScripts...";
break;
}
break;
case RobloxFileType.Head:
//meshes
switch (percent)
{
case 0:
progressString = "Downloading Head Meshes and Textures...";
break;
}
break;
case RobloxFileType.Face:
//decal
switch (percent)
{
case 0:
progressString = "Downloading Face Textures...";
break;
}
break;
case RobloxFileType.TShirt:
//texture
switch (percent)
{
case 0:
progressString = "Downloading T-Shirt Textures...";
break;
}
break;
case RobloxFileType.Shirt:
//texture
switch (percent)
{
case 0:
progressString = "Downloading Shirt Textures...";
break;
}
break;
case RobloxFileType.Pants:
//texture
switch (percent)
{
case 0:
progressString = "Downloading Pants Textures...";
break;
}
break;
default:
progressString = "Idle";
break;
}
return progressString + " " + percent.ToString() + "%";
}
public static void LocalizeAsset(RobloxFileType type, BackgroundWorker worker, string path, string itemname, string meshname)
{
try
{
switch (type)
{
case RobloxFileType.RBXL:
//backup the original copy
if (GlobalVars.UserConfiguration.AssetLocalizerSaveBackups)
{
try
{
worker.ReportProgress(0);
File.Copy(path, path.Replace(".rbxl", " BAK.rbxl"));
}
catch (Exception)
{
worker.ReportProgress(100);
}
}
else
{
worker.ReportProgress(0);
}
//meshes
worker.ReportProgress(5);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Fonts);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Fonts, 1, 1, 1, 1);
//skybox
worker.ReportProgress(10);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 1, 0, 0, 0);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 2, 0, 0, 0);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 3, 0, 0, 0);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 4, 0, 0, 0);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 5, 0, 0, 0);
//decal
worker.ReportProgress(15);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Decal);
//texture
worker.ReportProgress(20);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Texture);
//tools and hopperbin
worker.ReportProgress(25);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Tool);
worker.ReportProgress(30);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.HopperBin);
//sound
worker.ReportProgress(40);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sound);
worker.ReportProgress(50);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ImageLabel);
//clothing
worker.ReportProgress(60);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Shirt);
worker.ReportProgress(65);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ShirtGraphic);
worker.ReportProgress(70);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Pants);
//scripts
worker.ReportProgress(80);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Script);
worker.ReportProgress(90);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.LocalScript);
worker.ReportProgress(100);
break;
case RobloxFileType.RBXM:
if (GlobalVars.UserConfiguration.AssetLocalizerSaveBackups)
{
try
{
worker.ReportProgress(0);
File.Copy(path, path.Replace(".rbxm", " BAK.rbxm"));
}
catch (Exception)
{
worker.ReportProgress(100);
}
}
else
{
worker.ReportProgress(0);
}
//meshes
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Fonts);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Fonts, 1, 1, 1, 1);
//skybox
worker.ReportProgress(10);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 1, 0, 0, 0);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 2, 0, 0, 0);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 3, 0, 0, 0);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 4, 0, 0, 0);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sky, 5, 0, 0, 0);
//decal
worker.ReportProgress(15);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Decal);
//texture
worker.ReportProgress(20);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Texture);
//tools and hopperbin
worker.ReportProgress(25);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Tool);
worker.ReportProgress(30);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.HopperBin);
//sound
worker.ReportProgress(40);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Sound);
worker.ReportProgress(50);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ImageLabel);
//clothing
worker.ReportProgress(60);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Shirt);
worker.ReportProgress(65);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ShirtGraphic);
worker.ReportProgress(70);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Pants);
//scripts
worker.ReportProgress(80);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.Script);
worker.ReportProgress(90);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.LocalScript);
worker.ReportProgress(100);
break;
case RobloxFileType.Hat:
if (GlobalVars.UserConfiguration.AssetLocalizerSaveBackups)
{
try
{
worker.ReportProgress(0);
File.Copy(path, path.Replace(".rbxm", " BAK.rbxm"));
}
catch (Exception)
{
worker.ReportProgress(100);
}
}
else
{
worker.ReportProgress(0);
}
//meshes
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemHatFonts, itemname, meshname);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemHatFonts, 1, 1, 1, 1, itemname);
worker.ReportProgress(25);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemHatSound);
//scripts
worker.ReportProgress(50);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemHatScript);
worker.ReportProgress(75);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemHatLocalScript);
worker.ReportProgress(100);
break;
case RobloxFileType.Head:
if (GlobalVars.UserConfiguration.AssetLocalizerSaveBackups)
{
try
{
worker.ReportProgress(0);
File.Copy(path, path.Replace(".rbxm", " BAK.rbxm"));
}
catch (Exception)
{
worker.ReportProgress(100);
}
}
else
{
worker.ReportProgress(0);
}
//meshes
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemHeadFonts, itemname);
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemHeadFonts, 1, 1, 1, 1, itemname);
worker.ReportProgress(100);
break;
case RobloxFileType.Face:
if (GlobalVars.UserConfiguration.AssetLocalizerSaveBackups)
{
try
{
worker.ReportProgress(0);
File.Copy(path, path.Replace(".rbxm", " BAK.rbxm"));
}
catch (Exception)
{
worker.ReportProgress(100);
}
}
else
{
worker.ReportProgress(0);
}
//decal
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemFaceTexture, itemname);
worker.ReportProgress(100);
break;
case RobloxFileType.TShirt:
if (GlobalVars.UserConfiguration.AssetLocalizerSaveBackups)
{
try
{
worker.ReportProgress(0);
File.Copy(path, path.Replace(".rbxm", " BAK.rbxm"));
}
catch (Exception)
{
worker.ReportProgress(100);
}
}
else
{
worker.ReportProgress(0);
}
//texture
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemTShirtTexture, itemname);
worker.ReportProgress(100);
break;
case RobloxFileType.Shirt:
if (GlobalVars.UserConfiguration.AssetLocalizerSaveBackups)
{
try
{
worker.ReportProgress(0);
File.Copy(path, path.Replace(".rbxm", " BAK.rbxm"));
}
catch (Exception)
{
worker.ReportProgress(100);
}
}
else
{
worker.ReportProgress(0);
}
//texture
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemShirtTexture, itemname);
worker.ReportProgress(100);
break;
case RobloxFileType.Pants:
if (GlobalVars.UserConfiguration.AssetLocalizerSaveBackups)
{
try
{
worker.ReportProgress(0);
File.Copy(path, path.Replace(".rbxm", " BAK.rbxm"));
}
catch (Exception)
{
worker.ReportProgress(100);
}
}
else
{
worker.ReportProgress(0);
}
//texture
RobloxXMLLocalizer.DownloadFromNodes(path, RobloxDefs.ItemPantsTexture, itemname);
worker.ReportProgress(100);
break;
default:
worker.ReportProgress(100);
break;
}
}
catch (Exception ex)
{
MessageBox.Show("Error: Unable to localize the asset. " + ex.Message, "Novetus Asset Localizer", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
#endregion
#region Diogenes Editor
// credit to Carrot for this :D
public static string DiogenesCrypt(string word)
{
StringBuilder result = new StringBuilder("");
byte[] bytes = Encoding.ASCII.GetBytes(word);
foreach (byte singular in bytes)
{
result.Append(Convert.ToChar(0x55 ^ singular));
}
return result.ToString();
}
#endregion
#region Item SDK
public static void StartItemDownload(string name, string url, string id, int ver, bool iswebsite)
{
try
{
string version = ((ver != 0) && (!iswebsite)) ? "&version=" + ver : "";
string fullURL = url + id + version;
if (!iswebsite)
{
if (!GlobalVars.UserConfiguration.DisabledItemMakerHelp)
{
string helptext = "If you're trying to create a offline item, please use these file extension names when saving your files:\n.rbxm - ROBLOX Model/Item\n.mesh - ROBLOX Mesh\n.png - Texture/Icon\n.wav - Sound";
MessageBox.Show(helptext, "Novetus Item SDK", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
Downloader download = new Downloader(fullURL, name, "Roblox Model (*.rbxm)|*.rbxm|Roblox Mesh (*.mesh)|*.mesh|PNG Image (*.png)|*.png|WAV Sound (*.wav)|*.wav");
try
{
string helptext = "In order for the item to work in Novetus, you'll need to find an icon for your item (it must be a .png file), then name it the same name as your item.\n\nIf you want to create a local (offline) item, you'll have to download the meshes/textures from the links in the rbxm file, then replace the links in the file pointing to where they are using rbxasset://. Look at the directory in the 'shareddata/charcustom' folder that best suits your item type, then look at the rbxm for any one of the items. If you get a corrupted file, change the URL using the drop down box.";
download.InitDownload((!GlobalVars.UserConfiguration.DisabledItemMakerHelp) ? helptext : "");
}
catch (Exception ex)
{
MessageBox.Show("Error: Unable to download the file. " + ex.Message, "Novetus Item SDK | Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
if (!string.IsNullOrWhiteSpace(download.getDownloadOutcome()))
{
MessageBox.Show(download.getDownloadOutcome(), "Novetus Item SDK", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
else
{
System.Diagnostics.Process.Start(fullURL);
if (!GlobalVars.UserConfiguration.DisabledItemMakerHelp)
{
string helptext = "In order for the item to work in Novetus, you'll need to find an icon for your item (it must be a .png file), then name it the same name as your item.\n\nIf you want to create a local (offline) item, you'll have to download the meshes/textures from the links in the rbxm file, then replace the links in the file pointing to where they are using rbxasset://. Look at the directory in the 'shareddata/charcustom' folder that best suits your item type, then look at the rbxm for any one of the items. If you get a corrupted file, change the URL using the drop down box.\n\nIf you're trying to create a offline item, please use these file extension names when saving your files:\n.rbxm - ROBLOX Model/Item\n.mesh - ROBLOX Mesh\n.png - Texture/Icon\n.wav - Sound";
MessageBox.Show(helptext, "Novetus Item SDK", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}
catch (Exception)
{
MessageBox.Show("Error: Unable to download the file. Try using a different file name or ID.", "Novetus Item SDK | Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
#endregion
#region SDK Launcher
public static void LaunchSDKAppByIndex(int index)
{
SDKApps selectedApp = GetSDKAppForIndex(index);
switch (selectedApp)
{
case SDKApps.ClientSDK:
ClientinfoEditor cie = new ClientinfoEditor();
cie.Show();
break;
case SDKApps.ClientScriptDoc:
ClientScriptDocumentation csd = new ClientScriptDocumentation();
csd.Show();
break;
case SDKApps.AssetLocalizer:
AssetLocalizer al = new AssetLocalizer();
al.Show();
break;
case SDKApps.SplashTester:
SplashTester st = new SplashTester();
st.Show();
break;
case SDKApps.Obj2MeshV1GUI:
Obj2MeshV1GUI obj = new Obj2MeshV1GUI();
obj.Show();
break;
case SDKApps.ScriptGenerator:
Process proc = new Process();
proc.StartInfo.FileName = GlobalPaths.ConfigDirData + "\\RSG.exe";
proc.StartInfo.CreateNoWindow = false;
proc.StartInfo.UseShellExecute = false;
proc.Start();
break;
case SDKApps.LegacyPlaceConverter:
Process proc2 = new Process();
proc2.StartInfo.FileName = GlobalPaths.ConfigDirData + "\\Roblox_Legacy_Place_Converter.exe";
proc2.StartInfo.CreateNoWindow = false;
proc2.StartInfo.UseShellExecute = false;
proc2.Start();
break;
case SDKApps.DiogenesEditor:
DiogenesEditor dio = new DiogenesEditor();
dio.Show();
break;
default:
ItemMaker im = new ItemMaker();
im.Show();
break;
}
}
public static SDKApps GetSDKAppForIndex(int index)
{
switch (index)
{
case 1:
return SDKApps.ClientSDK;
case 2:
return SDKApps.ClientScriptDoc;
case 3:
return SDKApps.AssetLocalizer;
case 4:
return SDKApps.SplashTester;
case 5:
return SDKApps.Obj2MeshV1GUI;
case 6:
return SDKApps.ScriptGenerator;
case 7:
return SDKApps.LegacyPlaceConverter;
case 8:
return SDKApps.DiogenesEditor;
default:
return SDKApps.ItemSDK;
}
}
#endregion
}
#endregion
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -48,11 +48,11 @@ namespace NovetusLauncher
try
{
NetFuncs.InitUPnP(DeviceFound,DeviceLost);
ConsolePrint("UPnP: Service initialized", 3);
GlobalFuncs.ConsolePrint("UPnP: Service initialized", 3, richTextBox1);
}
catch (Exception ex)
{
ConsolePrint("UPnP: Unable to initialize NetFuncs. Reason - " + ex.Message, 2);
GlobalFuncs.ConsolePrint("UPnP: Unable to initialize NetFuncs. Reason - " + ex.Message, 2, richTextBox1);
}
}
}
@ -64,11 +64,11 @@ namespace NovetusLauncher
try
{
NetFuncs.StartUPnP(device,protocol,port);
ConsolePrint("UPnP: Port " + port + " opened on '" + device.GetExternalIP() + "' (" + protocol.ToString() + ")", 3);
GlobalFuncs.ConsolePrint("UPnP: Port " + port + " opened on '" + device.GetExternalIP() + "' (" + protocol.ToString() + ")", 3, richTextBox1);
}
catch (Exception ex)
{
ConsolePrint("UPnP: Unable to open port mapping. Reason - " + ex.Message, 2);
GlobalFuncs.ConsolePrint("UPnP: Unable to open port mapping. Reason - " + ex.Message, 2, richTextBox1);
}
}
}
@ -80,11 +80,11 @@ namespace NovetusLauncher
try
{
NetFuncs.StopUPnP(device,protocol,port);
ConsolePrint("UPnP: Port " + port + " closed on '" + device.GetExternalIP() + "' (" + protocol.ToString() + ")", 3);
GlobalFuncs.ConsolePrint("UPnP: Port " + port + " closed on '" + device.GetExternalIP() + "' (" + protocol.ToString() + ")", 3, richTextBox1);
}
catch (Exception ex)
{
ConsolePrint("UPnP: Unable to close port mapping. Reason - " + ex.Message, 2);
GlobalFuncs.ConsolePrint("UPnP: Unable to close port mapping. Reason - " + ex.Message, 2, richTextBox1);
}
}
}
@ -94,7 +94,7 @@ namespace NovetusLauncher
try
{
INatDevice device = args.Device;
ConsolePrint("UPnP: Device '" + device.GetExternalIP() + "' registered.", 3);
GlobalFuncs.ConsolePrint("UPnP: Device '" + device.GetExternalIP() + "' registered.", 3, richTextBox1);
StartUPnP(device, Protocol.Udp, GlobalVars.UserConfiguration.RobloxPort);
StartUPnP(device, Protocol.Tcp, GlobalVars.UserConfiguration.RobloxPort);
StartUPnP(device, Protocol.Udp, GlobalVars.WebServerPort);
@ -102,7 +102,7 @@ namespace NovetusLauncher
}
catch (Exception ex)
{
ConsolePrint("UPnP: Unable to register device. Reason - " + ex.Message, 2);
GlobalFuncs.ConsolePrint("UPnP: Unable to register device. Reason - " + ex.Message, 2, richTextBox1);
}
}
@ -111,7 +111,7 @@ namespace NovetusLauncher
try
{
INatDevice device = args.Device;
ConsolePrint("UPnP: Device '" + device.GetExternalIP() + "' disconnected.", 3);
GlobalFuncs.ConsolePrint("UPnP: Device '" + device.GetExternalIP() + "' disconnected.", 3, richTextBox1);
StopUPnP(device, Protocol.Udp, GlobalVars.UserConfiguration.RobloxPort);
StopUPnP(device, Protocol.Tcp, GlobalVars.UserConfiguration.RobloxPort);
StopUPnP(device, Protocol.Udp, GlobalVars.WebServerPort);
@ -119,7 +119,7 @@ namespace NovetusLauncher
}
catch (Exception ex)
{
ConsolePrint("UPnP: Unable to disconnect device. Reason - " + ex.Message, 2);
GlobalFuncs.ConsolePrint("UPnP: Unable to disconnect device. Reason - " + ex.Message, 2, richTextBox1);
}
}
#endregion
@ -127,17 +127,17 @@ namespace NovetusLauncher
#region Discord
public void ReadyCallback()
{
ConsolePrint("Discord RPC: Ready", 3);
GlobalFuncs.ConsolePrint("Discord RPC: Ready", 3, richTextBox1);
}
public void DisconnectedCallback(int errorCode, string message)
{
ConsolePrint("Discord RPC: Disconnected. Reason - " + errorCode + ": " + message, 2);
GlobalFuncs.ConsolePrint("Discord RPC: Disconnected. Reason - " + errorCode + ": " + message, 2, richTextBox1);
}
public void ErrorCallback(int errorCode, string message)
{
ConsolePrint("Discord RPC: Error. Reason - " + errorCode + ": " + message, 2);
GlobalFuncs.ConsolePrint("Discord RPC: Error. Reason - " + errorCode + ": " + message, 2, richTextBox1);
}
public void JoinCallback(string secret)
@ -179,17 +179,17 @@ namespace NovetusLauncher
try
{
GlobalVars.WebServer = new SimpleHTTPServer(GlobalPaths.ServerDir, GlobalVars.WebServerPort);
ConsolePrint("WebServer: Server is running on port: " + GlobalVars.WebServer.Port.ToString(), 3);
GlobalFuncs.ConsolePrint("WebServer: Server is running on port: " + GlobalVars.WebServer.Port.ToString(), 3, richTextBox1);
}
catch (Exception ex)
{
ConsolePrint("WebServer: Failed to launch WebServer. Some features may not function. (" + ex.Message + ")", 2);
GlobalFuncs.ConsolePrint("WebServer: Failed to launch WebServer. Some features may not function. (" + ex.Message + ")", 2, richTextBox1);
label17.Visible = false;
}
}
else
{
ConsolePrint("WebServer: Failed to launch WebServer. Some features may not function. (Did not run as Administrator)", 2);
GlobalFuncs.ConsolePrint("WebServer: Failed to launch WebServer. Some features may not function. (Did not run as Administrator)", 2, richTextBox1);
label17.Visible = false;
}
}
@ -200,17 +200,17 @@ namespace NovetusLauncher
{
try
{
ConsolePrint("WebServer: Server has stopped on port: " + GlobalVars.WebServer.Port.ToString(), 2);
GlobalFuncs.ConsolePrint("WebServer: Server has stopped on port: " + GlobalVars.WebServer.Port.ToString(), 2, richTextBox1);
GlobalVars.WebServer.Stop();
}
catch (Exception ex)
{
ConsolePrint("WebServer: Failed to stop WebServer. Some features may not function. (" + ex.Message + ")", 2);
GlobalFuncs.ConsolePrint("WebServer: Failed to stop WebServer. Some features may not function. (" + ex.Message + ")", 2, richTextBox1);
}
}
else
{
ConsolePrint("WebServer: Failed to stop WebServer. Some features may not function. (Did not run as Administrator)", 2);
GlobalFuncs.ConsolePrint("WebServer: Failed to stop WebServer. Some features may not function. (Did not run as Administrator)", 2, richTextBox1);
}
}
#endregion
@ -404,8 +404,8 @@ namespace NovetusLauncher
void MainFormLoad(object sender, EventArgs e)
{
Text = "Novetus " + GlobalVars.ProgramInformation.Version;
ConsolePrint("Novetus version " + GlobalVars.ProgramInformation.Version + " loaded. Initializing config.", 4);
ConsolePrint("Novetus path: " + GlobalPaths.BasePath, 4);
GlobalFuncs.ConsolePrint("Novetus version " + GlobalVars.ProgramInformation.Version + " loaded. Initializing config.", 4, richTextBox1);
GlobalFuncs.ConsolePrint("Novetus path: " + GlobalPaths.BasePath, 4, richTextBox1);
if (File.Exists(GlobalPaths.RootPath + "\\changelog.txt"))
{
@ -413,7 +413,7 @@ namespace NovetusLauncher
}
else
{
ConsolePrint("ERROR - " + GlobalPaths.RootPath + "\\changelog.txt not found.", 2);
GlobalFuncs.ConsolePrint("ERROR - " + GlobalPaths.RootPath + "\\changelog.txt not found.", 2, richTextBox1);
}
if (File.Exists(GlobalPaths.RootPath + "\\credits.txt"))
@ -422,31 +422,31 @@ namespace NovetusLauncher
}
else
{
ConsolePrint("ERROR - " + GlobalPaths.RootPath + "\\credits.txt not found.", 2);
GlobalFuncs.ConsolePrint("ERROR - " + GlobalPaths.RootPath + "\\credits.txt not found.", 2, richTextBox1);
}
if (!File.Exists(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName))
{
ConsolePrint("WARNING - " + GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName + " not found. Creating one with default values.", 5);
GlobalFuncs.ConsolePrint("WARNING - " + GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName + " not found. Creating one with default values.", 5, richTextBox1);
WriteConfigValues();
}
if (!File.Exists(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigNameCustomization))
{
ConsolePrint("WARNING - " + GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigNameCustomization + " not found. Creating one with default values.", 5);
GlobalFuncs.ConsolePrint("WARNING - " + GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigNameCustomization + " not found. Creating one with default values.", 5, richTextBox1);
WriteCustomizationValues();
}
if (!File.Exists(GlobalPaths.ConfigDir + "\\servers.txt"))
{
ConsolePrint("WARNING - " + GlobalPaths.ConfigDir + "\\servers.txt not found. Creating empty file.", 5);
GlobalFuncs.ConsolePrint("WARNING - " + GlobalPaths.ConfigDir + "\\servers.txt not found. Creating empty file.", 5, richTextBox1);
File.Create(GlobalPaths.ConfigDir + "\\servers.txt").Dispose();
}
if (!File.Exists(GlobalPaths.ConfigDir + "\\ports.txt"))
{
ConsolePrint("WARNING - " + GlobalPaths.ConfigDir + "\\ports.txt not found. Creating empty file.", 5);
GlobalFuncs.ConsolePrint("WARNING - " + GlobalPaths.ConfigDir + "\\ports.txt not found. Creating empty file.", 5, richTextBox1);
File.Create(GlobalPaths.ConfigDir + "\\ports.txt").Dispose();
}
LauncherFuncs.CreateAssetCacheDirectories();
GlobalFuncs.CreateAssetCacheDirectories();
label8.Text = Application.ProductVersion;
LocalVars.important = SecurityFuncs.GenerateMD5(Assembly.GetExecutingAssembly().Location);
@ -507,20 +507,20 @@ namespace NovetusLauncher
break;
}
ConsolePrint("Config loaded.", 3);
GlobalFuncs.ConsolePrint("Config loaded.", 3, richTextBox1);
ReadClientValues(GlobalVars.UserConfiguration.SelectedClient);
}
void WriteConfigValues()
{
GlobalFuncs.Config(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName, true);
ConsolePrint("Config Saved.", 3);
GlobalFuncs.ConsolePrint("Config Saved.", 3, richTextBox1);
}
void WriteCustomizationValues()
{
GlobalFuncs.Customization(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigNameCustomization, true);
ConsolePrint("Config Saved.", 3);
GlobalFuncs.ConsolePrint("Config Saved.", 3, richTextBox1);
}
void ReadClientValues(string ClientName)
@ -529,7 +529,7 @@ namespace NovetusLauncher
if (!File.Exists(clientpath))
{
ConsolePrint("ERROR - No clientinfo.nov detected with the client you chose. The client either cannot be loaded, or it is not available.", 2);
GlobalFuncs.ConsolePrint("ERROR - No clientinfo.nov detected with the client you chose. The client either cannot be loaded, or it is not available.", 2, richTextBox1);
MessageBox.Show("No clientinfo.nov detected with the client you chose. The client either cannot be loaded, or it is not available.", "Novetus - Error while loading client", MessageBoxButtons.OK, MessageBoxIcon.Error);
GlobalVars.UserConfiguration.SelectedClient = GlobalVars.ProgramInformation.DefaultClient;
ReadClientValues(ClientName);
@ -578,7 +578,7 @@ namespace NovetusLauncher
textBox6.Text = GlobalVars.SelectedClientInfo.Description;
label26.Text = GlobalVars.UserConfiguration.SelectedClient;
ConsolePrint("Client '" + GlobalVars.UserConfiguration.SelectedClient + "' successfully loaded.", 3);
GlobalFuncs.ConsolePrint("Client '" + GlobalVars.UserConfiguration.SelectedClient + "' successfully loaded.", 3, richTextBox1);
}
}
@ -787,116 +787,31 @@ namespace NovetusLauncher
ReadConfigValues();
}
void ConsolePrint(string text, int type)
{
richTextBox1.AppendText("[" + DateTime.Now.ToShortTimeString() + "] - ", Color.White);
switch (type)
{
case 2:
richTextBox1.AppendText(text, Color.Red);
break;
case 3:
richTextBox1.AppendText(text, Color.Lime);
break;
case 4:
richTextBox1.AppendText(text, Color.Aqua);
break;
case 5:
richTextBox1.AppendText(text, Color.Yellow);
break;
case 6:
richTextBox1.AppendText(text, Color.LightSalmon);
break;
case 1:
default:
richTextBox1.AppendText(text, Color.White);
break;
}
richTextBox1.AppendText(Environment.NewLine);
}
//Rewrite these into one function. Preferably global.
void StartClient()
{
string luafile = GlobalFuncs.GetLuaFileName();
string rbxexe = GlobalFuncs.GetClientEXEDir(ScriptType.Client);
string quote = "\"";
string args = "";
if (GlobalVars.SelectedClientInfo.CommandLineArgs.Equals("%args%"))
{
if (!GlobalVars.SelectedClientInfo.Fix2007)
{
args = "-script " + quote + GlobalFuncs.ChangeGameSettings() + " dofile('" + luafile + "'); " + ScriptFuncs.Generator.GetScriptFuncForType(ScriptType.Client) + quote;
}
else
{
ScriptFuncs.Generator.GenerateScriptForClient(ScriptType.Client);
args = "-script " + quote + luafile + quote;
}
}
else
{
args = ScriptFuncs.ClientScript.CompileScript(GlobalVars.SelectedClientInfo.CommandLineArgs, "<client>", "</client>", "", luafile, rbxexe);
}
try
{
ConsolePrint("Client Loaded.", 4);
if (!GlobalVars.AdminMode)
{
if (!GlobalVars.SelectedClientInfo.AlreadyHasSecurity)
{
if (SecurityFuncs.checkClientMD5(GlobalVars.UserConfiguration.SelectedClient))
{
if (SecurityFuncs.checkScriptMD5(GlobalVars.UserConfiguration.SelectedClient))
{
OpenClient(rbxexe,args);
}
else
{
ConsolePrint("ERROR - Failed to launch Novetus. (The client has been detected as modified.)", 2);
MessageBox.Show("Failed to launch Novetus. (Error: The client has been detected as modified.)","Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
else
{
ConsolePrint("ERROR - Failed to launch Novetus. (The client has been detected as modified.)", 2);
MessageBox.Show("Failed to launch Novetus. (Error: The client has been detected as modified.)","Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
else
{
OpenClient(rbxexe,args);
}
}
else
{
OpenClient(rbxexe,args);
}
}
catch (Exception ex)
{
ConsolePrint("ERROR - Failed to launch Novetus. (" + ex.Message + ")", 2);
MessageBox.Show("Failed to launch Novetus. (Error: " + ex.Message + ")","Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
GlobalFuncs.LaunchRBXClient(ScriptType.Client, false, true, new EventHandler(ClientExited), richTextBox1);
}
void OpenClient(string rbxexe, string args)
void StartSolo()
{
Process client = new Process();
client.StartInfo.FileName = rbxexe;
client.StartInfo.Arguments = args;
client.EnableRaisingEvents = true;
ReadClientValues(GlobalVars.UserConfiguration.SelectedClient);
client.Exited += new EventHandler(ClientExited);
client.Start();
client.PriorityClass = ProcessPriorityClass.RealTime;
SecurityFuncs.RenameWindow(client, ScriptType.Client, GlobalVars.UserConfiguration.Map);
GlobalFuncs.UpdateRichPresence(GlobalVars.LauncherState.InMPGame, GlobalVars.UserConfiguration.Map);
GlobalFuncs.LaunchRBXClient(ScriptType.Solo, false, false, new EventHandler(ClientExited), richTextBox1);
}
void StartServer(bool no3d)
{
GlobalFuncs.LaunchRBXClient(ScriptType.Server, no3d, false, new EventHandler(ServerExited), richTextBox1);
}
void StartStudio(bool nomap)
{
GlobalFuncs.LaunchRBXClient(ScriptType.Studio, false, nomap, new EventHandler(ClientExited), richTextBox1);
}
void StartEasterEgg()
{
GlobalFuncs.LaunchRBXClient(ScriptType.EasterEgg, false, false, new EventHandler(EasterEggExited), richTextBox1);
}
void ClientExited(object sender, EventArgs e)
{
GlobalFuncs.UpdateRichPresence(GlobalVars.LauncherState.InLauncher, "");
@ -924,191 +839,6 @@ namespace NovetusLauncher
}
}
void StartSolo()
{
string luafile = GlobalFuncs.GetLuaFileName();
string rbxexe = GlobalFuncs.GetClientEXEDir(ScriptType.Solo);
string mapfile = GlobalVars.UserConfiguration.MapPath;
string quote = "\"";
string args = "";
if (GlobalVars.SelectedClientInfo.CommandLineArgs.Equals("%args%"))
{
if (!GlobalVars.SelectedClientInfo.Fix2007)
{
args = quote + mapfile + "\" -script \"" + GlobalFuncs.ChangeGameSettings() + " dofile('" + luafile + "'); " + ScriptFuncs.Generator.GetScriptFuncForType(ScriptType.Solo) + quote;
}
else
{
ScriptFuncs.Generator.GenerateScriptForClient(ScriptType.Solo);
args = "-script " + quote + luafile + quote + " " + quote + mapfile + quote;
}
}
else
{
args = ScriptFuncs.ClientScript.CompileScript(GlobalVars.SelectedClientInfo.CommandLineArgs, "<solo>", "</solo>", mapfile, luafile, rbxexe);
}
try
{
ConsolePrint("Play Solo Loaded.", 4);
Process client = new Process();
client.StartInfo.FileName = rbxexe;
client.StartInfo.Arguments = args;
client.EnableRaisingEvents = true;
ReadClientValues(GlobalVars.UserConfiguration.SelectedClient);
client.Exited += new EventHandler(ClientExited);
client.Start();
client.PriorityClass = ProcessPriorityClass.RealTime;
SecurityFuncs.RenameWindow(client, ScriptType.Solo, GlobalVars.UserConfiguration.Map);
GlobalFuncs.UpdateRichPresence(GlobalVars.LauncherState.InSoloGame, GlobalVars.UserConfiguration.Map);
}
catch (Exception ex)
{
ConsolePrint("ERROR - Failed to launch Novetus. (" + ex.Message + ")", 2);
MessageBox.Show("Failed to launch Novetus. (Error: " + ex.Message + ")","Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
void StartServer(bool no3d)
{
string luafile = GlobalFuncs.GetLuaFileName();
string rbxexe = GlobalFuncs.GetClientEXEDir(ScriptType.Server);
string mapfile = GlobalVars.UserConfiguration.MapPath;
string quote = "\"";
string args = "";
if (GlobalVars.SelectedClientInfo.CommandLineArgs.Equals("%args%"))
{
if (!GlobalVars.SelectedClientInfo.Fix2007)
{
args = quote + mapfile + "\" -script \"" + GlobalFuncs.ChangeGameSettings() + " dofile('" + luafile + "'); " + ScriptFuncs.Generator.GetScriptFuncForType(ScriptType.Server) + "; " + (!string.IsNullOrWhiteSpace(GlobalPaths.AddonScriptPath) ? GlobalFuncs.ChangeGameSettings() + " dofile('" + GlobalPaths.AddonScriptPath + "');" : "") + quote + (no3d ? " -no3d" : "");
}
else
{
ScriptFuncs.Generator.GenerateScriptForClient(ScriptType.Server);
args = "-script " + quote + luafile + quote + (no3d ? " -no3d" : "") + " " + quote + mapfile + quote;
}
}
else
{
if (!no3d)
{
args = ScriptFuncs.ClientScript.CompileScript(GlobalVars.SelectedClientInfo.CommandLineArgs, "<server>", "</server>", mapfile, luafile, rbxexe);
}
else
{
args = ScriptFuncs.ClientScript.CompileScript(GlobalVars.SelectedClientInfo.CommandLineArgs, "<no3d>", "</no3d>", mapfile, luafile, rbxexe);
}
}
try
{
//when we add upnp, change this
ConsolePrint("Server Loaded.", 4);
Process client = new Process();
client.StartInfo.FileName = rbxexe;
client.StartInfo.Arguments = args;
client.EnableRaisingEvents = true;
ReadClientValues(GlobalVars.UserConfiguration.SelectedClient);
client.Exited += new EventHandler(ServerExited);
client.Start();
client.PriorityClass = ProcessPriorityClass.RealTime;
SecurityFuncs.RenameWindow(client, ScriptType.Server, GlobalVars.UserConfiguration.Map);
}
catch (Exception ex)
{
ConsolePrint("ERROR - Failed to launch Novetus. (" + ex.Message + ")", 2);
MessageBox.Show("Failed to launch Novetus. (Error: " + ex.Message + ")","Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
void StartStudio(bool nomap)
{
string luafile = GlobalFuncs.GetLuaFileName();
string rbxexe = GlobalFuncs.GetClientEXEDir(ScriptType.Studio);
string mapfile = (nomap ? "" : GlobalVars.UserConfiguration.MapPath);
string mapname = (nomap ? "" : GlobalVars.UserConfiguration.Map);
string quote = "\"";
string args = "";
if (GlobalVars.SelectedClientInfo.CommandLineArgs.Equals("%args%"))
{
if (!GlobalVars.SelectedClientInfo.Fix2007)
{
args = quote + mapfile + "\" -script \"" + GlobalFuncs.ChangeGameSettings() + " dofile('" + luafile + "'); " + ScriptFuncs.Generator.GetScriptFuncForType(ScriptType.Studio) + quote;
}
else
{
ScriptFuncs.Generator.GenerateScriptForClient(ScriptType.Studio);
args = "-script " + quote + luafile + quote + " " + quote + mapfile + quote;
}
}
else
{
args = ScriptFuncs.ClientScript.CompileScript(GlobalVars.SelectedClientInfo.CommandLineArgs, "<studio>", "</studio>", mapfile, luafile, rbxexe);
}
try
{
ConsolePrint("Studio Loaded.", 4);
Process client = new Process();
client.StartInfo.FileName = rbxexe;
client.StartInfo.Arguments = args;
client.EnableRaisingEvents = true;
ReadClientValues(GlobalVars.UserConfiguration.SelectedClient);
client.Exited += new EventHandler(ClientExited);
client.Start();
client.PriorityClass = ProcessPriorityClass.RealTime;
SecurityFuncs.RenameWindow(client, ScriptType.Studio, mapname);
GlobalFuncs.UpdateRichPresence(GlobalVars.LauncherState.InStudio, mapname);
}
catch (Exception ex)
{
ConsolePrint("ERROR - Failed to launch Novetus. (" + ex.Message + ")", 2);
MessageBox.Show("Failed to launch Novetus. (Error: " + ex.Message + ")","Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
void StartEasterEgg()
{
label12.Text = "<3";
string luafile = GlobalFuncs.GetLuaFileName();
string rbxexe = GlobalFuncs.GetClientEXEDir(ScriptType.EasterEgg);
string mapfile = GlobalPaths.ConfigDirData + "\\Appreciation.rbxl";
string quote = "\"";
string args = "";
if (GlobalVars.SelectedClientInfo.CommandLineArgs.Equals("%args%"))
{
if (!GlobalVars.SelectedClientInfo.Fix2007)
{
args = quote + mapfile + "\" -script \"" + GlobalFuncs.ChangeGameSettings() + " dofile('" + luafile + "'); " + ScriptFuncs.Generator.GetScriptFuncForType(ScriptType.EasterEgg) + quote;
}
else
{
ScriptFuncs.Generator.GenerateScriptForClient(ScriptType.EasterEgg);
args = "-script " + quote + luafile + quote + " " + quote + mapfile + quote;
}
}
else
{
args = ScriptFuncs.ClientScript.CompileScript(GlobalVars.SelectedClientInfo.CommandLineArgs, "<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.UserConfiguration.SelectedClient);
client.Start();
client.Exited += new EventHandler(EasterEggExited);
client.PriorityClass = ProcessPriorityClass.RealTime;
SecurityFuncs.RenameWindow(client, ScriptType.EasterEgg, "");
GlobalFuncs.UpdateRichPresence(GlobalVars.LauncherState.InEasterEggGame, "");
}
catch (Exception ex)
{
ConsolePrint("ERROR - 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 ConsoleProcessCommands(string cmd)
{
switch (cmd)
@ -1153,7 +883,7 @@ namespace NovetusLauncher
}
else
{
ConsolePrint("WebServer: There is already a web server on.", 2);
GlobalFuncs.ConsolePrint("WebServer: There is already a web server on.", 2, richTextBox1);
}
break;
case string webserverstop when string.Compare(webserverstop, "webserver stop", true, CultureInfo.InvariantCulture) == 0:
@ -1163,28 +893,28 @@ namespace NovetusLauncher
}
else
{
ConsolePrint("WebServer: There is no web server on.", 2);
GlobalFuncs.ConsolePrint("WebServer: There is no web server on.", 2, richTextBox1);
}
break;
case string webserverrestart when string.Compare(webserverrestart, "webserver restart", true, CultureInfo.InvariantCulture) == 0:
try
{
ConsolePrint("WebServer: Restarting...", 4);
GlobalFuncs.ConsolePrint("WebServer: Restarting...", 4, richTextBox1);
StopWebServer();
StartWebServer();
}
catch (Exception ex)
{
ConsolePrint("WebServer: Cannot restart web server. (" + ex.Message + ")", 2);
GlobalFuncs.ConsolePrint("WebServer: Cannot restart web server. (" + ex.Message + ")", 2, richTextBox1);
}
break;
case string important when string.Compare(important, LocalVars.important, true, CultureInfo.InvariantCulture) == 0:
GlobalVars.AdminMode = true;
ConsolePrint("ADMIN MODE ENABLED.", 4);
ConsolePrint("YOU ARE GOD.", 2);
GlobalFuncs.ConsolePrint("ADMIN MODE ENABLED.", 4, richTextBox1);
GlobalFuncs.ConsolePrint("YOU ARE GOD.", 2, richTextBox1);
break;
default:
ConsolePrint("ERROR 3 - Command is either not registered or valid", 2);
GlobalFuncs.ConsolePrint("ERROR 3 - Command is either not registered or valid", 2, richTextBox1);
break;
}
}
@ -1193,29 +923,29 @@ namespace NovetusLauncher
{
NovetusSDK im = new NovetusSDK();
im.Show();
ConsolePrint("Novetus SDK Launcher Loaded.", 4);
GlobalFuncs.ConsolePrint("Novetus SDK Launcher Loaded.", 4, richTextBox1);
}
void ConsoleHelp()
{
ConsolePrint("Help:", 3);
ConsolePrint("---------", 1);
ConsolePrint("= client | Launches client with launcher settings", 4);
ConsolePrint("= solo | Launches client in Play Solo mode with launcher settings", 4);
ConsolePrint("= server 3d | Launches server with launcher settings", 4);
ConsolePrint("= server no3d | Launches server in NoGraphics mode with launcher settings", 4);
ConsolePrint("= studio map | Launches Roblox Studio with the selected map", 4);
ConsolePrint("= studio nomap | Launches Roblox Studio without the selected map", 4);
ConsolePrint("= sdk | Launches the Novetus SDK Launcher", 4);
ConsolePrint("---------", 1);
ConsolePrint("= config save | Saves the config file", 4);
ConsolePrint("= config load | Reloads the config file", 4);
ConsolePrint("= config reset | Resets the config file", 4);
ConsolePrint("---------", 1);
ConsolePrint("= webserver restart | Restarts the web server", 4);
ConsolePrint("= webserver stop | Stops a web server if there is one on.", 4);
ConsolePrint("= webserver start | Starts a web server if there isn't one on yet.", 4);
ConsolePrint("---------", 1);
GlobalFuncs.ConsolePrint("Help:", 3, richTextBox1);
GlobalFuncs.ConsolePrint("---------", 1, richTextBox1);
GlobalFuncs.ConsolePrint("= client | Launches client with launcher settings", 4, richTextBox1);
GlobalFuncs.ConsolePrint("= solo | Launches client in Play Solo mode with launcher settings", 4, richTextBox1);
GlobalFuncs.ConsolePrint("= server 3d | Launches server with launcher settings", 4, richTextBox1);
GlobalFuncs.ConsolePrint("= server no3d | Launches server in NoGraphics mode with launcher settings", 4, richTextBox1);
GlobalFuncs.ConsolePrint("= studio map | Launches Roblox Studio with the selected map", 4, richTextBox1);
GlobalFuncs.ConsolePrint("= studio nomap | Launches Roblox Studio without the selected map", 4, richTextBox1);
GlobalFuncs.ConsolePrint("= sdk | Launches the Novetus SDK Launcher", 4, richTextBox1);
GlobalFuncs.ConsolePrint("---------", 1, richTextBox1);
GlobalFuncs.ConsolePrint("= config save | Saves the config file", 4, richTextBox1);
GlobalFuncs.ConsolePrint("= config load | Reloads the config file", 4, richTextBox1);
GlobalFuncs.ConsolePrint("= config reset | Resets the config file", 4, richTextBox1);
GlobalFuncs.ConsolePrint("---------", 1, richTextBox1);
GlobalFuncs.ConsolePrint("= webserver restart | Restarts the web server", 4, richTextBox1);
GlobalFuncs.ConsolePrint("= webserver stop | Stops a web server if there is one on.", 4, richTextBox1);
GlobalFuncs.ConsolePrint("= webserver start | Starts a web server if there isn't one on yet.", 4, richTextBox1);
GlobalFuncs.ConsolePrint("---------", 1, richTextBox1);
}
void Button21Click(object sender, EventArgs e)
@ -1240,18 +970,18 @@ namespace NovetusLauncher
process2.StartInfo = startInfo2;
process2.Start();
ConsolePrint("UserAgent Library successfully installed and registered!", 3);
GlobalFuncs.ConsolePrint("UserAgent Library successfully installed and registered!", 3, richTextBox1);
MessageBox.Show("UserAgent Library successfully installed and registered!", "Novetus - Register UserAgent Library", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
ConsolePrint("ERROR - Failed to register. (" + ex.Message + ")", 2);
GlobalFuncs.ConsolePrint("ERROR - Failed to register. (" + ex.Message + ")", 2, richTextBox1);
MessageBox.Show("Failed to register. (Error: " + ex.Message + ")","Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
else
{
ConsolePrint("ERROR - Failed to register. (Did not run as Administrator)", 2);
GlobalFuncs.ConsolePrint("ERROR - Failed to register. (Did not run as Administrator)", 2, richTextBox1);
MessageBox.Show("Failed to register. (Error: Did not run as Administrator)","Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
@ -1357,14 +1087,14 @@ namespace NovetusLauncher
addon.LoadAddon();
if (!string.IsNullOrWhiteSpace(addon.getInstallOutcome()))
{
ConsolePrint("AddonLoader - " + addon.getInstallOutcome(), 3);
GlobalFuncs.ConsolePrint("AddonLoader - " + addon.getInstallOutcome(), 3, richTextBox1);
}
}
catch (Exception)
{
if (!string.IsNullOrWhiteSpace(addon.getInstallOutcome()))
{
ConsolePrint("AddonLoader - " + addon.getInstallOutcome(), 2);
GlobalFuncs.ConsolePrint("AddonLoader - " + addon.getInstallOutcome(), 2, richTextBox1);
}
}
@ -1376,10 +1106,10 @@ namespace NovetusLauncher
private void button26_Click(object sender, EventArgs e)
{
if (Directory.Exists(LocalPaths.AssetCacheDir))
if (Directory.Exists(GlobalPaths.AssetCacheDir))
{
Directory.Delete(LocalPaths.AssetCacheDir, true);
ConsolePrint("Asset cache cleared!", 3);
Directory.Delete(GlobalPaths.AssetCacheDir, true);
GlobalFuncs.ConsolePrint("Asset cache cleared!", 3, richTextBox1);
MessageBox.Show("Asset cache cleared!");
}
else

View File

@ -42,134 +42,134 @@ namespace NovetusLauncher
//
}
#region UPnP
public void InitUPnP()
#region UPnP
public void InitUPnP()
{
if (GlobalVars.UserConfiguration.UPnP)
{
try
{
NetFuncs.InitUPnP(DeviceFound,DeviceLost);
ConsolePrint("UPnP: Service initialized", 3);
NetFuncs.InitUPnP(DeviceFound, DeviceLost);
GlobalFuncs.ConsolePrint("UPnP: Service initialized", 3, richTextBox1);
}
catch (Exception ex)
{
ConsolePrint("UPnP: Unable to initialize NetFuncs. Reason - " + ex.Message, 2);
{
GlobalFuncs.ConsolePrint("UPnP: Unable to initialize NetFuncs. Reason - " + ex.Message, 2, richTextBox1);
}
}
}
public void StartUPnP(INatDevice device, Protocol protocol, int port)
{
if (GlobalVars.UserConfiguration.UPnP)
{
try
{
NetFuncs.StartUPnP(device,protocol,port);
ConsolePrint("UPnP: Port " + port + " opened on '" + device.GetExternalIP() + "' (" + protocol.ToString() + ")", 3);
NetFuncs.StartUPnP(device, protocol, port);
GlobalFuncs.ConsolePrint("UPnP: Port " + port + " opened on '" + device.GetExternalIP() + "' (" + protocol.ToString() + ")", 3, richTextBox1);
}
catch (Exception ex)
{
ConsolePrint("UPnP: Unable to open port mapping. Reason - " + ex.Message, 2);
{
GlobalFuncs.ConsolePrint("UPnP: Unable to open port mapping. Reason - " + ex.Message, 2, richTextBox1);
}
}
}
public void StopUPnP(INatDevice device, Protocol protocol, int port)
{
if (GlobalVars.UserConfiguration.UPnP)
{
try
{
NetFuncs.StopUPnP(device,protocol,port);
ConsolePrint("UPnP: Port " + port + " closed on '" + device.GetExternalIP() + "' (" + protocol.ToString() + ")", 3);
NetFuncs.StopUPnP(device, protocol, port);
GlobalFuncs.ConsolePrint("UPnP: Port " + port + " closed on '" + device.GetExternalIP() + "' (" + protocol.ToString() + ")", 3, richTextBox1);
}
catch (Exception ex)
{
ConsolePrint("UPnP: Unable to close port mapping. Reason - " + ex.Message, 2);
{
GlobalFuncs.ConsolePrint("UPnP: Unable to close port mapping. Reason - " + ex.Message, 2, richTextBox1);
}
}
}
private void DeviceFound(object sender, DeviceEventArgs args)
{
try
{
INatDevice device = args.Device;
ConsolePrint("UPnP: Device '" + device.GetExternalIP() + "' registered.", 3);
GlobalFuncs.ConsolePrint("UPnP: Device '" + device.GetExternalIP() + "' registered.", 3, richTextBox1);
StartUPnP(device, Protocol.Udp, GlobalVars.UserConfiguration.RobloxPort);
StartUPnP(device, Protocol.Tcp, GlobalVars.UserConfiguration.RobloxPort);
StartUPnP(device, Protocol.Udp, GlobalVars.WebServerPort);
StartUPnP(device, Protocol.Tcp, GlobalVars.WebServerPort);
}
catch (Exception ex)
{
ConsolePrint("UPnP: Unable to register device. Reason - " + ex.Message, 2);
{
GlobalFuncs.ConsolePrint("UPnP: Unable to register device. Reason - " + ex.Message, 2, richTextBox1);
}
}
private void DeviceLost(object sender, DeviceEventArgs args)
{
try
{
INatDevice device = args.Device;
ConsolePrint("UPnP: Device '" + device.GetExternalIP() + "' disconnected.", 3);
StopUPnP(device, Protocol.Udp, GlobalVars.UserConfiguration.RobloxPort);
GlobalFuncs.ConsolePrint("UPnP: Device '" + device.GetExternalIP() + "' disconnected.", 3, richTextBox1);
StopUPnP(device, Protocol.Udp, GlobalVars.UserConfiguration.RobloxPort);
StopUPnP(device, Protocol.Tcp, GlobalVars.UserConfiguration.RobloxPort);
StopUPnP(device, Protocol.Udp, GlobalVars.WebServerPort);
StopUPnP(device, Protocol.Tcp, GlobalVars.WebServerPort);
}
}
catch (Exception ex)
{
ConsolePrint("UPnP: Unable to disconnect device. Reason - " + ex.Message, 2);
{
GlobalFuncs.ConsolePrint("UPnP: Unable to disconnect device. Reason - " + ex.Message, 2, richTextBox1);
}
}
#endregion
#endregion
#region Discord
public void ReadyCallback()
{
ConsolePrint("Discord RPC: Ready", 3);
}
#region Discord
public void ReadyCallback()
{
GlobalFuncs.ConsolePrint("Discord RPC: Ready", 3, richTextBox1);
}
public void DisconnectedCallback(int errorCode, string message)
{
ConsolePrint("Discord RPC: Disconnected. Reason - " + errorCode + ": " + message, 2);
}
public void DisconnectedCallback(int errorCode, string message)
{
GlobalFuncs.ConsolePrint("Discord RPC: Disconnected. Reason - " + errorCode + ": " + message, 2, richTextBox1);
}
public void ErrorCallback(int errorCode, string message)
{
ConsolePrint("Discord RPC: Error. Reason - " + errorCode + ": " + message, 2);
}
public void ErrorCallback(int errorCode, string message)
{
GlobalFuncs.ConsolePrint("Discord RPC: Error. Reason - " + errorCode + ": " + message, 2, richTextBox1);
}
public void JoinCallback(string secret)
{
}
public void JoinCallback(string secret)
{
}
public void SpectateCallback(string secret)
{
}
public void SpectateCallback(string secret)
{
}
public void RequestCallback(DiscordRPC.JoinRequest request)
{
}
void StartDiscord()
{
if (GlobalVars.UserConfiguration.DiscordPresence)
{
handlers = new DiscordRPC.EventHandlers();
handlers.readyCallback = ReadyCallback;
handlers.disconnectedCallback += DisconnectedCallback;
handlers.errorCallback += ErrorCallback;
handlers.joinCallback += JoinCallback;
handlers.spectateCallback += SpectateCallback;
handlers.requestCallback += RequestCallback;
DiscordRPC.Initialize(GlobalVars.appid, ref handlers, true, "");
public void RequestCallback(DiscordRPC.JoinRequest request)
{
}
GlobalFuncs.UpdateRichPresence(GlobalVars.LauncherState.InLauncher, "", true);
}
}
void StartDiscord()
{
if (GlobalVars.UserConfiguration.DiscordPresence)
{
handlers = new DiscordRPC.EventHandlers();
handlers.readyCallback = ReadyCallback;
handlers.disconnectedCallback += DisconnectedCallback;
handlers.errorCallback += ErrorCallback;
handlers.joinCallback += JoinCallback;
handlers.spectateCallback += SpectateCallback;
handlers.requestCallback += RequestCallback;
DiscordRPC.Initialize(GlobalVars.appid, ref handlers, true, "");
GlobalFuncs.UpdateRichPresence(GlobalVars.LauncherState.InLauncher, "", true);
}
}
#endregion
#region Web Server
@ -181,17 +181,17 @@ namespace NovetusLauncher
try
{
GlobalVars.WebServer = new SimpleHTTPServer(GlobalPaths.ServerDir, GlobalVars.WebServerPort);
ConsolePrint("WebServer: Server is running on port: " + GlobalVars.WebServer.Port.ToString(), 3);
GlobalFuncs.ConsolePrint("WebServer: Server is running on port: " + GlobalVars.WebServer.Port.ToString(), 3, richTextBox1);
}
catch (Exception ex)
{
ConsolePrint("WebServer: Failed to launch WebServer. Some features may not function. (" + ex.Message + ")", 2);
GlobalFuncs.ConsolePrint("WebServer: Failed to launch WebServer. Some features may not function. (" + ex.Message + ")", 2, richTextBox1);
label17.Visible = false;
}
}
else
{
ConsolePrint("WebServer: Failed to launch WebServer. Some features may not function. (Did not run as Administrator)", 2);
GlobalFuncs.ConsolePrint("WebServer: Failed to launch WebServer. Some features may not function. (Did not run as Administrator)", 2, richTextBox1);
label17.Visible = false;
}
}
@ -202,17 +202,17 @@ namespace NovetusLauncher
{
try
{
ConsolePrint("WebServer: Server has stopped on port: " + GlobalVars.WebServer.Port.ToString(), 2);
GlobalFuncs.ConsolePrint("WebServer: Server has stopped on port: " + GlobalVars.WebServer.Port.ToString(), 2, richTextBox1);
GlobalVars.WebServer.Stop();
}
catch (Exception ex)
{
ConsolePrint("WebServer: Failed to stop WebServer. Some features may not function. (" + ex.Message + ")", 2);
GlobalFuncs.ConsolePrint("WebServer: Failed to stop WebServer. Some features may not function. (" + ex.Message + ")", 2, richTextBox1);
}
}
else
{
ConsolePrint("WebServer: Failed to stop WebServer. Some features may not function. (Did not run as Administrator)", 2);
GlobalFuncs.ConsolePrint("WebServer: Failed to stop WebServer. Some features may not function. (Did not run as Administrator)", 2, richTextBox1);
}
}
#endregion
@ -406,8 +406,8 @@ namespace NovetusLauncher
void MainFormLoad(object sender, EventArgs e)
{
Text = "Novetus " + GlobalVars.ProgramInformation.Version;
ConsolePrint("Novetus version " + GlobalVars.ProgramInformation.Version + " loaded. Initializing config.", 4);
ConsolePrint("Novetus path: " + GlobalPaths.BasePath, 4);
GlobalFuncs.ConsolePrint("Novetus version " + GlobalVars.ProgramInformation.Version + " loaded. Initializing config.", 4, richTextBox1);
GlobalFuncs.ConsolePrint("Novetus path: " + GlobalPaths.BasePath, 4, richTextBox1);
if (File.Exists(GlobalPaths.RootPath + "\\changelog.txt"))
{
@ -415,7 +415,7 @@ namespace NovetusLauncher
}
else
{
ConsolePrint("ERROR - " + GlobalPaths.RootPath + "\\changelog.txt not found.", 2);
GlobalFuncs.ConsolePrint("ERROR - " + GlobalPaths.RootPath + "\\changelog.txt not found.", 2, richTextBox1);
}
if (File.Exists(GlobalPaths.RootPath + "\\credits.txt"))
@ -424,31 +424,31 @@ namespace NovetusLauncher
}
else
{
ConsolePrint("ERROR - " + GlobalPaths.RootPath + "\\credits.txt not found.", 2);
GlobalFuncs.ConsolePrint("ERROR - " + GlobalPaths.RootPath + "\\credits.txt not found.", 2, richTextBox1);
}
if (!File.Exists(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName))
{
ConsolePrint("WARNING - " + GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName + " not found. Creating one with default values.", 5);
GlobalFuncs.ConsolePrint("WARNING - " + GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName + " not found. Creating one with default values.", 5, richTextBox1);
WriteConfigValues();
}
if (!File.Exists(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigNameCustomization))
{
ConsolePrint("WARNING - " + GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigNameCustomization + " not found. Creating one with default values.", 5);
GlobalFuncs.ConsolePrint("WARNING - " + GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigNameCustomization + " not found. Creating one with default values.", 5, richTextBox1);
WriteCustomizationValues();
}
if (!File.Exists(GlobalPaths.ConfigDir + "\\servers.txt"))
{
ConsolePrint("WARNING - " + GlobalPaths.ConfigDir + "\\servers.txt not found. Creating empty file.", 5);
GlobalFuncs.ConsolePrint("WARNING - " + GlobalPaths.ConfigDir + "\\servers.txt not found. Creating empty file.", 5, richTextBox1);
File.Create(GlobalPaths.ConfigDir + "\\servers.txt").Dispose();
}
if (!File.Exists(GlobalPaths.ConfigDir + "\\ports.txt"))
{
ConsolePrint("WARNING - " + GlobalPaths.ConfigDir + "\\ports.txt not found. Creating empty file.", 5);
GlobalFuncs.ConsolePrint("WARNING - " + GlobalPaths.ConfigDir + "\\ports.txt not found. Creating empty file.", 5, richTextBox1);
File.Create(GlobalPaths.ConfigDir + "\\ports.txt").Dispose();
}
LauncherFuncs.CreateAssetCacheDirectories();
GlobalFuncs.CreateAssetCacheDirectories();
label8.Text = Application.ProductVersion;
LocalVars.important = SecurityFuncs.GenerateMD5(Assembly.GetExecutingAssembly().Location);
@ -543,20 +543,20 @@ namespace NovetusLauncher
break;
}
ConsolePrint("Config loaded.", 3);
GlobalFuncs.ConsolePrint("Config loaded.", 3, richTextBox1);
ReadClientValues(GlobalVars.UserConfiguration.SelectedClient);
}
void WriteConfigValues()
{
GlobalFuncs.Config(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName, true);
ConsolePrint("Config Saved.", 3);
GlobalFuncs.ConsolePrint("Config Saved.", 3, richTextBox1);
}
void WriteCustomizationValues()
{
GlobalFuncs.Customization(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigNameCustomization, true);
ConsolePrint("Config Saved.", 3);
GlobalFuncs.ConsolePrint("Config Saved.", 3, richTextBox1);
}
void ReadClientValues(string ClientName)
@ -565,7 +565,7 @@ namespace NovetusLauncher
if (!File.Exists(clientpath))
{
ConsolePrint("ERROR - No clientinfo.nov detected with the client you chose. The client either cannot be loaded, or it is not available.", 2);
GlobalFuncs.ConsolePrint("ERROR - No clientinfo.nov detected with the client you chose. The client either cannot be loaded, or it is not available.", 2, richTextBox1);
MessageBox.Show("No clientinfo.nov detected with the client you chose. The client either cannot be loaded, or it is not available.", "Novetus - Error while loading client", MessageBoxButtons.OK, MessageBoxIcon.Error);
GlobalVars.UserConfiguration.SelectedClient = GlobalVars.ProgramInformation.DefaultClient;
ReadClientValues(ClientName);
@ -614,7 +614,7 @@ namespace NovetusLauncher
textBox6.Text = GlobalVars.SelectedClientInfo.Description;
label26.Text = GlobalVars.UserConfiguration.SelectedClient;
ConsolePrint("Client '" + GlobalVars.UserConfiguration.SelectedClient + "' successfully loaded.", 3);
GlobalFuncs.ConsolePrint("Client '" + GlobalVars.UserConfiguration.SelectedClient + "' successfully loaded.", 3, richTextBox1);
}
}
@ -822,121 +822,36 @@ namespace NovetusLauncher
WriteConfigValues();
ReadConfigValues();
}
void ConsolePrint(string text, int type)
{
richTextBox1.AppendText("[" + DateTime.Now.ToShortTimeString() + "] - ", Color.White);
switch (type)
{
case 2:
richTextBox1.AppendText(text, Color.Red);
break;
case 3:
richTextBox1.AppendText(text, Color.Lime);
break;
case 4:
richTextBox1.AppendText(text, Color.Aqua);
break;
case 5:
richTextBox1.AppendText(text, Color.Yellow);
break;
case 6:
richTextBox1.AppendText(text, Color.LightSalmon);
break;
case 1:
default:
richTextBox1.AppendText(text, Color.White);
break;
}
richTextBox1.AppendText(Environment.NewLine);
}
//Rewrite these into one function. Preferably global.
void StartClient()
{
string luafile = GlobalFuncs.GetLuaFileName();
string rbxexe = GlobalFuncs.GetClientEXEDir(ScriptType.Client);
GlobalFuncs.LaunchRBXClient(ScriptType.Client, false, true, new EventHandler(ClientExited), richTextBox1);
}
string quote = "\"";
string args = "";
if (GlobalVars.SelectedClientInfo.CommandLineArgs.Equals("%args%"))
{
if (!GlobalVars.SelectedClientInfo.Fix2007)
{
args = "-script " + quote + GlobalFuncs.ChangeGameSettings() + " dofile('" + luafile + "'); " + ScriptFuncs.Generator.GetScriptFuncForType(ScriptType.Client) + quote;
}
else
{
ScriptFuncs.Generator.GenerateScriptForClient(ScriptType.Client);
args = "-script " + quote + luafile + quote;
}
}
else
{
args = ScriptFuncs.ClientScript.CompileScript(GlobalVars.SelectedClientInfo.CommandLineArgs, "<client>", "</client>", "", luafile, rbxexe);
}
try
{
ConsolePrint("Client Loaded.", 4);
if (!GlobalVars.AdminMode)
{
if (GlobalVars.SelectedClientInfo.AlreadyHasSecurity != true)
{
if (SecurityFuncs.checkClientMD5(GlobalVars.UserConfiguration.SelectedClient))
{
if (SecurityFuncs.checkScriptMD5(GlobalVars.UserConfiguration.SelectedClient))
{
OpenClient(rbxexe,args);
}
else
{
ConsolePrint("ERROR - Failed to launch Novetus. (The client has been detected as modified.)", 2);
MessageBox.Show("Failed to launch Novetus. (Error: The client has been detected as modified.)","Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
else
{
ConsolePrint("ERROR - Failed to launch Novetus. (The client has been detected as modified.)", 2);
MessageBox.Show("Failed to launch Novetus. (Error: The client has been detected as modified.)","Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
else
{
OpenClient(rbxexe,args);
}
}
else
{
OpenClient(rbxexe,args);
}
}
catch (Exception ex)
{
ConsolePrint("ERROR - Failed to launch Novetus. (" + ex.Message + ")", 2);
MessageBox.Show("Failed to launch Novetus. (Error: " + ex.Message + ")","Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
void OpenClient(string rbxexe, string args)
void StartSolo()
{
Process client = new Process();
client.StartInfo.FileName = rbxexe;
client.StartInfo.Arguments = args;
client.EnableRaisingEvents = true;
ReadClientValues(GlobalVars.UserConfiguration.SelectedClient);
client.Exited += new EventHandler(ClientExited);
client.Start();
client.PriorityClass = ProcessPriorityClass.RealTime;
SecurityFuncs.RenameWindow(client, ScriptType.Client, GlobalVars.UserConfiguration.Map);
GlobalFuncs.UpdateRichPresence(GlobalVars.LauncherState.InMPGame, GlobalVars.UserConfiguration.Map);
GlobalFuncs.LaunchRBXClient(ScriptType.Solo, false, false, new EventHandler(ClientExited), richTextBox1);
}
void StartServer(bool no3d)
{
GlobalFuncs.LaunchRBXClient(ScriptType.Server, no3d, false, new EventHandler(ServerExited), richTextBox1);
}
void StartStudio(bool nomap)
{
GlobalFuncs.LaunchRBXClient(ScriptType.Studio, false, nomap, new EventHandler(ClientExited), richTextBox1);
}
void StartEasterEgg()
{
GlobalFuncs.LaunchRBXClient(ScriptType.EasterEgg, false, false, new EventHandler(EasterEggExited), richTextBox1);
}
void ClientExited(object sender, EventArgs e)
{
GlobalFuncs.UpdateRichPresence(GlobalVars.LauncherState.InLauncher, "");
if (GlobalVars.UserConfiguration.CloseOnLaunch)
GlobalFuncs.UpdateRichPresence(GlobalVars.LauncherState.InLauncher, "");
if (GlobalVars.UserConfiguration.CloseOnLaunch)
{
Visible = true;
}
@ -960,191 +875,6 @@ namespace NovetusLauncher
}
}
void StartSolo()
{
string luafile = GlobalFuncs.GetLuaFileName();
string rbxexe = GlobalFuncs.GetClientEXEDir(ScriptType.Solo);
string mapfile = GlobalVars.UserConfiguration.MapPath;
string quote = "\"";
string args = "";
if (GlobalVars.SelectedClientInfo.CommandLineArgs.Equals("%args%"))
{
if (!GlobalVars.SelectedClientInfo.Fix2007)
{
args = quote + mapfile + "\" -script \"" + GlobalFuncs.ChangeGameSettings() + " dofile('" + luafile + "'); " + ScriptFuncs.Generator.GetScriptFuncForType(ScriptType.Solo) + quote;
}
else
{
ScriptFuncs.Generator.GenerateScriptForClient(ScriptType.Solo);
args = "-script " + quote + luafile + quote + " " + quote + mapfile + quote;
}
}
else
{
args = ScriptFuncs.ClientScript.CompileScript(GlobalVars.SelectedClientInfo.CommandLineArgs, "<solo>", "</solo>", mapfile, luafile, rbxexe);
}
try
{
ConsolePrint("Play Solo Loaded.", 4);
Process client = new Process();
client.StartInfo.FileName = rbxexe;
client.StartInfo.Arguments = args;
client.EnableRaisingEvents = true;
ReadClientValues(GlobalVars.UserConfiguration.SelectedClient);
client.Exited += new EventHandler(ClientExited);
client.Start();
client.PriorityClass = ProcessPriorityClass.RealTime;
SecurityFuncs.RenameWindow(client, ScriptType.Solo, GlobalVars.UserConfiguration.Map);
GlobalFuncs.UpdateRichPresence(GlobalVars.LauncherState.InSoloGame, GlobalVars.UserConfiguration.Map);
}
catch (Exception ex)
{
ConsolePrint("ERROR - Failed to launch Novetus. (" + ex.Message + ")", 2);
MessageBox.Show("Failed to launch Novetus. (Error: " + ex.Message + ")","Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
void StartServer(bool no3d)
{
string luafile = GlobalFuncs.GetLuaFileName();
string rbxexe = GlobalFuncs.GetClientEXEDir(ScriptType.Server);
string mapfile = GlobalVars.UserConfiguration.MapPath;
string quote = "\"";
string args = "";
if (GlobalVars.SelectedClientInfo.CommandLineArgs.Equals("%args%"))
{
if (!GlobalVars.SelectedClientInfo.Fix2007)
{
args = quote + mapfile + "\" -script \"" + GlobalFuncs.ChangeGameSettings() + " dofile('" + luafile + "'); " + ScriptFuncs.Generator.GetScriptFuncForType(ScriptType.Server) + "; " + (!string.IsNullOrWhiteSpace(GlobalPaths.AddonScriptPath) ? GlobalFuncs.ChangeGameSettings() + " dofile('" + GlobalPaths.AddonScriptPath + "');" : "") + quote + (no3d ? " -no3d" : "");
}
else
{
ScriptFuncs.Generator.GenerateScriptForClient(ScriptType.Server);
args = "-script " + quote + luafile + quote + (no3d ? " -no3d" : "") + " " + quote + mapfile + quote;
}
}
else
{
if (!no3d)
{
args = ScriptFuncs.ClientScript.CompileScript(GlobalVars.SelectedClientInfo.CommandLineArgs, "<server>", "</server>", mapfile, luafile, rbxexe);
}
else
{
args = ScriptFuncs.ClientScript.CompileScript(GlobalVars.SelectedClientInfo.CommandLineArgs, "<no3d>", "</no3d>", mapfile, luafile, rbxexe);
}
}
try
{
//when we add upnp, change this
ConsolePrint("Server Loaded.", 4);
Process client = new Process();
client.StartInfo.FileName = rbxexe;
client.StartInfo.Arguments = args;
client.EnableRaisingEvents = true;
ReadClientValues(GlobalVars.UserConfiguration.SelectedClient);
client.Exited += new EventHandler(ServerExited);
client.Start();
client.PriorityClass = ProcessPriorityClass.RealTime;
SecurityFuncs.RenameWindow(client, ScriptType.Server, GlobalVars.UserConfiguration.Map);
}
catch (Exception ex)
{
ConsolePrint("ERROR - Failed to launch Novetus. (" + ex.Message + ")", 2);
MessageBox.Show("Failed to launch Novetus. (Error: " + ex.Message + ")","Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
void StartStudio(bool nomap)
{
string luafile = GlobalFuncs.GetLuaFileName();
string rbxexe = GlobalFuncs.GetClientEXEDir(ScriptType.Studio);
string mapfile = (nomap ? "" : GlobalVars.UserConfiguration.MapPath);
string mapname = (nomap ? "" : GlobalVars.UserConfiguration.Map);
string quote = "\"";
string args = "";
if (GlobalVars.SelectedClientInfo.CommandLineArgs.Equals("%args%"))
{
if (!GlobalVars.SelectedClientInfo.Fix2007)
{
args = quote + mapfile + "\" -script \"" + GlobalFuncs.ChangeGameSettings() + " dofile('" + luafile + "'); " + ScriptFuncs.Generator.GetScriptFuncForType(ScriptType.Studio) + quote;
}
else
{
ScriptFuncs.Generator.GenerateScriptForClient(ScriptType.Studio);
args = "-script " + quote + luafile + quote + " " + quote + mapfile + quote;
}
}
else
{
args = ScriptFuncs.ClientScript.CompileScript(GlobalVars.SelectedClientInfo.CommandLineArgs, "<studio>", "</studio>", mapfile, luafile, rbxexe);
}
try
{
ConsolePrint("Studio Loaded.", 4);
Process client = new Process();
client.StartInfo.FileName = rbxexe;
client.StartInfo.Arguments = args;
client.EnableRaisingEvents = true;
ReadClientValues(GlobalVars.UserConfiguration.SelectedClient);
client.Exited += new EventHandler(ClientExited);
client.Start();
client.PriorityClass = ProcessPriorityClass.RealTime;
SecurityFuncs.RenameWindow(client, ScriptType.Studio, mapname);
GlobalFuncs.UpdateRichPresence(GlobalVars.LauncherState.InStudio, mapname);
}
catch (Exception ex)
{
ConsolePrint("ERROR - Failed to launch Novetus. (" + ex.Message + ")", 2);
MessageBox.Show("Failed to launch Novetus. (Error: " + ex.Message + ")","Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
void StartEasterEgg()
{
label12.Text = "<3";
string luafile = GlobalFuncs.GetLuaFileName();
string rbxexe = GlobalFuncs.GetClientEXEDir(ScriptType.EasterEgg);
string mapfile = GlobalPaths.ConfigDirData + "\\Appreciation.rbxl";
string quote = "\"";
string args = "";
if (GlobalVars.SelectedClientInfo.CommandLineArgs.Equals("%args%"))
{
if (!GlobalVars.SelectedClientInfo.Fix2007)
{
args = quote + mapfile + "\" -script \"" + GlobalFuncs.ChangeGameSettings() + " dofile('" + luafile + "'); " + ScriptFuncs.Generator.GetScriptFuncForType(ScriptType.EasterEgg) + quote;
}
else
{
ScriptFuncs.Generator.GenerateScriptForClient(ScriptType.EasterEgg);
args = "-script " + quote + luafile + quote + " " + quote + mapfile + quote;
}
}
else
{
args = ScriptFuncs.ClientScript.CompileScript(GlobalVars.SelectedClientInfo.CommandLineArgs, "<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.UserConfiguration.SelectedClient);
client.Start();
client.Exited += new EventHandler(EasterEggExited);
client.PriorityClass = ProcessPriorityClass.RealTime;
SecurityFuncs.RenameWindow(client, ScriptType.EasterEgg, "");
GlobalFuncs.UpdateRichPresence(GlobalVars.LauncherState.InEasterEggGame, "");
}
catch (Exception ex)
{
ConsolePrint("ERROR - 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 ConsoleProcessCommands(string cmd)
{
switch(cmd)
@ -1189,7 +919,7 @@ namespace NovetusLauncher
}
else
{
ConsolePrint("WebServer: There is already a web server on.", 2);
GlobalFuncs.ConsolePrint("WebServer: There is already a web server on.", 2, richTextBox1);
}
break;
case string webserverstop when string.Compare(webserverstop, "webserver stop", true, CultureInfo.InvariantCulture) == 0:
@ -1199,28 +929,28 @@ namespace NovetusLauncher
}
else
{
ConsolePrint("WebServer: There is no web server on.", 2);
GlobalFuncs.ConsolePrint("WebServer: There is no web server on.", 2, richTextBox1);
}
break;
case string webserverrestart when string.Compare(webserverrestart, "webserver restart", true, CultureInfo.InvariantCulture) == 0:
try
{
ConsolePrint("WebServer: Restarting...", 4);
GlobalFuncs.ConsolePrint("WebServer: Restarting...", 4, richTextBox1);
StopWebServer();
StartWebServer();
}
catch (Exception ex)
{
ConsolePrint("WebServer: Cannot restart web server. (" + ex.Message + ")", 2);
GlobalFuncs.ConsolePrint("WebServer: Cannot restart web server. (" + ex.Message + ")", 2, richTextBox1);
}
break;
case string important when string.Compare(important, LocalVars.important, true, CultureInfo.InvariantCulture) == 0:
GlobalVars.AdminMode = true;
ConsolePrint("ADMIN MODE ENABLED.", 4);
ConsolePrint("YOU ARE GOD.", 2);
GlobalFuncs.ConsolePrint("ADMIN MODE ENABLED.", 4, richTextBox1);
GlobalFuncs.ConsolePrint("YOU ARE GOD.", 2, richTextBox1);
break;
default:
ConsolePrint("ERROR 3 - Command is either not registered or valid", 2);
GlobalFuncs.ConsolePrint("ERROR 3 - Command is either not registered or valid", 2, richTextBox1);
break;
}
}
@ -1229,29 +959,29 @@ namespace NovetusLauncher
{
NovetusSDK im = new NovetusSDK();
im.Show();
ConsolePrint("Novetus SDK Launcher Loaded.", 4);
GlobalFuncs.ConsolePrint("Novetus SDK Launcher Loaded.", 4, richTextBox1);
}
void ConsoleHelp()
{
ConsolePrint("Help:", 3);
ConsolePrint("---------", 1);
ConsolePrint("= client | Launches client with launcher settings", 3);
ConsolePrint("= solo | Launches client in Play Solo mode with launcher settings", 3);
ConsolePrint("= server 3d | Launches server with launcher settings", 3);
ConsolePrint("= server no3d | Launches server in NoGraphics mode with launcher settings", 3);
ConsolePrint("= studio map | Launches Roblox Studio with the selected map",34);
ConsolePrint("= studio nomap | Launches Roblox Studio without the selected map", 3);
ConsolePrint("= sdk | Launches the Novetus SDK Launcher", 3);
ConsolePrint("---------", 1);
ConsolePrint("= config save | Saves the config file", 3);
ConsolePrint("= config load | Reloads the config file", 3);
ConsolePrint("= config reset | Resets the config file", 3);
ConsolePrint("---------", 1);
ConsolePrint("= webserver restart | Restarts the web server", 3);
ConsolePrint("= webserver stop | Stops a web server if there is one on.", 3);
ConsolePrint("= webserver start | Starts a web server if there isn't one on yet.", 3);
ConsolePrint("---------", 1);
GlobalFuncs.ConsolePrint("Help:", 3, richTextBox1);
GlobalFuncs.ConsolePrint("---------", 1, richTextBox1);
GlobalFuncs.ConsolePrint("= client | Launches client with launcher settings", 4, richTextBox1);
GlobalFuncs.ConsolePrint("= solo | Launches client in Play Solo mode with launcher settings", 4, richTextBox1);
GlobalFuncs.ConsolePrint("= server 3d | Launches server with launcher settings", 4, richTextBox1);
GlobalFuncs.ConsolePrint("= server no3d | Launches server in NoGraphics mode with launcher settings", 4, richTextBox1);
GlobalFuncs.ConsolePrint("= studio map | Launches Roblox Studio with the selected map", 4, richTextBox1);
GlobalFuncs.ConsolePrint("= studio nomap | Launches Roblox Studio without the selected map", 4, richTextBox1);
GlobalFuncs.ConsolePrint("= sdk | Launches the Novetus SDK Launcher", 4, richTextBox1);
GlobalFuncs.ConsolePrint("---------", 1, richTextBox1);
GlobalFuncs.ConsolePrint("= config save | Saves the config file", 4, richTextBox1);
GlobalFuncs.ConsolePrint("= config load | Reloads the config file", 4, richTextBox1);
GlobalFuncs.ConsolePrint("= config reset | Resets the config file", 4, richTextBox1);
GlobalFuncs.ConsolePrint("---------", 1, richTextBox1);
GlobalFuncs.ConsolePrint("= webserver restart | Restarts the web server", 4, richTextBox1);
GlobalFuncs.ConsolePrint("= webserver stop | Stops a web server if there is one on.", 4, richTextBox1);
GlobalFuncs.ConsolePrint("= webserver start | Starts a web server if there isn't one on yet.", 4, richTextBox1);
GlobalFuncs.ConsolePrint("---------", 1, richTextBox1);
}
void Button21Click(object sender, EventArgs e)
@ -1276,18 +1006,18 @@ namespace NovetusLauncher
process2.StartInfo = startInfo2;
process2.Start();
ConsolePrint("UserAgent Library successfully installed and registered!", 3);
GlobalFuncs.ConsolePrint("UserAgent Library successfully installed and registered!", 3, richTextBox1);
MessageBox.Show("UserAgent Library successfully installed and registered!", "Novetus - Register UserAgent Library", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
ConsolePrint("ERROR - Failed to register. (" + ex.Message + ")", 2);
GlobalFuncs.ConsolePrint("ERROR - Failed to register. (" + ex.Message + ")", 2, richTextBox1);
MessageBox.Show("Failed to register. (Error: " + ex.Message + ")","Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
else
{
ConsolePrint("ERROR - Failed to register. (Did not run as Administrator)", 2);
GlobalFuncs.ConsolePrint("ERROR - Failed to register. (Did not run as Administrator)", 2, richTextBox1);
MessageBox.Show("Failed to register. (Error: Did not run as Administrator)","Novetus - Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
@ -1393,14 +1123,14 @@ namespace NovetusLauncher
addon.LoadAddon();
if (!string.IsNullOrWhiteSpace(addon.getInstallOutcome()))
{
ConsolePrint("AddonLoader - " + addon.getInstallOutcome(), 3);
GlobalFuncs.ConsolePrint("AddonLoader - " + addon.getInstallOutcome(), 3, richTextBox1);
}
}
catch (Exception)
{
if (!string.IsNullOrWhiteSpace(addon.getInstallOutcome()))
{
ConsolePrint("AddonLoader - " + addon.getInstallOutcome(), 2);
GlobalFuncs.ConsolePrint("AddonLoader - " + addon.getInstallOutcome(), 2, richTextBox1);
}
}
@ -1412,10 +1142,10 @@ namespace NovetusLauncher
private void button26_Click(object sender, EventArgs e)
{
if (Directory.Exists(LocalPaths.AssetCacheDir))
if (Directory.Exists(GlobalPaths.AssetCacheDir))
{
Directory.Delete(LocalPaths.AssetCacheDir, true);
ConsolePrint("Asset cache cleared!", 3);
Directory.Delete(GlobalPaths.AssetCacheDir, true);
GlobalFuncs.ConsolePrint("Asset cache cleared!", 3, richTextBox1);
MessageBox.Show("Asset cache cleared!");
}
else

View File

@ -1,198 +0,0 @@
namespace NovetusLauncher
{
partial class AssetLocalizer
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AssetLocalizer));
this.button1 = new System.Windows.Forms.Button();
this.comboBox1 = new System.Windows.Forms.ComboBox();
this.label2 = new System.Windows.Forms.Label();
this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
this.textBox1 = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.comboBox2 = new System.Windows.Forms.ComboBox();
this.label3 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.progressBar1 = new System.Windows.Forms.ProgressBar();
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(12, 120);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(254, 21);
this.button1.TabIndex = 0;
this.button1.Text = "Browse and Localize Asset";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// comboBox1
//
this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBox1.FormattingEnabled = true;
this.comboBox1.Items.AddRange(new object[] {
"RBXL",
"RBXM",
"Hat",
"Head",
"Face",
"Shirt",
"T-Shirt",
"Pants"});
this.comboBox1.Location = new System.Drawing.Point(81, 12);
this.comboBox1.Name = "comboBox1";
this.comboBox1.Size = new System.Drawing.Size(185, 21);
this.comboBox1.TabIndex = 1;
this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged);
//
// label2
//
this.label2.Location = new System.Drawing.Point(12, 144);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(254, 13);
this.label2.TabIndex = 3;
this.label2.Text = "Idle";
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// backgroundWorker1
//
this.backgroundWorker1.WorkerReportsProgress = true;
this.backgroundWorker1.WorkerSupportsCancellation = true;
this.backgroundWorker1.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorker1_DoWork);
this.backgroundWorker1.ProgressChanged += new System.ComponentModel.ProgressChangedEventHandler(this.backgroundWorker1_ProgressChanged);
this.backgroundWorker1.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.backgroundWorker1_RunWorkerCompleted);
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(140, 39);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(126, 20);
this.textBox1.TabIndex = 4;
this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(12, 42);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(125, 13);
this.label1.TabIndex = 5;
this.label1.Text = "Asset Name (Items Only):";
//
// comboBox2
//
this.comboBox2.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBox2.FormattingEnabled = true;
this.comboBox2.Items.AddRange(new object[] {
"None"});
this.comboBox2.Location = new System.Drawing.Point(140, 65);
this.comboBox2.Name = "comboBox2";
this.comboBox2.Size = new System.Drawing.Size(126, 21);
this.comboBox2.TabIndex = 6;
this.comboBox2.SelectedIndexChanged += new System.EventHandler(this.comboBox2_SelectedIndexChanged);
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(12, 68);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(118, 13);
this.label3.TabIndex = 7;
this.label3.Text = "Uses Mesh (Hats Only):";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(12, 15);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(63, 13);
this.label4.TabIndex = 8;
this.label4.Text = "Asset Type:";
//
// progressBar1
//
this.progressBar1.Location = new System.Drawing.Point(12, 160);
this.progressBar1.Name = "progressBar1";
this.progressBar1.Size = new System.Drawing.Size(254, 16);
this.progressBar1.TabIndex = 9;
//
// checkBox1
//
this.checkBox1.AutoSize = true;
this.checkBox1.Location = new System.Drawing.Point(93, 97);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new System.Drawing.Size(96, 17);
this.checkBox1.TabIndex = 10;
this.checkBox1.Text = "Save Backups";
this.checkBox1.UseVisualStyleBackColor = true;
this.checkBox1.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged);
//
// AssetLocalizer
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.ClientSize = new System.Drawing.Size(278, 188);
this.Controls.Add(this.checkBox1);
this.Controls.Add(this.progressBar1);
this.Controls.Add(this.label4);
this.Controls.Add(this.label3);
this.Controls.Add(this.comboBox2);
this.Controls.Add(this.label1);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.label2);
this.Controls.Add(this.comboBox1);
this.Controls.Add(this.button1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.Name = "AssetLocalizer";
this.Text = "Novetus Asset Localizer";
this.Closing += new System.ComponentModel.CancelEventHandler(this.AssetLocalizer_Close);
this.Load += new System.EventHandler(this.AssetLocalizer_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button button1;
private System.Windows.Forms.ComboBox comboBox1;
private System.Windows.Forms.Label label2;
private System.ComponentModel.BackgroundWorker backgroundWorker1;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.ComboBox comboBox2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.ProgressBar progressBar1;
private System.Windows.Forms.CheckBox checkBox1;
}
}

View File

@ -1,72 +0,0 @@
/*
* Created by SharpDevelop.
* User: BITL
* Date: 12/19/2018
* Time: 8:15 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
namespace NovetusLauncher
{
partial class ClientScriptDocumentation
{
/// <summary>
/// Designer variable used to keep track of non-visual components.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Disposes resources used by the form.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing) {
if (components != null) {
components.Dispose();
}
}
base.Dispose(disposing);
}
/// <summary>
/// This method is required for Windows Forms designer support.
/// Do not change the method contents inside the source code editor. The Forms designer might
/// not be able to load this method if it was changed manually.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ClientScriptDocumentation));
this.richTextBox1 = new System.Windows.Forms.RichTextBox();
this.SuspendLayout();
//
// richTextBox1
//
this.richTextBox1.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.richTextBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.richTextBox1.Location = new System.Drawing.Point(0, 0);
this.richTextBox1.Name = "richTextBox1";
this.richTextBox1.ReadOnly = true;
this.richTextBox1.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.Vertical;
this.richTextBox1.Size = new System.Drawing.Size(648, 338);
this.richTextBox1.TabIndex = 0;
this.richTextBox1.Text = "";
//
// ClientScriptDocumentation
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.ClientSize = new System.Drawing.Size(648, 337);
this.Controls.Add(this.richTextBox1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.Name = "ClientScriptDocumentation";
this.Text = "ClientScript Documentation";
this.Load += new System.EventHandler(this.ClientScriptDocumentationLoad);
this.ResumeLayout(false);
}
private System.Windows.Forms.RichTextBox richTextBox1;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,153 +0,0 @@
namespace NovetusLauncher
{
partial class DiogenesEditor
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DiogenesEditor));
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.newToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.loadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.richTextBox1 = new System.Windows.Forms.RichTextBox();
this.saveAsTextToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.menuStrip1.SuspendLayout();
this.SuspendLayout();
//
// menuStrip1
//
this.menuStrip1.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.fileToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(804, 24);
this.menuStrip1.TabIndex = 0;
this.menuStrip1.Text = "menuStrip1";
//
// fileToolStripMenuItem
//
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.newToolStripMenuItem,
this.loadToolStripMenuItem,
this.saveToolStripMenuItem,
this.saveAsTextToolStripMenuItem});
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
this.fileToolStripMenuItem.Text = "File";
//
// newToolStripMenuItem
//
this.newToolStripMenuItem.Name = "newToolStripMenuItem";
this.newToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.newToolStripMenuItem.Text = "New";
this.newToolStripMenuItem.Click += new System.EventHandler(this.NewToolStripMenuItemClick);
//
// loadToolStripMenuItem
//
this.loadToolStripMenuItem.Name = "loadToolStripMenuItem";
this.loadToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.loadToolStripMenuItem.Text = "Load";
this.loadToolStripMenuItem.Click += new System.EventHandler(this.LoadToolStripMenuItemClick);
//
// saveToolStripMenuItem
//
this.saveToolStripMenuItem.Name = "saveToolStripMenuItem";
this.saveToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.saveToolStripMenuItem.Text = "Save";
this.saveToolStripMenuItem.Click += new System.EventHandler(this.SaveToolStripMenuItemClick);
//
// richTextBox1
//
this.richTextBox1.Location = new System.Drawing.Point(2, 27);
this.richTextBox1.Name = "richTextBox1";
this.richTextBox1.Size = new System.Drawing.Size(800, 423);
this.richTextBox1.TabIndex = 1;
this.richTextBox1.Text = "";
//
// saveAsTextToolStripMenuItem
//
this.saveAsTextToolStripMenuItem.Name = "saveAsTextToolStripMenuItem";
this.saveAsTextToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.saveAsTextToolStripMenuItem.Text = "Save as Text File";
this.saveAsTextToolStripMenuItem.Click += new System.EventHandler(this.saveAsTextFileToolStripMenuItem_Click);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(630, 5);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(93, 13);
this.label1.TabIndex = 2;
this.label1.Text = "Diogenes Version:";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(729, 5);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(63, 13);
this.label2.TabIndex = 3;
this.label2.Text = "Not Loaded";
//
// DiogenesEditor
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.ClientSize = new System.Drawing.Size(804, 452);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Controls.Add(this.richTextBox1);
this.Controls.Add(this.menuStrip1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "DiogenesEditor";
this.Text = "Diogenes Editor";
this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.MenuStrip menuStrip1;
private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem newToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem loadToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem saveToolStripMenuItem;
private System.Windows.Forms.RichTextBox richTextBox1;
private System.Windows.Forms.ToolStripMenuItem saveAsTextToolStripMenuItem;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
}
}

View File

@ -1,174 +0,0 @@
/*
* Created by SharpDevelop.
* User: BITL
* Date: 10/31/2018
* Time: 11:55 AM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
namespace NovetusLauncher
{
partial class ItemMaker
{
/// <summary>
/// Designer variable used to keep track of non-visual components.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Disposes resources used by the form.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing) {
if (components != null) {
components.Dispose();
}
}
base.Dispose(disposing);
}
/// <summary>
/// This method is required for Windows Forms designer support.
/// Do not change the method contents inside the source code editor. The Forms designer might
/// not be able to load this method if it was changed manually.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ItemMaker));
this.button1 = new System.Windows.Forms.Button();
this.textBox2 = new System.Windows.Forms.TextBox();
this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.comboBox1 = new System.Windows.Forms.ComboBox();
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.label1 = new System.Windows.Forms.Label();
this.textBox1 = new System.Windows.Forms.TextBox();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(3, 80);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(238, 23);
this.button1.TabIndex = 1;
this.button1.Text = "Create!";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.Button1Click);
//
// textBox2
//
this.textBox2.Location = new System.Drawing.Point(98, 25);
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(76, 20);
this.textBox2.TabIndex = 2;
//
// numericUpDown1
//
this.numericUpDown1.Location = new System.Drawing.Point(193, 25);
this.numericUpDown1.Maximum = new decimal(new int[] {
99,
0,
0,
0});
this.numericUpDown1.Name = "numericUpDown1";
this.numericUpDown1.Size = new System.Drawing.Size(36, 20);
this.numericUpDown1.TabIndex = 3;
//
// label2
//
this.label2.Location = new System.Drawing.Point(116, 9);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(41, 14);
this.label2.TabIndex = 6;
this.label2.Text = "Item ID";
//
// label3
//
this.label3.Location = new System.Drawing.Point(190, 9);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(42, 14);
this.label3.TabIndex = 7;
this.label3.Text = "Version";
this.label3.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// comboBox1
//
this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBox1.FormattingEnabled = true;
this.comboBox1.Items.AddRange(new object[] {
"http://www.roblox.com/",
"http://assetgame.roblox.com/",
"https://www.roblox.com/catalog/",
"https://www.roblox.com/library/"});
this.comboBox1.Location = new System.Drawing.Point(3, 53);
this.comboBox1.Name = "comboBox1";
this.comboBox1.Size = new System.Drawing.Size(238, 21);
this.comboBox1.TabIndex = 8;
this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.ComboBox1SelectedIndexChanged);
//
// checkBox1
//
this.checkBox1.Location = new System.Drawing.Point(12, 109);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new System.Drawing.Size(220, 24);
this.checkBox1.TabIndex = 9;
this.checkBox1.Text = "Disable Help Message on Item Creation";
this.checkBox1.UseVisualStyleBackColor = true;
this.checkBox1.CheckedChanged += new System.EventHandler(this.CheckBox1CheckedChanged);
//
// label1
//
this.label1.Location = new System.Drawing.Point(33, 9);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(35, 14);
this.label1.TabIndex = 11;
this.label1.Text = "Name";
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(12, 25);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(76, 20);
this.textBox1.TabIndex = 12;
//
// ItemMaker
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.ClientSize = new System.Drawing.Size(244, 136);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.label1);
this.Controls.Add(this.checkBox1);
this.Controls.Add(this.comboBox1);
this.Controls.Add(this.label3);
this.Controls.Add(this.label2);
this.Controls.Add(this.numericUpDown1);
this.Controls.Add(this.textBox2);
this.Controls.Add(this.button1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.Name = "ItemMaker";
this.Text = "Novetus Item SDK";
this.Load += new System.EventHandler(this.ItemMakerLoad);
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
private System.Windows.Forms.ComboBox comboBox1;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.NumericUpDown numericUpDown1;
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.CheckBox checkBox1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox textBox1;
}
}

View File

@ -1,103 +0,0 @@
namespace NovetusLauncher
{
partial class NovetusSDK
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(NovetusSDK));
this.pictureBox2 = new System.Windows.Forms.PictureBox();
this.label1 = new System.Windows.Forms.Label();
this.listBox1 = new System.Windows.Forms.ListBox();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
this.SuspendLayout();
//
// pictureBox2
//
this.pictureBox2.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("pictureBox2.BackgroundImage")));
this.pictureBox2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
this.pictureBox2.Location = new System.Drawing.Point(12, 12);
this.pictureBox2.Name = "pictureBox2";
this.pictureBox2.Size = new System.Drawing.Size(260, 52);
this.pictureBox2.TabIndex = 8;
this.pictureBox2.TabStop = false;
//
// label1
//
this.label1.Location = new System.Drawing.Point(12, 168);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(260, 16);
this.label1.TabIndex = 12;
this.label1.Text = "v1.0";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// listBox1
//
this.listBox1.FormattingEnabled = true;
this.listBox1.Items.AddRange(new object[] {
"Item SDK",
"Client SDK",
"ClientScript Documentation",
"Asset Localizer",
"Splash Tester",
"RBXMeshConverter GUI",
"ROBLOX Script Generator",
"ROBLOX Legacy Place Converter",
"Diogenes Editor"});
this.listBox1.Location = new System.Drawing.Point(12, 70);
this.listBox1.Name = "listBox1";
this.listBox1.Size = new System.Drawing.Size(260, 95);
this.listBox1.TabIndex = 14;
this.listBox1.DoubleClick += new System.EventHandler(this.listBox1_SelectedIndexChanged);
//
// NovetusSDK
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.ClientSize = new System.Drawing.Size(284, 193);
this.Controls.Add(this.listBox1);
this.Controls.Add(this.label1);
this.Controls.Add(this.pictureBox2);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.Name = "NovetusSDK";
this.Text = "Novetus SDK";
this.Load += new System.EventHandler(this.NovetusSDK_Load);
this.Closing += new System.ComponentModel.CancelEventHandler(this.NovetusSDK_Close);
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.PictureBox pictureBox2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.ListBox listBox1;
}
}

View File

@ -1,39 +0,0 @@
#region Usings
using System;
using System.ComponentModel;
using System.Diagnostics;
using System.Windows.Forms;
#endregion
namespace NovetusLauncher
{
#region Novetus SDK Launcher
public partial class NovetusSDK : Form
{
#region Constructor
public NovetusSDK()
{
InitializeComponent();
}
#endregion
#region Form Events
private void NovetusSDK_Load(object sender, EventArgs e)
{
Text = "Novetus SDK " + GlobalVars.ProgramInformation.Version;
label1.Text = GlobalVars.ProgramInformation.Version;
}
private void NovetusSDK_Close(object sender, CancelEventArgs e)
{
GlobalFuncs.Config(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName, true);
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
SDKFuncs.LaunchSDKAppByIndex(listBox1.SelectedIndex);
}
#endregion
}
#endregion
}

View File

@ -1,128 +0,0 @@
namespace NovetusLauncher
{
partial class Obj2MeshV1GUI
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Obj2MeshV1GUI));
this.button1 = new System.Windows.Forms.Button();
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();
//
// button1
//
this.button1.Location = new System.Drawing.Point(12, 34);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(239, 23);
this.button1.TabIndex = 0;
this.button1.Text = "Browse for mesh and convert...";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// label1
//
this.label1.AutoSize = true;
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;
this.label1.Text = "RBXMeshConverter built by coke.";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(64, 10);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(74, 13);
this.label2.TabIndex = 2;
this.label2.Text = "Mesh Version:";
//
// numericUpDown1
//
this.numericUpDown1.Location = new System.Drawing.Point(144, 8);
this.numericUpDown1.Maximum = new decimal(new int[] {
2,
0,
0,
0});
this.numericUpDown1.Minimum = new decimal(new int[] {
1,
0,
0,
0});
this.numericUpDown1.Name = "numericUpDown1";
this.numericUpDown1.Size = new System.Drawing.Size(56, 20);
this.numericUpDown1.TabIndex = 3;
this.numericUpDown1.Value = new decimal(new int[] {
1,
0,
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, 92);
this.Controls.Add(this.label4);
this.Controls.Add(this.numericUpDown1);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Controls.Add(this.button1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.Name = "Obj2MeshV1GUI";
this.Text = "RBXMeshConverter";
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button button1;
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

@ -1,63 +0,0 @@
#region Usings
using System;
using System.Diagnostics;
using System.IO;
using System.Windows.Forms;
#endregion
namespace NovetusLauncher
{
#region RBXMeshConverter GUI
public partial class Obj2MeshV1GUI : Form
{
#region Private Variables
private OpenFileDialog openFileDialog1;
#endregion
#region Constructor
public Obj2MeshV1GUI()
{
InitializeComponent();
openFileDialog1 = new OpenFileDialog()
{
FileName = "Select a .OBJ file",
Filter = "Wavefront .obj file (*.obj)|*.obj",
Title = "Open model .obj"
};
}
#endregion
#region Form Events
private void button1_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
ProcessOBJ(GlobalPaths.ConfigDirData + "\\RBXMeshConverter.exe", openFileDialog1.FileName);
}
}
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 = 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!");
}
#endregion
}
#endregion
}

View File

@ -1,100 +0,0 @@
/*
* Created by SharpDevelop.
* User: BITL-Gaming
* Date: 10/7/2016
* Time: 3:01 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
namespace NovetusLauncher
{
partial class SplashTester
{
/// <summary>
/// Designer variable used to keep track of non-visual components.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Disposes resources used by the form.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing) {
if (components != null) {
components.Dispose();
}
}
base.Dispose(disposing);
}
/// <summary>
/// This method is required for Windows Forms designer support.
/// Do not change the method contents inside the source code editor. The Forms designer might
/// not be able to load this method if it was changed manually.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SplashTester));
this.label12 = new System.Windows.Forms.Label();
this.textBox1 = new System.Windows.Forms.TextBox();
this.Preview = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// label12
//
this.label12.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.label12.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.label12.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label12.ForeColor = System.Drawing.Color.Black;
this.label12.Location = new System.Drawing.Point(12, 22);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(261, 17);
this.label12.TabIndex = 0;
this.label12.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(12, 58);
this.textBox1.Multiline = true;
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(261, 39);
this.textBox1.TabIndex = 52;
this.textBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);
//
// Preview
//
this.Preview.AutoSize = true;
this.Preview.Location = new System.Drawing.Point(115, 9);
this.Preview.Name = "Preview";
this.Preview.Size = new System.Drawing.Size(45, 13);
this.Preview.TabIndex = 53;
this.Preview.Text = "Preview";
//
// SplashTester
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
this.ClientSize = new System.Drawing.Size(285, 109);
this.Controls.Add(this.Preview);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.label12);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.Name = "SplashTester";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Splash Tester";
this.ResumeLayout(false);
this.PerformLayout();
}
private System.Windows.Forms.Label label12;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Label Preview;
}
}

View File

@ -125,33 +125,89 @@
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Classes\CharCustom\CustomizationFuncs.cs" />
<Compile Include="Classes\Launcher\LauncherFuncs.cs" />
<Compile Include="Classes\SDK\SDKFuncs.cs" />
<Compile Include="Forms\CharacterCustomization\Compact\CharacterCustomizationCompact.cs">
<SubType>Form</SubType>
<Compile Include="..\NovetusCore\CharCustom\Forms\Compact\CharacterCustomizationCompact.cs">
<Link>Forms\CharCustom\Compact\CharacterCustomizationCompact.cs</Link>
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\CharacterCustomization\Compact\CharacterCustomizationCompact.Designer.cs">
<Compile Include="..\NovetusCore\CharCustom\Forms\Compact\CharacterCustomizationCompact.designer.cs">
<Link>Forms\CharCustom\Compact\CharacterCustomizationCompact.designer.cs</Link>
<DependentUpon>CharacterCustomizationCompact.cs</DependentUpon>
</Compile>
<Compile Include="Forms\CharacterCustomization\Extended\CharacterCustomizationExtended.cs">
<SubType>Form</SubType>
<Compile Include="..\NovetusCore\CharCustom\Forms\Extended\CharacterCustomizationExtended.cs">
<Link>Forms\CharCustom\Extended\CharacterCustomizationExtended.cs</Link>
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\CharacterCustomization\Extended\CharacterCustomizationExtended.Designer.cs">
<Compile Include="..\NovetusCore\CharCustom\Forms\Extended\CharacterCustomizationExtended.designer.cs">
<Link>Forms\CharCustom\Extended\CharacterCustomizationExtended.designer.cs</Link>
<DependentUpon>CharacterCustomizationExtended.cs</DependentUpon>
</Compile>
<Compile Include="Classes\Launcher\AddonLoader.cs" />
<Compile Include="Classes\CharCustom\IconLoader.cs" />
<Compile Include="Classes\LocalPaths.cs" />
<Compile Include="Classes\SDK\Downloader.cs" />
<Compile Include="Classes\SDK\RobloxXMLLocalizer.cs" />
<Compile Include="Classes\Launcher\SplashLoader.cs" />
<Compile Include="Classes\WinForms\FormExt.cs" />
<Compile Include="Classes\LocalVars.cs" />
<Compile Include="Classes\WinForms\TabControlWithoutHeader.cs">
<SubType>Component</SubType>
<Compile Include="..\NovetusCore\SDK\Forms\AssetLocalizer.cs">
<Link>Forms\SDK\AssetLocalizer.cs</Link>
<SubType>Form</SubType>
</Compile>
<Compile Include="Classes\WinForms\TreeNodeHelper.cs" />
<Compile Include="..\NovetusCore\SDK\Forms\AssetLocalizer.designer.cs">
<Link>Forms\SDK\AssetLocalizer.designer.cs</Link>
<DependentUpon>AssetLocalizer.cs</DependentUpon>
</Compile>
<Compile Include="..\NovetusCore\SDK\Forms\ClientinfoCreator.cs">
<Link>Forms\SDK\ClientinfoCreator.cs</Link>
<SubType>Form</SubType>
</Compile>
<Compile Include="..\NovetusCore\SDK\Forms\ClientinfoCreator.designer.cs">
<Link>Forms\SDK\ClientinfoCreator.designer.cs</Link>
<DependentUpon>ClientinfoCreator.cs</DependentUpon>
</Compile>
<Compile Include="..\NovetusCore\SDK\Forms\ClientScriptDocumentation.cs">
<Link>Forms\SDK\ClientScriptDocumentation.cs</Link>
<SubType>Form</SubType>
</Compile>
<Compile Include="..\NovetusCore\SDK\Forms\ClientScriptDocumentation.designer.cs">
<Link>Forms\SDK\ClientScriptDocumentation.designer.cs</Link>
<DependentUpon>ClientScriptDocumentation.cs</DependentUpon>
</Compile>
<Compile Include="..\NovetusCore\SDK\Forms\DiogenesEditor.cs">
<Link>Forms\SDK\DiogenesEditor.cs</Link>
<SubType>Form</SubType>
</Compile>
<Compile Include="..\NovetusCore\SDK\Forms\DiogenesEditor.designer.cs">
<Link>Forms\SDK\DiogenesEditor.designer.cs</Link>
<DependentUpon>DiogenesEditor.cs</DependentUpon>
</Compile>
<Compile Include="..\NovetusCore\SDK\Forms\ItemMaker.cs">
<Link>Forms\SDK\ItemMaker.cs</Link>
<SubType>Form</SubType>
</Compile>
<Compile Include="..\NovetusCore\SDK\Forms\ItemMaker.designer.cs">
<Link>Forms\SDK\ItemMaker.designer.cs</Link>
<DependentUpon>ItemMaker.cs</DependentUpon>
</Compile>
<Compile Include="..\NovetusCore\SDK\Forms\NovetusSDK.cs">
<Link>Forms\SDK\NovetusSDK.cs</Link>
<SubType>Form</SubType>
</Compile>
<Compile Include="..\NovetusCore\SDK\Forms\NovetusSDK.designer.cs">
<Link>Forms\SDK\NovetusSDK.designer.cs</Link>
<DependentUpon>NovetusSDK.cs</DependentUpon>
</Compile>
<Compile Include="..\NovetusCore\SDK\Forms\Obj2MeshV1GUI.cs">
<Link>Forms\SDK\Obj2MeshV1GUI.cs</Link>
<SubType>Form</SubType>
</Compile>
<Compile Include="..\NovetusCore\SDK\Forms\Obj2MeshV1GUI.designer.cs">
<Link>Forms\SDK\Obj2MeshV1GUI.designer.cs</Link>
<DependentUpon>Obj2MeshV1GUI.cs</DependentUpon>
</Compile>
<Compile Include="..\NovetusCore\SDK\Forms\SplashTester.cs">
<Link>Forms\SDK\SplashTester.cs</Link>
<SubType>Form</SubType>
</Compile>
<Compile Include="..\NovetusCore\SDK\Forms\SplashTester.designer.cs">
<Link>Forms\SDK\SplashTester.designer.cs</Link>
<DependentUpon>SplashTester.cs</DependentUpon>
</Compile>
<Compile Include="Classes\Launcher\AddonLoader.cs" />
<Compile Include="Classes\Launcher\SplashLoader.cs" />
<Compile Include="Classes\LocalVars.cs" />
<Compile Include="Forms\LauncherForm\Compact\LauncherFormCompact.cs">
<SubType>Form</SubType>
</Compile>
@ -164,54 +220,6 @@
<Compile Include="Forms\LauncherForm\Compact\LauncherFormCompactSettings.Designer.cs">
<DependentUpon>LauncherFormCompactSettings.cs</DependentUpon>
</Compile>
<Compile Include="Forms\SDK\ClientinfoCreator.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\SDK\ClientinfoCreator.Designer.cs">
<DependentUpon>ClientinfoCreator.cs</DependentUpon>
</Compile>
<Compile Include="Forms\SDK\ClientScriptDocumentation.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\SDK\ClientScriptDocumentation.Designer.cs">
<DependentUpon>ClientScriptDocumentation.cs</DependentUpon>
</Compile>
<Compile Include="Forms\SDK\DiogenesEditor.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\SDK\DiogenesEditor.Designer.cs">
<DependentUpon>DiogenesEditor.cs</DependentUpon>
</Compile>
<Compile Include="Forms\SDK\ItemMaker.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\SDK\ItemMaker.Designer.cs">
<DependentUpon>ItemMaker.cs</DependentUpon>
</Compile>
<Compile Include="Forms\SDK\Obj2MeshV1GUI.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\SDK\Obj2MeshV1GUI.Designer.cs">
<DependentUpon>Obj2MeshV1GUI.cs</DependentUpon>
</Compile>
<Compile Include="Forms\SDK\SplashTester.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\SDK\SplashTester.Designer.cs">
<DependentUpon>SplashTester.cs</DependentUpon>
</Compile>
<Compile Include="Forms\SDK\NovetusSDK.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\SDK\NovetusSDK.Designer.cs">
<DependentUpon>NovetusSDK.cs</DependentUpon>
</Compile>
<Compile Include="Forms\SDK\AssetLocalizer.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\SDK\AssetLocalizer.Designer.cs">
<DependentUpon>AssetLocalizer.cs</DependentUpon>
</Compile>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
@ -227,45 +235,55 @@
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Forms\CharacterCustomization\Compact\CharacterCustomizationCompact.resx">
<EmbeddedResource Include="..\NovetusCore\CharCustom\Forms\Compact\CharacterCustomizationCompact.resx">
<Link>Forms\CharCustom\Compact\CharacterCustomizationCompact.resx</Link>
<DependentUpon>CharacterCustomizationCompact.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\CharacterCustomization\Extended\CharacterCustomizationExtended.resx">
<EmbeddedResource Include="..\NovetusCore\CharCustom\Forms\Extended\CharacterCustomizationExtended.resx">
<Link>Forms\CharCustom\Extended\CharacterCustomizationExtended.resx</Link>
<DependentUpon>CharacterCustomizationExtended.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="..\NovetusCore\SDK\Forms\AssetLocalizer.resx">
<Link>Forms\SDK\AssetLocalizer.resx</Link>
<DependentUpon>AssetLocalizer.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="..\NovetusCore\SDK\Forms\ClientinfoCreator.resx">
<Link>Forms\SDK\ClientinfoCreator.resx</Link>
<DependentUpon>ClientinfoCreator.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="..\NovetusCore\SDK\Forms\ClientScriptDocumentation.resx">
<Link>Forms\SDK\ClientScriptDocumentation.resx</Link>
<DependentUpon>ClientScriptDocumentation.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="..\NovetusCore\SDK\Forms\DiogenesEditor.resx">
<Link>Forms\SDK\DiogenesEditor.resx</Link>
<DependentUpon>DiogenesEditor.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="..\NovetusCore\SDK\Forms\ItemMaker.resx">
<Link>Forms\SDK\ItemMaker.resx</Link>
<DependentUpon>ItemMaker.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="..\NovetusCore\SDK\Forms\NovetusSDK.resx">
<Link>Forms\SDK\NovetusSDK.resx</Link>
<DependentUpon>NovetusSDK.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="..\NovetusCore\SDK\Forms\Obj2MeshV1GUI.resx">
<Link>Forms\SDK\Obj2MeshV1GUI.resx</Link>
<DependentUpon>Obj2MeshV1GUI.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="..\NovetusCore\SDK\Forms\SplashTester.resx">
<Link>Forms\SDK\SplashTester.resx</Link>
<DependentUpon>SplashTester.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\LauncherForm\Compact\LauncherFormCompact.resx">
<DependentUpon>LauncherFormCompact.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\LauncherForm\Compact\LauncherFormCompactSettings.resx">
<DependentUpon>LauncherFormCompactSettings.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\SDK\ClientinfoCreator.resx">
<DependentUpon>ClientinfoCreator.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\SDK\ClientScriptDocumentation.resx">
<DependentUpon>ClientScriptDocumentation.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\SDK\DiogenesEditor.resx">
<DependentUpon>DiogenesEditor.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\SDK\ItemMaker.resx">
<DependentUpon>ItemMaker.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\SDK\Obj2MeshV1GUI.resx">
<DependentUpon>Obj2MeshV1GUI.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\SDK\SplashTester.resx">
<DependentUpon>SplashTester.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\LauncherForm\Extended\LauncherFormExtended.resx">
<DependentUpon>LauncherFormExtended.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\SDK\NovetusSDK.resx">
<DependentUpon>NovetusSDK.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\SDK\AssetLocalizer.resx">
<DependentUpon>AssetLocalizer.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>

View File

@ -75,92 +75,7 @@ namespace NovetusURI
void StartGame()
{
string luafile = "";
if (!GlobalVars.SelectedClientInfo.Fix2007)
{
luafile = "rbxasset://scripts\\\\" + GlobalPaths.ScriptName + ".lua";
}
else
{
luafile = GlobalPaths.ClientDir + @"\\" + GlobalVars.UserConfiguration.SelectedClient + @"\\content\\scripts\\" + GlobalPaths.ScriptGenName + ".lua";
}
string rbxexe = "";
if (GlobalVars.SelectedClientInfo.LegacyMode)
{
rbxexe = GlobalPaths.ClientDir + @"\\" + GlobalVars.UserConfiguration.SelectedClient + @"\\RobloxApp.exe";
}
else
{
rbxexe = GlobalPaths.ClientDir + @"\\" + GlobalVars.UserConfiguration.SelectedClient + @"\\RobloxApp_client.exe";
}
string quote = "\"";
string args = "";
if (GlobalVars.SelectedClientInfo.CommandLineArgs.Equals("%args%"))
{
if (!GlobalVars.SelectedClientInfo.Fix2007)
{
args = "-script " + quote + GlobalFuncs.ChangeGameSettings() + " dofile('" + luafile + "'); " + ScriptFuncs.Generator.GetScriptFuncForType(ScriptType.Client) + quote;
}
else
{
ScriptFuncs.Generator.GenerateScriptForClient(ScriptType.Client);
args = "-script " + quote + luafile + quote;
}
}
else
{
args = ScriptFuncs.ClientScript.CompileScript(GlobalVars.SelectedClientInfo.CommandLineArgs, "<client>", "</client>", "", luafile, rbxexe);
}
try
{
if (!GlobalVars.AdminMode)
{
if (!GlobalVars.SelectedClientInfo.AlreadyHasSecurity)
{
if (SecurityFuncs.checkClientMD5(GlobalVars.UserConfiguration.SelectedClient))
{
if (SecurityFuncs.checkScriptMD5(GlobalVars.UserConfiguration.SelectedClient))
{
LaunchClient(rbxexe,args);
}
else
{
label1.Text = "The client has been detected as modified.";
}
}
else
{
label1.Text = "The client has been detected as modified.";
}
}
else
{
LaunchClient(rbxexe,args);
}
}
else
{
LaunchClient(rbxexe,args);
}
}
catch (Exception)
{
label1.Text = "The client has been detected as modified.";
}
}
private void LaunchClient(string rbxexe, string args)
{
Process clientproc = new Process();
clientproc.StartInfo.FileName = rbxexe;
clientproc.StartInfo.Arguments = args;
clientproc.EnableRaisingEvents = true;
clientproc.Exited += new EventHandler(ClientExited);
clientproc.Start();
clientproc.PriorityClass = ProcessPriorityClass.RealTime;
SecurityFuncs.RenameWindow(clientproc, ScriptType.Client, "");
GlobalFuncs.UpdateRichPresence(GlobalVars.LauncherState.InMPGame, "");
Visible = false;
GlobalFuncs.LaunchRBXClient(ScriptType.Client, false, true, ClientExited, label1);
}
void ClientExited(object sender, EventArgs e)

View File

@ -2,7 +2,6 @@
using System;
using System.Windows.Forms;
using System.ComponentModel;
using NovetusLauncher;
#endregion
namespace NovetusURI

View File

@ -88,6 +88,22 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\novetuscore\charcustom\forms\compact\CharacterCustomizationCompact.cs">
<Link>Forms\CharCustom\Compact\CharacterCustomizationCompact.cs</Link>
<SubType>Form</SubType>
</Compile>
<Compile Include="..\novetuscore\charcustom\forms\compact\CharacterCustomizationCompact.designer.cs">
<Link>Forms\CharCustom\Compact\CharacterCustomizationCompact.designer.cs</Link>
<DependentUpon>CharacterCustomizationCompact.cs</DependentUpon>
</Compile>
<Compile Include="..\novetuscore\charcustom\forms\extended\CharacterCustomizationExtended.cs">
<Link>Forms\CharCustom\Extended\CharacterCustomizationExtended.cs</Link>
<SubType>Form</SubType>
</Compile>
<Compile Include="..\novetuscore\charcustom\forms\extended\CharacterCustomizationExtended.designer.cs">
<Link>Forms\CharCustom\Extended\CharacterCustomizationExtended.designer.cs</Link>
<DependentUpon>CharacterCustomizationExtended.cs</DependentUpon>
</Compile>
<Compile Include="Classes\LocalFuncs.cs" />
<Compile Include="Classes\URIReg.cs" />
<Compile Include="Forms\InstallForm.cs">
@ -111,6 +127,14 @@
<Compile Include="Forms\QuickConfigure.Designer.cs">
<DependentUpon>QuickConfigure.cs</DependentUpon>
</Compile>
<EmbeddedResource Include="..\novetuscore\charcustom\forms\compact\CharacterCustomizationCompact.resx">
<Link>Forms\CharCustom\Compact\CharacterCustomizationCompact.resx</Link>
<DependentUpon>CharacterCustomizationCompact.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="..\novetuscore\charcustom\forms\extended\CharacterCustomizationExtended.resx">
<Link>Forms\CharCustom\Extended\CharacterCustomizationExtended.resx</Link>
<DependentUpon>CharacterCustomizationExtended.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\InstallForm.resx">
<DependentUpon>InstallForm.cs</DependentUpon>
</EmbeddedResource>
@ -144,17 +168,10 @@
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\NovetusLauncher\Novetus.Launcher.csproj">
<Project>{F92FFBED-2767-4676-9711-BB89CDA58A43}</Project>
<Name>Novetus.Launcher</Name>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Content Include="NovetusIcon.ico" />
</ItemGroup>
<ItemGroup />
<Import Project="..\NovetusCore\NovetusCore.projitems" Label="Shared" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PostBuildEvent>SET path=$(SolutionDir)build