more reorganization. this was disasterious
This commit is contained in:
parent
4768d2c25b
commit
261183ffbf
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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
|
||||
}
|
||||
1906
Novetus/NovetusCore/CharCustom/Forms/Compact/CharacterCustomizationCompact.Designer.cs
generated
Normal file
1906
Novetus/NovetusCore/CharCustom/Forms/Compact/CharacterCustomizationCompact.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
2154
Novetus/NovetusCore/CharCustom/Forms/Extended/CharacterCustomizationExtended.Designer.cs
generated
Normal file
2154
Novetus/NovetusCore/CharCustom/Forms/Extended/CharacterCustomizationExtended.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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')" />
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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 });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
@ -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)
|
||||
{
|
||||
|
|
@ -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";
|
||||
|
|
@ -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 = "";
|
||||
|
|
@ -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);
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
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
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 |
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
using System;
|
||||
using System.Windows.Forms;
|
||||
using System.ComponentModel;
|
||||
using NovetusLauncher;
|
||||
#endregion
|
||||
|
||||
namespace NovetusURI
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue