Origins07 Source!

This commit is contained in:
Bitl 2018-01-07 10:22:18 -07:00
parent b2986b1e7e
commit 96da58b83e
44 changed files with 50722 additions and 6 deletions

View File

@ -1,6 +0,0 @@
C:\Users\BITL\Documents\SharpDevelop Projects\R06_Launcher\R06_Launcher\obj\Release\Origins06_Launcher.csprojResolveAssemblyReference.cache
C:\Users\BITL\Documents\SharpDevelop Projects\R06_Launcher\R06_Launcher\obj\Release\Origins06_Launcher.MainForm.resources
C:\Users\BITL\Documents\SharpDevelop Projects\R06_Launcher\R06_Launcher\obj\Release\Origins06_Launcher.NameForm.resources
C:\Users\BITL\Documents\SharpDevelop Projects\R06_Launcher\R06_Launcher\obj\Release\Origins06_Launcher.csproj.GenerateResource.Cache
C:\Users\BITL\Documents\SharpDevelop Projects\R06_Launcher\R06_Launcher\bin\Release\Origins06_Launcher.exe
C:\Users\BITL\Documents\SharpDevelop Projects\R06_Launcher\R06_Launcher\obj\Release\Origins06_Launcher.exe

View File

@ -0,0 +1,67 @@
; Script generated by the Inno Script Studio Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "Origins07"
#define MyAppVersion "1.0.0.0"
#define MyAppPublisher "Bitl"
#define MyAppURL "http://origins07.epizy.com/index.php"
#define MyAppExeName "Origins07_Installer.exe"
[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{65E21311-941A-44E6-904F-168BE26A11DB}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName=C:\{#MyAppName}
DefaultGroupName={#MyAppName}
AllowNoIcons=yes
OutputDir=.
OutputBaseFilename=Origins07_setup
SetupIconFile=icon.ico
Compression=lzma2/ultra64
SolidCompression=yes
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopicon"; Description: "Create a icon on your Desktop"; GroupDescription: "Icons"
[Files]
Source: "client\AppSettings.xml"; DestDir: "{app}"; Flags: ignoreversion
Source: "client\copyrights.txt"; DestDir: "{app}"; Flags: ignoreversion
Source: "client\fmodex.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "client\Origins07_Client.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "client\Origins07_Server.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "client\Origins07_Installer.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "client\Origins07_Customizer.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "client\Origins07_DedicatedServer.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "client\Origins07_PlaySolo.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "client\Origins07_Launcher.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "client\ReflectionMetadata.xml"; DestDir: "{app}"; Flags: ignoreversion
Source: "client\rgmain.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "client\rgpar.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "client\SciLexer.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "client\Microsoft.VC90.MFC\*"; DestDir: "{app}\Microsoft.VC90.MFC"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "client\Microsoft.VC90.CRT\*"; DestDir: "{app}\Microsoft.VC90.CRT"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "client\content\*"; DestDir: "{app}\content"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "client\Styles\*"; DestDir: "{app}\Styles"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "client\maps\*"; DestDir: "{app}\maps"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "client\cache\*"; DestDir: "{app}\cache"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\Origins07 - Customize Character"; Filename: "{app}\Origins07_Customizer.exe"; Tasks: desktopicon
Name: "{commondesktop}\Origins07 - Play Solo"; Filename: "{app}\Origins07_PlaySolo.exe"; Tasks: desktopicon
Name: "{commondesktop}\Origins07"; Filename: "http://origins07.epizy.com/index.php"; Tasks: desktopicon
[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "Install URI (Required for Games)"; Flags: nowait postinstall skipifsilent

View File

@ -0,0 +1,15 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
# SharpDevelop 4.4
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Origins07_Launcher", "Origins07_Launcher\Origins07_Launcher.csproj", "{5B8B96E3-7332-4A5C-BEAE-4EAAE0216841}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Launcher|Any CPU = Launcher|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{5B8B96E3-7332-4A5C-BEAE-4EAAE0216841}.Launcher|Any CPU.Build.0 = Release|Any CPU
{5B8B96E3-7332-4A5C-BEAE-4EAAE0216841}.Launcher|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,106 @@
/*
* Created by SharpDevelop.
* User: BITL
* Date: 11/25/2017
* Time: 7:47 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
namespace Origins07_Launcher
{
partial class DedicatedServerForm
{
/// <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(DedicatedServerForm));
this.pictureBox2 = new System.Windows.Forms.PictureBox();
this.button1 = new System.Windows.Forms.Button();
this.label3 = new System.Windows.Forms.Label();
this.listBox1 = new System.Windows.Forms.ListBox();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
this.SuspendLayout();
//
// pictureBox2
//
this.pictureBox2.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox2.Image")));
this.pictureBox2.Location = new System.Drawing.Point(33, 12);
this.pictureBox2.Name = "pictureBox2";
this.pictureBox2.Size = new System.Drawing.Size(216, 54);
this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox2.TabIndex = 125;
this.pictureBox2.TabStop = false;
//
// button1
//
this.button1.Location = new System.Drawing.Point(12, 304);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(260, 23);
this.button1.TabIndex = 128;
this.button1.Text = "Launch!";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.Button1Click);
//
// label3
//
this.label3.Location = new System.Drawing.Point(12, 69);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(260, 17);
this.label3.TabIndex = 130;
this.label3.Text = "Maps";
this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// listBox1
//
this.listBox1.FormattingEnabled = true;
this.listBox1.Location = new System.Drawing.Point(12, 90);
this.listBox1.Name = "listBox1";
this.listBox1.Size = new System.Drawing.Size(260, 199);
this.listBox1.TabIndex = 131;
//
// DedicatedServerForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(284, 339);
this.Controls.Add(this.listBox1);
this.Controls.Add(this.label3);
this.Controls.Add(this.button1);
this.Controls.Add(this.pictureBox2);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "DedicatedServerForm";
this.Text = "Origins07 Dedicated Server";
this.Load += new System.EventHandler(this.DedicatedServerFormLoad);
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
this.ResumeLayout(false);
}
private System.Windows.Forms.ListBox listBox1;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.PictureBox pictureBox2;
}
}

View File

@ -0,0 +1,172 @@
/*
* Created by SharpDevelop.
* User: BITL
* Date: 11/25/2017
* Time: 7:47 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using System.IO;
using System.Threading;
using System.Diagnostics;
using System.Reflection;
using System.Security.Cryptography;
using System.Text;
using System.Text.RegularExpressions;
using Open.Nat;
namespace Origins07_Launcher
{
/// <summary>
/// Description of DedicatedServerForm.
/// </summary>
public partial class DedicatedServerForm : Form
{
public DedicatedServerForm()
{
//
// The InitializeComponent() call is required for Windows Forms designer support.
//
InitializeComponent();
//
// TODO: Add constructor code after the InitializeComponent() call.
//
}
public async void StartUPNP()
{
try
{
string ExtractedArg = "";
//File.WriteAllText(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\arglog.txt", GlobalVars.SharedArgs);
ExtractedArg = GlobalVars.SharedArgs.Replace("origins07server://", "").Replace("origins07server", "").Replace("origins07", "").Replace("origins", "").Replace(":", "").Replace("/", "").Replace("?", "");
//File.WriteAllText(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\arglog2.txt", ExtractedArg);
string ConvertedArg = SecurityFuncs.Base64Decode(ExtractedArg);
string[] SplitArg = ConvertedArg.Split('|');
string port = SecurityFuncs.Base64Decode(SplitArg[0]);
var nat = new NatDiscoverer();
var cts = new CancellationTokenSource(5000);
var device = await nat.DiscoverDeviceAsync(PortMapper.Upnp, cts);
await device.CreatePortMapAsync(new Mapping(Protocol.Udp, Convert.ToInt32(port), Convert.ToInt32(port), "Origins07"));
}
catch (Exception)
{
}
}
public async void StopUPNP()
{
try
{
var nat = new NatDiscoverer();
var cts = new CancellationTokenSource(5000);
var device = await nat.DiscoverDeviceAsync(PortMapper.Upnp, cts);
foreach (var mapping in await device.GetAllMappingsAsync())
{
if(mapping.Description.Contains("Origins07"))
{
await device.DeletePortMapAsync(mapping);
}
}
}
catch (Exception)
{
}
}
void Button1Click(object sender, EventArgs e)
{
string ExtractedArg = "";
//File.WriteAllText(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\arglog.txt", GlobalVars.SharedArgs);
ExtractedArg = GlobalVars.SharedArgs.Replace("origins07server://", "").Replace("origins07server", "").Replace("origins07", "").Replace("origins", "").Replace(":", "").Replace("/", "").Replace("?", "");
//File.WriteAllText(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\arglog2.txt", ExtractedArg);
string ConvertedArg = SecurityFuncs.Base64Decode(ExtractedArg);
string[] SplitArg = ConvertedArg.Split('|');
string port = SecurityFuncs.Base64Decode(SplitArg[0]);
string ping = SecurityFuncs.Base64Decode(SplitArg[1]);
string limit = SecurityFuncs.Base64Decode(SplitArg[2]);
bool upnp = Convert.ToBoolean(SecurityFuncs.Base64Decode(SplitArg[3]));
string id = SecurityFuncs.Base64Decode(SplitArg[4]);
if(upnp == true )
{
StartUPNP();
}
ScriptType type = ScriptType.Server;
ScriptGenerator.GenerateScriptForClient(type, ping, port, limit, id);
//temp domain
string exefile = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\Origins07_Server.exe";
string quote = "\"";
string args = "-script " + quote + Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + ScriptGenerator.GetScriptNameForType(type) + quote + " -no3d " + quote + Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\maps\\" + listBox1.SelectedItem.ToString() + quote;
Process server = new Process();
server.StartInfo.FileName = exefile;
server.StartInfo.Arguments = args;
server.EnableRaisingEvents = true;
server.Exited += new EventHandler(ServerExited);
server.Start();
}
void ServerExited(object sender, EventArgs e)
{
string ExtractedArg = "";
//File.WriteAllText(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\arglog.txt", GlobalVars.SharedArgs);
ExtractedArg = GlobalVars.SharedArgs.Replace("origins07server://", "").Replace("origins07server", "").Replace("origins07", "").Replace("origins", "").Replace(":", "").Replace("/", "").Replace("?", "");
//File.WriteAllText(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\arglog2.txt", ExtractedArg);
string ConvertedArg = SecurityFuncs.Base64Decode(ExtractedArg);
string[] SplitArg = ConvertedArg.Split('|');
bool upnp = Convert.ToBoolean(SecurityFuncs.Base64Decode(SplitArg[3]));
if(upnp == true )
{
StopUPNP();
}
}
protected override void OnFormClosing(FormClosingEventArgs e)
{
base.OnFormClosing(e);
string ExtractedArg = "";
//File.WriteAllText(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\arglog.txt", GlobalVars.SharedArgs);
ExtractedArg = GlobalVars.SharedArgs.Replace("origins07server://", "").Replace("origins07server", "").Replace("origins07", "").Replace("origins", "").Replace(":", "").Replace("/", "").Replace("?", "");
//File.WriteAllText(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\arglog2.txt", ExtractedArg);
string ConvertedArg = SecurityFuncs.Base64Decode(ExtractedArg);
string[] SplitArg = ConvertedArg.Split('|');
bool upnp = Convert.ToBoolean(SecurityFuncs.Base64Decode(SplitArg[3]));
if(upnp == true )
{
StopUPNP();
}
}
void DedicatedServerFormLoad(object sender, EventArgs e)
{
string ExtractedArg = "";
//File.WriteAllText(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\arglog.txt", GlobalVars.SharedArgs);
ExtractedArg = GlobalVars.SharedArgs.Replace("origins07server://", "").Replace("origins07server", "").Replace("origins07", "").Replace("origins", "").Replace(":", "").Replace("/", "").Replace("?", "");
//File.WriteAllText(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\arglog2.txt", ExtractedArg);
string ConvertedArg = SecurityFuncs.Base64Decode(ExtractedArg);
string[] SplitArg = ConvertedArg.Split('|');
string port = SecurityFuncs.Base64Decode(SplitArg[0]);
string limit = SecurityFuncs.Base64Decode(SplitArg[2]);
bool upnp = Convert.ToBoolean(SecurityFuncs.Base64Decode(SplitArg[3]));
string mapdir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\maps";
if (Directory.Exists(mapdir))
{
DirectoryInfo dinfo = new DirectoryInfo(mapdir);
FileInfo[] Files = dinfo.GetFiles("*.rbxl");
foreach( FileInfo file in Files )
{
listBox1.Items.Add(file.Name);
}
listBox1.SelectedItem = "Baseplate.rbxl";
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,655 @@
/*
* Created by SharpDevelop.
* User: BITL
* Date: 6/6/2017
* Time: 11:12 AM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using System.Text;
using System.Text.RegularExpressions;
using System.Reflection;
namespace Origins07_Launcher
{
public static class GlobalVars
{
public static string SharedArgs;
public static string Name = "Player";
public static string HatName = "NoHat.rbxm";
public static int HeadColor = 24;
public static int TorsoColor = 23;
public static int LeftArmColor = 24;
public static int RightArmColor = 24;
public static int LeftLegColor = 119;
public static int RightLegColor = 119;
public static string ColorMenu_HeadColor = "Color [A=255, R=245, G=205, B=47]";
public static string ColorMenu_TorsoColor = "Color [A=255, R=13, G=105, B=172]";
public static string ColorMenu_LeftArmColor = "Color [A=255, R=245, G=205, B=47]";
public static string ColorMenu_RightArmColor = "Color [A=255, R=245, G=205, B=47]";
public static string ColorMenu_LeftLegColor = "Color [A=255, R=164, G=189, B=71]";
public static string ColorMenu_RightLegColor = "Color [A=255, R=164, G=189, B=71]";
public static string ScriptExt = ".script";
public static string JoinServerLuaFile = "\\client" + ScriptExt;
public static string StartServerLuaFile = "\\server" + ScriptExt;
public static string PlaySoloLuaFile = "\\solo" + ScriptExt;
public static string Config = "config.cfg";
public static int UserID = 0;
public static bool ReadyToLaunch = false;
public static string ClientMD5 = "1B7F90E3C42416E1EE1ACEE21B00C8DE";
}
public class SecurityFuncs
{
public SecurityFuncs()
{
}
public static void WriteConfigValues()
{
string[] lines = {
GlobalVars.Name.ToString(),
GlobalVars.UserID.ToString(),
GlobalVars.HatName.ToString(),
GlobalVars.HeadColor.ToString(),
GlobalVars.TorsoColor.ToString(),
GlobalVars.LeftArmColor.ToString(),
GlobalVars.RightArmColor.ToString(),
GlobalVars.LeftLegColor.ToString(),
GlobalVars.RightLegColor.ToString(),
GlobalVars.ColorMenu_HeadColor.ToString(),
GlobalVars.ColorMenu_TorsoColor.ToString(),
GlobalVars.ColorMenu_LeftArmColor.ToString(),
GlobalVars.ColorMenu_RightArmColor.ToString(),
GlobalVars.ColorMenu_LeftLegColor.ToString(),
GlobalVars.ColorMenu_RightLegColor.ToString(),
};
File.WriteAllText(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\" + GlobalVars.Config, Base64Encode(string.Join("|",lines)));
}
public static void ReadConfigValues()
{
string line1;
using(StreamReader reader = new StreamReader(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\" + GlobalVars.Config))
{
line1 = reader.ReadLine();
}
string ConvertedLine = Base64Decode(line1);
string[] result = ConvertedLine.Split('|');
GlobalVars.Name = result[0];
GlobalVars.UserID = Convert.ToInt32(result[1]);
GlobalVars.HatName = result[2];
GlobalVars.HeadColor = Convert.ToInt32(result[3]);
GlobalVars.TorsoColor = Convert.ToInt32(result[4]);
GlobalVars.LeftArmColor = Convert.ToInt32(result[5]);
GlobalVars.RightArmColor = Convert.ToInt32(result[6]);
GlobalVars.LeftLegColor = Convert.ToInt32(result[7]);
GlobalVars.RightLegColor = Convert.ToInt32(result[8]);
GlobalVars.ColorMenu_HeadColor = result[9];
GlobalVars.ColorMenu_TorsoColor = result[10];
GlobalVars.ColorMenu_LeftArmColor = result[11];
GlobalVars.ColorMenu_RightArmColor = result[12];
GlobalVars.ColorMenu_LeftLegColor = result[13];
GlobalVars.ColorMenu_RightLegColor = result[14];
if (GlobalVars.UserID == 0)
{
GeneratePlayerID();
WriteConfigValues();
}
}
public static void GeneratePlayerID()
{
CryptoRandom random = new CryptoRandom();
int randomID = 0;
int randIDmode = random.Next(0,7);
if (randIDmode == 0)
{
randomID = random.Next(0, 99);
}
else if (randIDmode == 1)
{
randomID = random.Next(0, 999);
}
else if (randIDmode == 2)
{
randomID = random.Next(0, 9999);
}
else if (randIDmode == 3)
{
randomID = random.Next(0, 99999);
}
else if (randIDmode == 4)
{
randomID = random.Next(0, 999999);
}
else if (randIDmode == 5)
{
randomID = random.Next(0, 9999999);
}
else if (randIDmode == 6)
{
randomID = random.Next(0, 99999999);
}
else if (randIDmode == 7)
{
randomID = random.Next();
}
//2147483647 is max id.
GlobalVars.UserID = randomID;
}
public static string Base64Decode(string base64EncodedData)
{
var base64EncodedBytes = System.Convert.FromBase64String(base64EncodedData);
return System.Text.Encoding.UTF8.GetString(base64EncodedBytes);
}
public static string Base64Encode(string plainText)
{
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
return System.Convert.ToBase64String(plainTextBytes);
}
public static bool checkClientMD5()
{
using (var md5 = MD5.Create())
{
using (var stream = File.OpenRead(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\Origins07_Client.exe"))
{
byte[] hash = md5.ComputeHash(stream);
string clientMD5 = BitConverter.ToString(hash).Replace("-", "");
if (clientMD5.Equals(GlobalVars.ClientMD5))
{
return true;
}
else
{
return false;
}
}
}
}
}
public class ScriptGenerator
{
public ScriptGenerator()
{
}
public static void GenerateScriptForClient(ScriptType type, string IPSite = "", string Port = "", string PlayerLimit = "", string ServerID = "")
{
//next, generate the header functions.
string header = MultiLine(
"function newWaitForChild(newParent,name)",
"local returnable = nil",
"if newParent:FindFirstChild(name) then",
"returnable = newParent:FindFirstChild(name)",
"else",
"repeat wait() returnable = newParent:FindFirstChild(name) until returnable ~= nil",
"end",
"return returnable",
"end"
);
//next, associate the settings
string settings = MultiLine(
"settings().Network.maxDataModelSendBuffer = 1000000",
"settings().Network.sendRate = 1000000"
);
string playersettings = "";
if (type == ScriptType.Join || type == ScriptType.Solo)
{
SecurityFuncs.ReadConfigValues();
playersettings = MultiLine(
"UserID = " + GlobalVars.UserID,
"PlayerName = '" + GlobalVars.Name + "'",
"Hat1ID = '" + GlobalVars.HatName + "'",
"HeadColorID = " + GlobalVars.HeadColor,
"TorsoColorID = " + GlobalVars.TorsoColor,
"LeftArmColorID = " + GlobalVars.LeftArmColor,
"RightArmColorID = " + GlobalVars.RightArmColor,
"LeftLegColorID = " + GlobalVars.LeftLegColor,
"RightLegColorID = " + GlobalVars.RightLegColor
);
}
string scriptsettings = "";
if (type == ScriptType.Join)
{
scriptsettings = MultiLine(
"ServerIP = '" + IPSite + "'",
"ServerPort = " + Port
);
}
else if (type == ScriptType.Server)
{
scriptsettings = MultiLine(
"Port = " + Port,
"PlayerLimit = " + PlayerLimit,
"Ping = '" + IPSite + "'",
"ServerID = '" + ServerID + "'"
);
}
//add customization funcs
string clientside = MultiLine(
"function InitalizeClientAppearance(Player,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,HatID)",
"local newCharApp = Instance.new('IntValue',Player)",
"newCharApp.Name = 'Appearance'",
"for i=1,6,1 do",
"local BodyColor = Instance.new('BrickColorValue',newCharApp)",
"if (i == 1) then",
"if (HeadColorID ~= nil) then",
"BodyColor.Value = BrickColor.new(HeadColorID)",
"BodyColor.Name = 'HeadColor (ID: '..HeadColorID..')'",
"else",
"BodyColor.Value = BrickColor.new(1)",
"BodyColor.Name = 'HeadColor (ID: 1)'",
"end",
"elseif (i == 2) then",
"if (TorsoColorID ~= nil) then",
"BodyColor.Value = BrickColor.new(TorsoColorID)",
"BodyColor.Name = 'TorsoColor (ID: '..TorsoColorID..')'",
"else",
"BodyColor.Value = BrickColor.new(1)",
"BodyColor.Name = 'TorsoColor (ID: 1)'",
"end",
"elseif (i == 3) then",
"if (LeftArmColorID ~= nil) then",
"BodyColor.Value = BrickColor.new(LeftArmColorID)",
"BodyColor.Name = 'LeftArmColor (ID: '..LeftArmColorID..')'",
"else",
"BodyColor.Value = BrickColor.new(1)",
"BodyColor.Name = 'LeftArmColor (ID: 1)'",
"end",
"elseif (i == 4) then",
"if (RightArmColorID ~= nil) then",
"BodyColor.Value = BrickColor.new(RightArmColorID)",
"BodyColor.Name = 'RightArmColor (ID: '..RightArmColorID..')'",
"else",
"BodyColor.Value = BrickColor.new(1)",
"BodyColor.Name = 'RightArmColor (ID: 1)'",
"end",
"elseif (i == 5) then",
"if (LeftLegColorID ~= nil) then",
"BodyColor.Value = BrickColor.new(LeftLegColorID)",
"BodyColor.Name = 'LeftLegColor (ID: '..LeftLegColorID..')'",
"else",
"BodyColor.Value = BrickColor.new(1)",
"BodyColor.Name = 'LeftLegColor (ID: 1)'",
"end",
"elseif (i == 6) then",
"if (RightLegColorID ~= nil) then",
"BodyColor.Value = BrickColor.new(RightLegColorID)",
"BodyColor.Name = 'RightLegColor (ID: '..RightLegColorID..')'",
"else",
"BodyColor.Value = BrickColor.new(1)",
"BodyColor.Name = 'RightLegColor (ID: 1)'",
"end",
"end",
"local typeValue = Instance.new('NumberValue')",
"typeValue.Name = 'CustomizationType'",
"typeValue.Parent = BodyColor",
"typeValue.Value = 1",
"local indexValue = Instance.new('NumberValue')",
"indexValue.Name = 'ColorIndex'",
"indexValue.Parent = BodyColor",
"indexValue.Value = i",
"end",
"local newHat = Instance.new('StringValue',newCharApp)",
"if (HatID ~= nil) then",
"newHat.Value = HatID",
"newHat.Name = HatID",
"else",
"newHat.Value = 'NoHat.rbxm'",
"newHat.Name = 'NoHat.rbxm'",
"end",
"local typeValue = Instance.new('NumberValue')",
"typeValue.Name = 'CustomizationType'",
"typeValue.Parent = newHat",
"typeValue.Value = 2",
"end"
);
string serverside = MultiLine(
"function LoadCharacterNew(playerApp,newChar)",
"local charparts = {[1] = newWaitForChild(newChar,'Head'),[2] = newWaitForChild(newChar,'Torso'),[3] = newWaitForChild(newChar,'Left Arm'),[4] = newWaitForChild(newChar,'Right Arm'),[5] = newWaitForChild(newChar,'Left Leg'),[6] = newWaitForChild(newChar,'Right Leg')}",
"for _,newVal in pairs(playerApp:GetChildren()) do",
"newWaitForChild(newVal,'CustomizationType')",
"local customtype = newVal:FindFirstChild('CustomizationType')",
"if (customtype.Value == 1) then ",
"pcall(function()",
"newWaitForChild(newVal,'ColorIndex')",
"local colorindex = newVal:FindFirstChild('ColorIndex')",
"charparts[colorindex.Value].BrickColor = newVal.Value ",
"end)",
"elseif (customtype.Value == 2) then",
"pcall(function()",
"local newHat = game.Workspace:InsertContent('rbxasset://hats/'..newVal.Value)",
"if newHat[1] then ",
"if newHat[1].className == 'Hat' then",
"newHat[1].Parent = newChar",
"else",
"newHat[1]:remove()",
"end",
"end",
"end)",
"end",
"end",
"end"
);
string customizationgen = "";
if (type == ScriptType.Join)
{
customizationgen = clientside;
}
else if (type == ScriptType.Server)
{
customizationgen = serverside;
}
else if (type == ScriptType.Solo)
{
customizationgen = MultiLine(
serverside,
clientside
);
}
//finally, we generate the actual script code.
string code = "";
if (type == ScriptType.Join)
{
code = MultiLine(
"pcall(function() game:SetPlaceID(-1, false) end)",
"local suc, err = pcall(function()",
"client = game:GetService('NetworkClient')",
"player = game:GetService('Players'):CreateLocalPlayer(UserID) ",
"player:SetSuperSafeChat(false)",
"pcall(function() player:SetUnder13(false) end)",
"pcall(function() player:SetAccountAge(365) end)",
"pcall(function() player.Name=PlayerName or '' end)",
"game:GetService('Visit')",
"InitalizeClientAppearance(player,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,Hat1ID)",
"end)",
"local function dieerror(errmsg)",
"game:SetMessage(errmsg)",
"wait(math.huge)",
"end",
"if not suc then",
"dieerror(err)",
"end",
"local function disconnect(peer,lostconnection)",
"game:SetMessage('You have lost connection to the game')",
"end",
"local function connected(url, replicator)",
"replicator.Disconnection:connect(disconnect)",
"local marker = nil",
"local suc, err = pcall(function()",
"game:SetMessageBrickCount()",
"marker = replicator:SendMarker()",
"end)",
"if not suc then",
"dieerror(err)",
"end",
"marker.Received:connect(function()",
"local suc, err = pcall(function()",
"game:ClearMessage()",
"end)",
"if not suc then",
"dieerror(err)",
"end",
"end)",
"end",
"local function rejected()",
"dieerror('Failed to connect to the Game. (Connection rejected)')",
"end",
"local function failed(peer, errcode, why)",
"dieerror('Failed to connect to the Game. (ID='..errcode..' ['..why..'])')",
"end",
"local suc, err = pcall(function()",
"game:SetMessage('Connecting to server...')",
"client.ConnectionAccepted:connect(connected)",
"client.ConnectionRejected:connect(rejected)",
"client.ConnectionFailed:connect(failed)",
"client:Connect(ServerIP,ServerPort, 0, 20)",
"end)",
"if not suc then",
"local x = Instance.new('Message')",
"x.Text = err",
"x.Parent = workspace",
"wait(math.huge)",
"end"
);
}
else if (type == ScriptType.Server)
{
code = MultiLine(
"game:HttpGet(Ping..'?update='..ServerID..'&players=0')",
"Server = game:GetService('NetworkServer')",
"RunService = game:GetService('RunService')",
"Server:start(Port, 20)",
"RunService:run()",
"game:GetService('Players').MaxPlayers = PlayerLimit",
"game:GetService('Players').PlayerAdded:connect(function(Player)",
"if (game:GetService('Players').NumPlayers > game:GetService('Players').MaxPlayers) then",
"local message = Instance.new('Message')",
"message.Text = 'You were kicked. Reason: Too many players on server.'",
"message.Parent = Player",
"wait(2)",
"Player:remove()",
"print('Player ' .. Player.Name .. ' with ID ' .. Player.userId .. ' kicked. Reason: Too many players on server.')",
"else",
"print('Player ' .. Player.Name .. ' with ID ' .. Player.userId .. ' added')",
"Player:LoadCharacter()",
"LoadCharacterNew(newWaitForChild(Player,'Appearance'),Player.Character)",
"wait(.2)",
"game:HttpGet(Ping..'?update='..ServerID..'&players='..#game.Players:GetChildren())",
"end",
"coroutine.resume(coroutine.create(function()",
"while Player ~= nil do",
"wait(0.1)",
"if (Player.Character ~= nil) then",
"if (Player.Character.Humanoid.Health == 0) then",
"wait(5)",
"Player:LoadCharacter()",
"LoadCharacterNew(newWaitForChild(Player,'Appearance'),Player.Character)",
"elseif (Player.Character.Parent == nil) then ",
"wait(5)",
"Player:LoadCharacter()",
"LoadCharacterNew(newWaitForChild(Player,'Appearance'),Player.Character)",
"end end end end)) end)",
"game:GetService('Players').PlayerRemoving:connect(function(Player)",
"print('Player ' .. Player.Name .. ' with ID ' .. Player.userId .. ' leaving')",
"wait(.2)",
"game:HttpGet(Ping..'?update='..ServerID..'&players='..#game.Players:GetChildren())",
"end)",
"pcall(function() game.Close:connect(function() ",
"game:HttpGet(Ping..'?update='..ServerID..'&players=-1')",
"Server:Stop() end) end)",
"coroutine.resume(coroutine.create(function()",
"while wait(60) do",
"game:HttpGet(Ping..'?update='..ServerID..'&players='..#game.Players:GetChildren())",
"end end))"
);
}
else if (type == ScriptType.Solo)
{
code = MultiLine(
"game:GetService('RunService'):run()",
"local plr = game.Players:CreateLocalPlayer(UserID)",
"plr.Name = PlayerName",
"plr:LoadCharacter()",
"pcall(function() plr:SetUnder13(false) end)",
"pcall(function() plr:SetAccountAge(365) end)",
"InitalizeClientAppearance(plr,HeadColorID,TorsoColorID,LeftArmColorID,RightArmColorID,LeftLegColorID,RightLegColorID,Hat1ID)",
"LoadCharacterNew(newWaitForChild(plr,'Appearance'),plr.Character)",
"game:GetService('Visit')",
"while true do",
"wait(0.001)",
"if (plr.Character ~= nil) then",
"if (plr.Character.Humanoid.Health == 0) then",
"wait(5)",
"plr:LoadCharacter()",
"LoadCharacterNew(newWaitForChild(plr,'Appearance'),plr.Character,plr.Backpack)",
"elseif (plr.Character.Parent == nil) then ",
"wait(5)",
"plr:LoadCharacter()",
"LoadCharacterNew(newWaitForChild(plr,'Appearance'),plr.Character,plr.Backpack)",
"end",
"end",
"end"
);
}
string scriptfile = MultiLine(
header,
settings,
playersettings,
scriptsettings,
customizationgen,
code
);
string filename = "";
if (type == ScriptType.Join)
{
filename = GlobalVars.JoinServerLuaFile;
}
else if (type == ScriptType.Server)
{
filename = GlobalVars.StartServerLuaFile;
}
else if (type == ScriptType.Solo)
{
filename = GlobalVars.PlaySoloLuaFile;
}
List<string> list = new List<string>(Regex.Split(scriptfile, Environment.NewLine));
string[] convertedList = list.ToArray();
File.WriteAllLines(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + filename, convertedList);
}
public static string GetScriptNameForType(ScriptType type)
{
string filename = "";
if (type == ScriptType.Join)
{
filename = GlobalVars.JoinServerLuaFile;
}
else if (type == ScriptType.Server)
{
filename = GlobalVars.StartServerLuaFile;
}
else if (type == ScriptType.Solo)
{
filename = GlobalVars.PlaySoloLuaFile;
}
return filename;
}
static string MultiLine(params string[] args)
{
return string.Join(Environment.NewLine, args);
}
}
public enum ScriptType { Join, Server, Solo };
///<summary>
/// Represents a pseudo-random number generator, a device that produces random data.
///</summary>
class CryptoRandom : RandomNumberGenerator
{
private static RandomNumberGenerator r;
///<summary>
/// Creates an instance of the default implementation of a cryptographic random number generator that can be used to generate random data.
///</summary>
public CryptoRandom()
{
r = RandomNumberGenerator.Create();
}
///<summary>
/// Fills the elements of a specified array of bytes with random numbers.
///</summary>
///<param name=”buffer”>An array of bytes to contain random numbers.</param>
public override void GetBytes(byte[] buffer)
{
r.GetBytes(buffer);
}
///
/// Fills an array of bytes with a cryptographically strong random sequence of nonzero values.
///
/// The array to fill with cryptographically strong random nonzero bytes
public override void GetNonZeroBytes(byte[] data)
{
r.GetNonZeroBytes(data);
}
///<summary>
/// Returns a random number between 0.0 and 1.0.
///</summary>
public double NextDouble()
{
byte[] b = new byte[4];
r.GetBytes(b);
return (double)BitConverter.ToUInt32(b, 0) / UInt32.MaxValue;
}
///<summary>
/// Returns a random number within the specified range.
///</summary>
///<param name=”minValue”>The inclusive lower bound of the random number returned.</param>
///<param name=”maxValue”>The exclusive upper bound of the random number returned. maxValue must be greater than or equal to minValue.</param>
public int Next(int minValue, int maxValue)
{
return (int)Math.Round(NextDouble() * (maxValue - minValue - 1)) + minValue;
}
///<summary>
/// Returns a nonnegative random number.
///</summary>
public int Next()
{
return Next(0, Int32.MaxValue);
}
///<summary>
/// Returns a nonnegative random number less than the specified maximum
///</summary>
///<param name=”maxValue”>The inclusive upper bound of the random number returned. maxValue must be greater than or equal 0</param>
public int Next(int maxValue)
{
return Next(0, maxValue);
}
}
}

View File

@ -0,0 +1,108 @@
/*
* Created by SharpDevelop.
* User: BITL
* Date: 5/21/2017
* Time: 4:36 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
namespace Origins07_Launcher
{
partial class MainForm
{
/// <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(MainForm));
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.label1 = new System.Windows.Forms.Label();
this.progressBar1 = new System.Windows.Forms.ProgressBar();
this.label2 = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.SuspendLayout();
//
// pictureBox1
//
this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
this.pictureBox1.Location = new System.Drawing.Point(270, 9);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(72, 69);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox1.TabIndex = 0;
this.pictureBox1.TabStop = false;
//
// label1
//
this.label1.Font = new System.Drawing.Font("Arial Black", 11.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.Location = new System.Drawing.Point(12, 9);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(252, 23);
this.label1.TabIndex = 1;
this.label1.Text = "Initializing....";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// progressBar1
//
this.progressBar1.Location = new System.Drawing.Point(12, 52);
this.progressBar1.Name = "progressBar1";
this.progressBar1.Size = new System.Drawing.Size(252, 25);
this.progressBar1.Style = System.Windows.Forms.ProgressBarStyle.Marquee;
this.progressBar1.TabIndex = 2;
//
// label2
//
this.label2.Location = new System.Drawing.Point(12, 32);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(252, 17);
this.label2.TabIndex = 3;
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// MainForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.Control;
this.ClientSize = new System.Drawing.Size(351, 90);
this.Controls.Add(this.label2);
this.Controls.Add(this.progressBar1);
this.Controls.Add(this.label1);
this.Controls.Add(this.pictureBox1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "MainForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Origins07";
this.TopMost = true;
this.Load += new System.EventHandler(this.MainFormLoad);
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.ResumeLayout(false);
}
private System.Windows.Forms.Label label2;
private System.Windows.Forms.ProgressBar progressBar1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.PictureBox pictureBox1;
}
}

View File

@ -0,0 +1,165 @@
/*
* Created by SharpDevelop.
* User: BITL
* Date: 5/21/2017
* Time: 4:36 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using Microsoft.Win32;
using System.IO;
using System.Diagnostics;
using System.Threading;
using System.Text.RegularExpressions;
using System.Reflection;
using System.Security.Cryptography;
using System.Text;
namespace Origins07_Launcher
{
/// <summary>
/// Description of MainForm.
/// </summary>
public partial class MainForm : Form
{
public MainForm()
{
//
// The InitializeComponent() call is required for Windows Forms designer support.
//
InitializeComponent();
//
// TODO: Add constructor code after the InitializeComponent() call.
//
}
void MainFormLoad(object sender, EventArgs e)
{
string EXEName = System.AppDomain.CurrentDomain.FriendlyName;
if (EXEName.Equals("Origins07_Installer.exe"))
{
try
{
label1.Text = "Installing...";
string loadstring = Environment.CurrentDirectory + Path.DirectorySeparatorChar + "Origins07_Launcher.exe";
string loadstring2 = Environment.CurrentDirectory + Path.DirectorySeparatorChar + "Origins07_DedicatedServer.exe";
RegisterURLProtocol("origins07", loadstring, "Origins07 Client");
RegisterURLProtocol("origins07local", loadstring, "Origins07 Play Solo Mode");
RegisterURLProtocol("origins07server", loadstring2, "Origins07 Dedicated Server");
progressBar1.Style = ProgressBarStyle.Blocks;
for (int i=0; i<100; i+=10)
{
progressBar1.Value += 10;
}
label1.Text = "Installation Complete!";
label2.Text = "Congratulations, you can now play games!";
}
catch (Exception)
{
label1.Text = "Installation Failed.";
label2.Text = "Did you launch the launcher as an administrator?";
}
}
else
{
if (!File.Exists(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\" + GlobalVars.Config))
{
NameForm name = new NameForm();
name.ShowDialog();
System.Threading.Timer timer = new System.Threading.Timer(new TimerCallback(CheckIfFinished), null, 1, 0);
}
else
{
SecurityFuncs.ReadConfigValues();
GlobalVars.ReadyToLaunch = true;
System.Threading.Timer timer = new System.Threading.Timer(new TimerCallback(CheckIfFinished), null, 1, 0);
}
}
}
void StartGame()
{
if (GlobalVars.SharedArgs.Contains("origins07local://"))
{
string ExtractedArg = "";
//File.WriteAllText(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\arglog.txt", GlobalVars.SharedArgs);
ExtractedArg = GlobalVars.SharedArgs.Replace("origins07local://", "").Replace("origins07local", "").Replace("origins07", "").Replace("origins", "").Replace(":", "").Replace("/", "").Replace("?", "");
//File.WriteAllText(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\arglog2.txt", ExtractedArg);
string ConvertedArg = SecurityFuncs.Base64Decode(ExtractedArg);
ScriptType type = ScriptType.Solo;
ScriptGenerator.GenerateScriptForClient(type);
bool IsValid = SecurityFuncs.checkClientMD5();
if (IsValid == true)
{
//temp domain
string exefile = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\Origins07_Client.exe";
string quote = "\"";
string args = "-script " + quote + Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + ScriptGenerator.GetScriptNameForType(type) + quote + " " + quote + Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\maps\\" + ConvertedArg + quote;
Process.Start(exefile, args);
this.Close();
}
else
{
label1.Text = "Cannot Launch Game.";
label2.Text = "The client has been detected as modified.";
}
}
else
{
string ExtractedArg = "";
ExtractedArg = GlobalVars.SharedArgs.Replace("origins07://", "").Replace("origins07", "").Replace("origins", "").Replace(":", "").Replace("/", "").Replace("?", "");
//File.WriteAllText(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\arglog2.txt", ExtractedArg);
string ConvertedArg = SecurityFuncs.Base64Decode(ExtractedArg);
string[] SplitArg = ConvertedArg.Split('|');
string ip = SecurityFuncs.Base64Decode(SplitArg[0]);
string port = SecurityFuncs.Base64Decode(SplitArg[1]);
ScriptType type = ScriptType.Join;
ScriptGenerator.GenerateScriptForClient(type, ip, port);
bool IsValid = SecurityFuncs.checkClientMD5();
if (IsValid == true)
{
//temp domain
string exefile = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\Origins07_Client.exe";
string quote = "\"";
string args = "-script " + quote + Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + ScriptGenerator.GetScriptNameForType(type) + quote;
Process.Start(exefile, args);
this.Close();
}
else
{
label1.Text = "Cannot Launch Game.";
label2.Text = "The client has been detected as modified.";
}
}
}
private void CheckIfFinished(object state)
{
if (GlobalVars.ReadyToLaunch == false)
{
System.Threading.Timer timer = new System.Threading.Timer(new TimerCallback(CheckIfFinished), null, 1, 0);
}
else
{
label1.Text = "Launching Game...";
label2.Text = "Your game is now loading...";
StartGame();
}
}
private static void RegisterURLProtocol(string protocolName, string applicationPath, string description)
{
RegistryKey subKey = Registry.ClassesRoot.CreateSubKey(protocolName);
subKey.SetValue((string) null, (object) description);
subKey.SetValue("URL Protocol", (object) string.Empty);
Registry.ClassesRoot.CreateSubKey(protocolName + "\\Shell");
Registry.ClassesRoot.CreateSubKey(protocolName + "\\Shell\\open");
Registry.ClassesRoot.CreateSubKey(protocolName + "\\Shell\\open\\command").SetValue((string) null, (object) ("\"" + applicationPath + "\" \"%1\""));
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,749 @@
/*
* Created by SharpDevelop.
* User: BITL
* Date: 6/4/2017
* Time: 5:24 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
namespace Origins07_Launcher
{
partial class NameForm
{
/// <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(NameForm));
this.textBox1 = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.listBox1 = new System.Windows.Forms.ListBox();
this.label2 = new System.Windows.Forms.Label();
this.ColorButton25 = new System.Windows.Forms.Button();
this.ColorButton16 = new System.Windows.Forms.Button();
this.ColorButton7 = new System.Windows.Forms.Button();
this.ColorButton32 = new System.Windows.Forms.Button();
this.ColorButton33 = new System.Windows.Forms.Button();
this.ColorButton17 = new System.Windows.Forms.Button();
this.ColorButton28 = new System.Windows.Forms.Button();
this.ColorButton15 = new System.Windows.Forms.Button();
this.ColorButton9 = new System.Windows.Forms.Button();
this.ColorButton31 = new System.Windows.Forms.Button();
this.ColorButton24 = new System.Windows.Forms.Button();
this.ColorButton34 = new System.Windows.Forms.Button();
this.ColorButton8 = new System.Windows.Forms.Button();
this.ColorButton18 = new System.Windows.Forms.Button();
this.ColorButton22 = new System.Windows.Forms.Button();
this.ColorButton10 = new System.Windows.Forms.Button();
this.ColorButton38 = new System.Windows.Forms.Button();
this.ColorButton23 = new System.Windows.Forms.Button();
this.ColorButton27 = new System.Windows.Forms.Button();
this.ColorButton14 = new System.Windows.Forms.Button();
this.ColorButton11 = new System.Windows.Forms.Button();
this.ColorButton26 = new System.Windows.Forms.Button();
this.ColorButton21 = new System.Windows.Forms.Button();
this.ColorButton35 = new System.Windows.Forms.Button();
this.ColorButton37 = new System.Windows.Forms.Button();
this.ColorButton30 = new System.Windows.Forms.Button();
this.ColorButton20 = new System.Windows.Forms.Button();
this.ColorButton13 = new System.Windows.Forms.Button();
this.ColorButton12 = new System.Windows.Forms.Button();
this.ColorButton19 = new System.Windows.Forms.Button();
this.ColorButton29 = new System.Windows.Forms.Button();
this.ColorButton36 = new System.Windows.Forms.Button();
this.LLegButton6 = new System.Windows.Forms.Button();
this.RLegButton5 = new System.Windows.Forms.Button();
this.LArmButton4 = new System.Windows.Forms.Button();
this.RArmButton3 = new System.Windows.Forms.Button();
this.TorsoButton2 = new System.Windows.Forms.Button();
this.HeadButton1 = new System.Windows.Forms.Button();
this.label3 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.pictureBox2 = new System.Windows.Forms.PictureBox();
this.PartSelectionLabel2 = new System.Windows.Forms.Label();
this.PartLabel1 = new System.Windows.Forms.Label();
this.ResetColorsButton40 = new System.Windows.Forms.Button();
this.RandColorsButton39 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.button8 = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
this.SuspendLayout();
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(7, 88);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(271, 20);
this.textBox1.TabIndex = 0;
this.textBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
this.textBox1.TextChanged += new System.EventHandler(this.TextBox1TextChanged);
//
// label1
//
this.label1.Location = new System.Drawing.Point(7, 69);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(271, 16);
this.label1.TabIndex = 1;
this.label1.Text = "Username";
this.label1.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// button1
//
this.button1.Location = new System.Drawing.Point(7, 445);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(271, 23);
this.button1.TabIndex = 2;
this.button1.Text = "Launch!";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.Button1Click);
//
// pictureBox1
//
this.pictureBox1.Location = new System.Drawing.Point(12, 308);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(107, 95);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox1.TabIndex = 3;
this.pictureBox1.TabStop = false;
//
// listBox1
//
this.listBox1.FormattingEnabled = true;
this.listBox1.Location = new System.Drawing.Point(136, 308);
this.listBox1.Name = "listBox1";
this.listBox1.Size = new System.Drawing.Size(142, 95);
this.listBox1.TabIndex = 4;
this.listBox1.SelectedIndexChanged += new System.EventHandler(this.ListBox1SelectedIndexChanged);
//
// label2
//
this.label2.Location = new System.Drawing.Point(7, 285);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(265, 21);
this.label2.TabIndex = 5;
this.label2.Text = "Hat";
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// ColorButton25
//
this.ColorButton25.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(39)))), ((int)(((byte)(126)))), ((int)(((byte)(71)))));
this.ColorButton25.Location = new System.Drawing.Point(122, 189);
this.ColorButton25.Name = "ColorButton25";
this.ColorButton25.Size = new System.Drawing.Size(16, 18);
this.ColorButton25.TabIndex = 100;
this.ColorButton25.UseVisualStyleBackColor = false;
this.ColorButton25.Click += new System.EventHandler(this.ColorButton25Click);
//
// ColorButton16
//
this.ColorButton16.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(111)))), ((int)(((byte)(153)))), ((int)(((byte)(201)))));
this.ColorButton16.Location = new System.Drawing.Point(144, 165);
this.ColorButton16.Name = "ColorButton16";
this.ColorButton16.Size = new System.Drawing.Size(16, 18);
this.ColorButton16.TabIndex = 93;
this.ColorButton16.UseVisualStyleBackColor = false;
this.ColorButton16.Click += new System.EventHandler(this.ColorButton16Click);
//
// ColorButton7
//
this.ColorButton7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(243)))), ((int)(((byte)(243)))));
this.ColorButton7.Location = new System.Drawing.Point(99, 141);
this.ColorButton7.Name = "ColorButton7";
this.ColorButton7.Size = new System.Drawing.Size(17, 18);
this.ColorButton7.TabIndex = 83;
this.ColorButton7.UseVisualStyleBackColor = false;
this.ColorButton7.Click += new System.EventHandler(this.ColorButton7Click);
//
// ColorButton32
//
this.ColorButton32.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(218)))), ((int)(((byte)(135)))), ((int)(((byte)(121)))));
this.ColorButton32.Location = new System.Drawing.Point(144, 213);
this.ColorButton32.Name = "ColorButton32";
this.ColorButton32.Size = new System.Drawing.Size(16, 18);
this.ColorButton32.TabIndex = 109;
this.ColorButton32.UseVisualStyleBackColor = false;
this.ColorButton32.Click += new System.EventHandler(this.ColorButton32Click);
//
// ColorButton33
//
this.ColorButton33.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(232)))), ((int)(((byte)(186)))), ((int)(((byte)(199)))));
this.ColorButton33.Location = new System.Drawing.Point(122, 213);
this.ColorButton33.Name = "ColorButton33";
this.ColorButton33.Size = new System.Drawing.Size(16, 18);
this.ColorButton33.TabIndex = 108;
this.ColorButton33.UseVisualStyleBackColor = false;
this.ColorButton33.Click += new System.EventHandler(this.ColorButton33Click);
//
// ColorButton17
//
this.ColorButton17.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(143)))), ((int)(((byte)(155)))));
this.ColorButton17.Location = new System.Drawing.Point(122, 165);
this.ColorButton17.Name = "ColorButton17";
this.ColorButton17.Size = new System.Drawing.Size(16, 18);
this.ColorButton17.TabIndex = 92;
this.ColorButton17.UseVisualStyleBackColor = false;
this.ColorButton17.Click += new System.EventHandler(this.ColorButton17Click);
//
// ColorButton28
//
this.ColorButton28.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(160)))), ((int)(((byte)(95)))), ((int)(((byte)(55)))));
this.ColorButton28.Location = new System.Drawing.Point(234, 189);
this.ColorButton28.Name = "ColorButton28";
this.ColorButton28.Size = new System.Drawing.Size(16, 18);
this.ColorButton28.TabIndex = 105;
this.ColorButton28.UseVisualStyleBackColor = false;
this.ColorButton28.Click += new System.EventHandler(this.ColorButton28Click);
//
// ColorButton15
//
this.ColorButton15.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(130)))), ((int)(((byte)(186)))), ((int)(((byte)(219)))));
this.ColorButton15.Location = new System.Drawing.Point(166, 165);
this.ColorButton15.Name = "ColorButton15";
this.ColorButton15.Size = new System.Drawing.Size(16, 18);
this.ColorButton15.TabIndex = 94;
this.ColorButton15.UseVisualStyleBackColor = false;
this.ColorButton15.Click += new System.EventHandler(this.ColorButton15Click);
//
// ColorButton9
//
this.ColorButton9.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(163)))), ((int)(((byte)(163)))), ((int)(((byte)(165)))));
this.ColorButton9.Location = new System.Drawing.Point(144, 141);
this.ColorButton9.Name = "ColorButton9";
this.ColorButton9.Size = new System.Drawing.Size(16, 18);
this.ColorButton9.TabIndex = 85;
this.ColorButton9.UseVisualStyleBackColor = false;
this.ColorButton9.Click += new System.EventHandler(this.ColorButton9Click);
//
// ColorButton31
//
this.ColorButton31.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(196)))), ((int)(((byte)(153)))));
this.ColorButton31.Location = new System.Drawing.Point(167, 213);
this.ColorButton31.Name = "ColorButton31";
this.ColorButton31.Size = new System.Drawing.Size(16, 18);
this.ColorButton31.TabIndex = 110;
this.ColorButton31.UseVisualStyleBackColor = false;
this.ColorButton31.Click += new System.EventHandler(this.ColorButton31Click);
//
// ColorButton24
//
this.ColorButton24.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(76)))), ((int)(((byte)(150)))), ((int)(((byte)(73)))));
this.ColorButton24.Location = new System.Drawing.Point(144, 189);
this.ColorButton24.Name = "ColorButton24";
this.ColorButton24.Size = new System.Drawing.Size(16, 18);
this.ColorButton24.TabIndex = 101;
this.ColorButton24.UseVisualStyleBackColor = false;
this.ColorButton24.Click += new System.EventHandler(this.ColorButton24Click);
//
// ColorButton34
//
this.ColorButton34.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(106)))), ((int)(((byte)(50)))), ((int)(((byte)(123)))));
this.ColorButton34.Location = new System.Drawing.Point(99, 213);
this.ColorButton34.Name = "ColorButton34";
this.ColorButton34.Size = new System.Drawing.Size(17, 18);
this.ColorButton34.TabIndex = 107;
this.ColorButton34.UseVisualStyleBackColor = false;
this.ColorButton34.Click += new System.EventHandler(this.ColorButton34Click);
//
// ColorButton8
//
this.ColorButton8.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(228)))), ((int)(((byte)(229)))), ((int)(((byte)(224)))));
this.ColorButton8.Location = new System.Drawing.Point(122, 141);
this.ColorButton8.Name = "ColorButton8";
this.ColorButton8.Size = new System.Drawing.Size(16, 18);
this.ColorButton8.TabIndex = 84;
this.ColorButton8.UseVisualStyleBackColor = false;
this.ColorButton8.Click += new System.EventHandler(this.ColorButton8Click);
//
// ColorButton18
//
this.ColorButton18.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(13)))), ((int)(((byte)(105)))), ((int)(((byte)(172)))));
this.ColorButton18.Location = new System.Drawing.Point(99, 165);
this.ColorButton18.Name = "ColorButton18";
this.ColorButton18.Size = new System.Drawing.Size(17, 18);
this.ColorButton18.TabIndex = 91;
this.ColorButton18.UseVisualStyleBackColor = false;
this.ColorButton18.Click += new System.EventHandler(this.ColorButton18Click);
//
// ColorButton22
//
this.ColorButton22.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(181)))), ((int)(((byte)(210)))), ((int)(((byte)(228)))));
this.ColorButton22.Location = new System.Drawing.Point(189, 165);
this.ColorButton22.Name = "ColorButton22";
this.ColorButton22.Size = new System.Drawing.Size(17, 18);
this.ColorButton22.TabIndex = 95;
this.ColorButton22.UseVisualStyleBackColor = false;
this.ColorButton22.Click += new System.EventHandler(this.ColorButton22Click);
//
// ColorButton10
//
this.ColorButton10.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(99)))), ((int)(((byte)(95)))), ((int)(((byte)(96)))));
this.ColorButton10.Location = new System.Drawing.Point(167, 141);
this.ColorButton10.Name = "ColorButton10";
this.ColorButton10.Size = new System.Drawing.Size(16, 18);
this.ColorButton10.TabIndex = 86;
this.ColorButton10.UseVisualStyleBackColor = false;
this.ColorButton10.Click += new System.EventHandler(this.ColorButton10Click);
//
// ColorButton38
//
this.ColorButton38.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(147)))), ((int)(((byte)(122)))), ((int)(((byte)(118)))));
this.ColorButton38.Location = new System.Drawing.Point(189, 213);
this.ColorButton38.Name = "ColorButton38";
this.ColorButton38.Size = new System.Drawing.Size(17, 18);
this.ColorButton38.TabIndex = 111;
this.ColorButton38.UseVisualStyleBackColor = false;
this.ColorButton38.Click += new System.EventHandler(this.ColorButton38Click);
//
// ColorButton23
//
this.ColorButton23.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(164)))), ((int)(((byte)(189)))), ((int)(((byte)(71)))));
this.ColorButton23.Location = new System.Drawing.Point(167, 189);
this.ColorButton23.Name = "ColorButton23";
this.ColorButton23.Size = new System.Drawing.Size(16, 18);
this.ColorButton23.TabIndex = 102;
this.ColorButton23.UseVisualStyleBackColor = false;
this.ColorButton23.Click += new System.EventHandler(this.ColorButton23Click);
//
// ColorButton27
//
this.ColorButton27.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(105)))), ((int)(((byte)(63)))), ((int)(((byte)(39)))));
this.ColorButton27.Location = new System.Drawing.Point(256, 189);
this.ColorButton27.Name = "ColorButton27";
this.ColorButton27.Size = new System.Drawing.Size(16, 18);
this.ColorButton27.TabIndex = 106;
this.ColorButton27.UseVisualStyleBackColor = false;
this.ColorButton27.Click += new System.EventHandler(this.ColorButton27Click);
//
// ColorButton14
//
this.ColorButton14.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(28)))), ((int)(((byte)(42)))), ((int)(((byte)(53)))));
this.ColorButton14.Location = new System.Drawing.Point(189, 141);
this.ColorButton14.Name = "ColorButton14";
this.ColorButton14.Size = new System.Drawing.Size(17, 18);
this.ColorButton14.TabIndex = 87;
this.ColorButton14.UseVisualStyleBackColor = false;
this.ColorButton14.Click += new System.EventHandler(this.ColorButton14Click);
//
// ColorButton11
//
this.ColorButton11.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(234)))), ((int)(((byte)(142)))));
this.ColorButton11.Location = new System.Drawing.Point(256, 141);
this.ColorButton11.Name = "ColorButton11";
this.ColorButton11.Size = new System.Drawing.Size(16, 18);
this.ColorButton11.TabIndex = 90;
this.ColorButton11.UseVisualStyleBackColor = false;
this.ColorButton11.Click += new System.EventHandler(this.ColorButton11Click);
//
// ColorButton26
//
this.ColorButton26.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(41)))), ((int)(((byte)(70)))), ((int)(((byte)(43)))));
this.ColorButton26.Location = new System.Drawing.Point(99, 189);
this.ColorButton26.Name = "ColorButton26";
this.ColorButton26.Size = new System.Drawing.Size(17, 18);
this.ColorButton26.TabIndex = 99;
this.ColorButton26.UseVisualStyleBackColor = false;
this.ColorButton26.Click += new System.EventHandler(this.ColorButton26Click);
//
// ColorButton21
//
this.ColorButton21.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(116)))), ((int)(((byte)(134)))), ((int)(((byte)(156)))));
this.ColorButton21.Location = new System.Drawing.Point(212, 165);
this.ColorButton21.Name = "ColorButton21";
this.ColorButton21.Size = new System.Drawing.Size(16, 18);
this.ColorButton21.TabIndex = 96;
this.ColorButton21.UseVisualStyleBackColor = false;
this.ColorButton21.Click += new System.EventHandler(this.ColorButton21Click);
//
// ColorButton35
//
this.ColorButton35.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(234)))), ((int)(((byte)(185)))), ((int)(((byte)(145)))));
this.ColorButton35.Location = new System.Drawing.Point(256, 213);
this.ColorButton35.Name = "ColorButton35";
this.ColorButton35.Size = new System.Drawing.Size(16, 18);
this.ColorButton35.TabIndex = 114;
this.ColorButton35.UseVisualStyleBackColor = false;
this.ColorButton35.Click += new System.EventHandler(this.ColorButton35Click);
//
// ColorButton37
//
this.ColorButton37.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(124)))), ((int)(((byte)(92)))), ((int)(((byte)(69)))));
this.ColorButton37.Location = new System.Drawing.Point(212, 213);
this.ColorButton37.Name = "ColorButton37";
this.ColorButton37.Size = new System.Drawing.Size(16, 18);
this.ColorButton37.TabIndex = 112;
this.ColorButton37.UseVisualStyleBackColor = false;
this.ColorButton37.Click += new System.EventHandler(this.ColorButton37Click);
//
// ColorButton30
//
this.ColorButton30.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(161)))), ((int)(((byte)(196)))), ((int)(((byte)(140)))));
this.ColorButton30.Location = new System.Drawing.Point(189, 189);
this.ColorButton30.Name = "ColorButton30";
this.ColorButton30.Size = new System.Drawing.Size(17, 18);
this.ColorButton30.TabIndex = 103;
this.ColorButton30.UseVisualStyleBackColor = false;
this.ColorButton30.Click += new System.EventHandler(this.ColorButton30Click);
//
// ColorButton20
//
this.ColorButton20.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(218)))), ((int)(((byte)(134)))), ((int)(((byte)(64)))));
this.ColorButton20.Location = new System.Drawing.Point(234, 165);
this.ColorButton20.Name = "ColorButton20";
this.ColorButton20.Size = new System.Drawing.Size(16, 18);
this.ColorButton20.TabIndex = 97;
this.ColorButton20.UseVisualStyleBackColor = false;
this.ColorButton20.Click += new System.EventHandler(this.ColorButton20Click);
//
// ColorButton13
//
this.ColorButton13.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(40)))), ((int)(((byte)(27)))));
this.ColorButton13.Location = new System.Drawing.Point(212, 141);
this.ColorButton13.Name = "ColorButton13";
this.ColorButton13.Size = new System.Drawing.Size(16, 18);
this.ColorButton13.TabIndex = 88;
this.ColorButton13.UseVisualStyleBackColor = false;
this.ColorButton13.Click += new System.EventHandler(this.ColorButton13Click);
//
// ColorButton12
//
this.ColorButton12.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(245)))), ((int)(((byte)(205)))), ((int)(((byte)(47)))));
this.ColorButton12.Location = new System.Drawing.Point(234, 141);
this.ColorButton12.Name = "ColorButton12";
this.ColorButton12.Size = new System.Drawing.Size(16, 18);
this.ColorButton12.TabIndex = 89;
this.ColorButton12.UseVisualStyleBackColor = false;
this.ColorButton12.Click += new System.EventHandler(this.ColorButton12Click);
//
// ColorButton19
//
this.ColorButton19.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(226)))), ((int)(((byte)(155)))), ((int)(((byte)(63)))));
this.ColorButton19.Location = new System.Drawing.Point(256, 165);
this.ColorButton19.Name = "ColorButton19";
this.ColorButton19.Size = new System.Drawing.Size(16, 18);
this.ColorButton19.TabIndex = 98;
this.ColorButton19.UseVisualStyleBackColor = false;
this.ColorButton19.Click += new System.EventHandler(this.ColorButton19Click);
//
// ColorButton29
//
this.ColorButton29.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(120)))), ((int)(((byte)(144)))), ((int)(((byte)(130)))));
this.ColorButton29.Location = new System.Drawing.Point(212, 189);
this.ColorButton29.Name = "ColorButton29";
this.ColorButton29.Size = new System.Drawing.Size(16, 18);
this.ColorButton29.TabIndex = 104;
this.ColorButton29.UseVisualStyleBackColor = false;
this.ColorButton29.Click += new System.EventHandler(this.ColorButton29Click);
//
// ColorButton36
//
this.ColorButton36.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(142)))), ((int)(((byte)(105)))));
this.ColorButton36.Location = new System.Drawing.Point(234, 213);
this.ColorButton36.Name = "ColorButton36";
this.ColorButton36.Size = new System.Drawing.Size(16, 18);
this.ColorButton36.TabIndex = 113;
this.ColorButton36.UseVisualStyleBackColor = false;
this.ColorButton36.Click += new System.EventHandler(this.ColorButton36Click);
//
// LLegButton6
//
this.LLegButton6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(164)))), ((int)(((byte)(189)))), ((int)(((byte)(71)))));
this.LLegButton6.Location = new System.Drawing.Point(44, 208);
this.LLegButton6.Name = "LLegButton6";
this.LLegButton6.Size = new System.Drawing.Size(18, 40);
this.LLegButton6.TabIndex = 120;
this.LLegButton6.UseVisualStyleBackColor = false;
this.LLegButton6.Click += new System.EventHandler(this.LLegButton6Click);
//
// RLegButton5
//
this.RLegButton5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(164)))), ((int)(((byte)(189)))), ((int)(((byte)(71)))));
this.RLegButton5.Location = new System.Drawing.Point(23, 208);
this.RLegButton5.Name = "RLegButton5";
this.RLegButton5.Size = new System.Drawing.Size(18, 40);
this.RLegButton5.TabIndex = 119;
this.RLegButton5.UseVisualStyleBackColor = false;
this.RLegButton5.Click += new System.EventHandler(this.RLegButton5Click);
//
// LArmButton4
//
this.LArmButton4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(245)))), ((int)(((byte)(205)))), ((int)(((byte)(47)))));
this.LArmButton4.Location = new System.Drawing.Point(64, 165);
this.LArmButton4.Name = "LArmButton4";
this.LArmButton4.Size = new System.Drawing.Size(18, 42);
this.LArmButton4.TabIndex = 118;
this.LArmButton4.UseVisualStyleBackColor = false;
this.LArmButton4.Click += new System.EventHandler(this.LArmButton4Click);
//
// RArmButton3
//
this.RArmButton3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(245)))), ((int)(((byte)(205)))), ((int)(((byte)(47)))));
this.RArmButton3.Location = new System.Drawing.Point(4, 165);
this.RArmButton3.Name = "RArmButton3";
this.RArmButton3.Size = new System.Drawing.Size(18, 42);
this.RArmButton3.TabIndex = 117;
this.RArmButton3.UseVisualStyleBackColor = false;
this.RArmButton3.Click += new System.EventHandler(this.RArmButton3Click);
//
// TorsoButton2
//
this.TorsoButton2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(13)))), ((int)(((byte)(105)))), ((int)(((byte)(172)))));
this.TorsoButton2.Location = new System.Drawing.Point(23, 165);
this.TorsoButton2.Name = "TorsoButton2";
this.TorsoButton2.Size = new System.Drawing.Size(40, 42);
this.TorsoButton2.TabIndex = 116;
this.TorsoButton2.UseVisualStyleBackColor = false;
this.TorsoButton2.Click += new System.EventHandler(this.TorsoButton2Click);
//
// HeadButton1
//
this.HeadButton1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(245)))), ((int)(((byte)(205)))), ((int)(((byte)(47)))));
this.HeadButton1.Location = new System.Drawing.Point(31, 142);
this.HeadButton1.Name = "HeadButton1";
this.HeadButton1.Size = new System.Drawing.Size(22, 22);
this.HeadButton1.TabIndex = 115;
this.HeadButton1.UseVisualStyleBackColor = false;
this.HeadButton1.Click += new System.EventHandler(this.HeadButton1Click);
//
// label3
//
this.label3.Location = new System.Drawing.Point(62, 120);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(158, 18);
this.label3.TabIndex = 121;
this.label3.Text = "Body Colors";
this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label4
//
this.label4.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.label4.Location = new System.Drawing.Point(7, 120);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(271, 2);
this.label4.TabIndex = 122;
//
// label5
//
this.label5.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.label5.Location = new System.Drawing.Point(7, 283);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(271, 2);
this.label5.TabIndex = 123;
//
// pictureBox2
//
this.pictureBox2.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox2.Image")));
this.pictureBox2.Location = new System.Drawing.Point(34, 12);
this.pictureBox2.Name = "pictureBox2";
this.pictureBox2.Size = new System.Drawing.Size(216, 54);
this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox2.TabIndex = 124;
this.pictureBox2.TabStop = false;
//
// PartSelectionLabel2
//
this.PartSelectionLabel2.Location = new System.Drawing.Point(194, 234);
this.PartSelectionLabel2.Name = "PartSelectionLabel2";
this.PartSelectionLabel2.Size = new System.Drawing.Size(80, 16);
this.PartSelectionLabel2.TabIndex = 126;
//
// PartLabel1
//
this.PartLabel1.Location = new System.Drawing.Point(99, 234);
this.PartLabel1.Name = "PartLabel1";
this.PartLabel1.Size = new System.Drawing.Size(105, 16);
this.PartLabel1.TabIndex = 125;
this.PartLabel1.Text = "SELECTED PART:";
//
// ResetColorsButton40
//
this.ResetColorsButton40.Location = new System.Drawing.Point(141, 253);
this.ResetColorsButton40.Name = "ResetColorsButton40";
this.ResetColorsButton40.Size = new System.Drawing.Size(137, 27);
this.ResetColorsButton40.TabIndex = 127;
this.ResetColorsButton40.Text = "Reset Colors";
this.ResetColorsButton40.UseVisualStyleBackColor = true;
this.ResetColorsButton40.Click += new System.EventHandler(this.ResetColorsButton40Click);
//
// RandColorsButton39
//
this.RandColorsButton39.Location = new System.Drawing.Point(5, 253);
this.RandColorsButton39.Name = "RandColorsButton39";
this.RandColorsButton39.Size = new System.Drawing.Size(131, 27);
this.RandColorsButton39.TabIndex = 128;
this.RandColorsButton39.Text = "Randomize Colors";
this.RandColorsButton39.UseVisualStyleBackColor = true;
this.RandColorsButton39.Click += new System.EventHandler(this.RandColorsButton39Click);
//
// button2
//
this.button2.Location = new System.Drawing.Point(142, 409);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(136, 27);
this.button2.TabIndex = 130;
this.button2.Text = "Reset Hats";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.Button2Click);
//
// button8
//
this.button8.Location = new System.Drawing.Point(5, 409);
this.button8.Name = "button8";
this.button8.Size = new System.Drawing.Size(130, 27);
this.button8.TabIndex = 129;
this.button8.Text = "Randomize Hats";
this.button8.UseVisualStyleBackColor = true;
this.button8.Click += new System.EventHandler(this.Button8Click);
//
// NameForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.Control;
this.ClientSize = new System.Drawing.Size(287, 480);
this.Controls.Add(this.button2);
this.Controls.Add(this.button8);
this.Controls.Add(this.ResetColorsButton40);
this.Controls.Add(this.RandColorsButton39);
this.Controls.Add(this.PartSelectionLabel2);
this.Controls.Add(this.PartLabel1);
this.Controls.Add(this.pictureBox2);
this.Controls.Add(this.label5);
this.Controls.Add(this.label4);
this.Controls.Add(this.label3);
this.Controls.Add(this.LLegButton6);
this.Controls.Add(this.RLegButton5);
this.Controls.Add(this.LArmButton4);
this.Controls.Add(this.RArmButton3);
this.Controls.Add(this.TorsoButton2);
this.Controls.Add(this.HeadButton1);
this.Controls.Add(this.ColorButton25);
this.Controls.Add(this.ColorButton16);
this.Controls.Add(this.ColorButton7);
this.Controls.Add(this.ColorButton32);
this.Controls.Add(this.ColorButton33);
this.Controls.Add(this.ColorButton17);
this.Controls.Add(this.ColorButton28);
this.Controls.Add(this.ColorButton15);
this.Controls.Add(this.ColorButton9);
this.Controls.Add(this.ColorButton31);
this.Controls.Add(this.ColorButton24);
this.Controls.Add(this.ColorButton34);
this.Controls.Add(this.ColorButton8);
this.Controls.Add(this.ColorButton18);
this.Controls.Add(this.ColorButton22);
this.Controls.Add(this.ColorButton10);
this.Controls.Add(this.ColorButton38);
this.Controls.Add(this.ColorButton23);
this.Controls.Add(this.ColorButton27);
this.Controls.Add(this.ColorButton14);
this.Controls.Add(this.ColorButton11);
this.Controls.Add(this.ColorButton26);
this.Controls.Add(this.ColorButton21);
this.Controls.Add(this.ColorButton35);
this.Controls.Add(this.ColorButton37);
this.Controls.Add(this.ColorButton30);
this.Controls.Add(this.ColorButton20);
this.Controls.Add(this.ColorButton13);
this.Controls.Add(this.ColorButton12);
this.Controls.Add(this.ColorButton19);
this.Controls.Add(this.ColorButton29);
this.Controls.Add(this.ColorButton36);
this.Controls.Add(this.label2);
this.Controls.Add(this.listBox1);
this.Controls.Add(this.pictureBox1);
this.Controls.Add(this.button1);
this.Controls.Add(this.label1);
this.Controls.Add(this.textBox1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "NameForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Origins07";
this.Load += new System.EventHandler(this.NameFormLoad);
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
private System.Windows.Forms.Button button8;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button RandColorsButton39;
private System.Windows.Forms.Button ResetColorsButton40;
private System.Windows.Forms.Label PartLabel1;
private System.Windows.Forms.Label PartSelectionLabel2;
private System.Windows.Forms.PictureBox pictureBox2;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Button HeadButton1;
private System.Windows.Forms.Button TorsoButton2;
private System.Windows.Forms.Button RArmButton3;
private System.Windows.Forms.Button LArmButton4;
private System.Windows.Forms.Button RLegButton5;
private System.Windows.Forms.Button LLegButton6;
private System.Windows.Forms.Button ColorButton36;
private System.Windows.Forms.Button ColorButton29;
private System.Windows.Forms.Button ColorButton19;
private System.Windows.Forms.Button ColorButton12;
private System.Windows.Forms.Button ColorButton13;
private System.Windows.Forms.Button ColorButton20;
private System.Windows.Forms.Button ColorButton30;
private System.Windows.Forms.Button ColorButton37;
private System.Windows.Forms.Button ColorButton35;
private System.Windows.Forms.Button ColorButton21;
private System.Windows.Forms.Button ColorButton26;
private System.Windows.Forms.Button ColorButton11;
private System.Windows.Forms.Button ColorButton14;
private System.Windows.Forms.Button ColorButton27;
private System.Windows.Forms.Button ColorButton23;
private System.Windows.Forms.Button ColorButton38;
private System.Windows.Forms.Button ColorButton10;
private System.Windows.Forms.Button ColorButton22;
private System.Windows.Forms.Button ColorButton18;
private System.Windows.Forms.Button ColorButton8;
private System.Windows.Forms.Button ColorButton34;
private System.Windows.Forms.Button ColorButton24;
private System.Windows.Forms.Button ColorButton31;
private System.Windows.Forms.Button ColorButton9;
private System.Windows.Forms.Button ColorButton15;
private System.Windows.Forms.Button ColorButton28;
private System.Windows.Forms.Button ColorButton17;
private System.Windows.Forms.Button ColorButton33;
private System.Windows.Forms.Button ColorButton32;
private System.Windows.Forms.Button ColorButton7;
private System.Windows.Forms.Button ColorButton16;
private System.Windows.Forms.Button ColorButton25;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.ListBox listBox1;
private System.Windows.Forms.PictureBox pictureBox1;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox textBox1;
}
}

View File

@ -0,0 +1,541 @@
/*
* Created by SharpDevelop.
* User: BITL
* Date: 6/4/2017
* Time: 5:24 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Drawing;
using System.Windows.Forms;
using System.IO;
using System.Reflection;
namespace Origins07_Launcher
{
/// <summary>
/// Description of NameForm.
/// </summary>
public partial class NameForm : Form
{
public static string SelectedPart = "Head";
public string[,] ColorArray;
public NameForm()
{
InitializeComponent();
ColorArray = new string[32, 2] {
{ "1", ColorButton7.BackColor.ToString() },
{ "208", ColorButton8.BackColor.ToString() },
{ "194", ColorButton9.BackColor.ToString() },
{ "199", ColorButton10.BackColor.ToString() },
{ "26", ColorButton14.BackColor.ToString() },
{ "21", ColorButton13.BackColor.ToString() },
{ "24", ColorButton12.BackColor.ToString() },
{ "226", ColorButton11.BackColor.ToString() },
{ "23", ColorButton18.BackColor.ToString() },
{ "107", ColorButton17.BackColor.ToString() },
{ "102", ColorButton16.BackColor.ToString() },
{ "11", ColorButton15.BackColor.ToString() },
{ "45", ColorButton22.BackColor.ToString() },
{ "135", ColorButton21.BackColor.ToString() },
{ "106", ColorButton20.BackColor.ToString() },
{ "105", ColorButton19.BackColor.ToString() },
{ "141", ColorButton26.BackColor.ToString() },
{ "28", ColorButton25.BackColor.ToString() },
{ "37", ColorButton24.BackColor.ToString() },
{ "119", ColorButton23.BackColor.ToString() },
{ "29", ColorButton30.BackColor.ToString() },
{ "151", ColorButton29.BackColor.ToString() },
{ "38", ColorButton28.BackColor.ToString() },
{ "192", ColorButton27.BackColor.ToString() },
{ "104", ColorButton34.BackColor.ToString() },
{ "9", ColorButton33.BackColor.ToString() },
{ "101", ColorButton32.BackColor.ToString() },
{ "5", ColorButton31.BackColor.ToString() },
{ "153", ColorButton38.BackColor.ToString() },
{ "217", ColorButton37.BackColor.ToString() },
{ "18", ColorButton36.BackColor.ToString() },
{ "125", ColorButton35.BackColor.ToString() }
};
}
void TextBox1TextChanged(object sender, EventArgs e)
{
GlobalVars.Name = textBox1.Text;
}
void NameFormLoad(object sender, EventArgs e)
{
if (!File.Exists(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\" + GlobalVars.Config))
{
SecurityFuncs.GeneratePlayerID();
SecurityFuncs.WriteConfigValues();
SecurityFuncs.ReadConfigValues();
}
else
{
SecurityFuncs.ReadConfigValues();
}
textBox1.Text = GlobalVars.Name;
string hatdir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\content\\hats";
if (Directory.Exists(hatdir))
{
DirectoryInfo dinfo = new DirectoryInfo(hatdir);
FileInfo[] Files = dinfo.GetFiles("*.rbxm");
foreach( FileInfo file in Files )
{
if (file.Name.Equals(String.Empty))
{
continue;
}
listBox1.Items.Add(file.Name);
}
listBox1.SelectedItem = GlobalVars.HatName;
Image icon1 = Image.FromFile(hatdir + @"\\" + GlobalVars.HatName.Replace(".rbxm", "") + ".png");
pictureBox1.Image = icon1;
}
PartSelectionLabel2.Text = SelectedPart;
HeadButton1.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_HeadColor);
TorsoButton2.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_TorsoColor);
RArmButton3.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightArmColor);
LArmButton4.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftArmColor);
RLegButton5.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightLegColor);
LLegButton6.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftLegColor);
}
Color ConvertStringtoColor(string CString)
{
var p = CString.Split(new char[]{',',']'});
int A = Convert.ToInt32(p[0].Substring(p[0].IndexOf('=') + 1));
int R = Convert.ToInt32(p[1].Substring(p[1].IndexOf('=') + 1));
int G = Convert.ToInt32(p[2].Substring(p[2].IndexOf('=') + 1));
int B = Convert.ToInt32(p[3].Substring(p[3].IndexOf('=') + 1));
return Color.FromArgb(A,R,G,B);
}
void ChangeColorOfPart(int ColorID, Color ButtonColor)
{
if (SelectedPart == "Head")
{
GlobalVars.HeadColor = ColorID;
GlobalVars.ColorMenu_HeadColor = ButtonColor.ToString();
HeadButton1.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_HeadColor);
}
else if (SelectedPart == "Torso")
{
GlobalVars.TorsoColor = ColorID;
GlobalVars.ColorMenu_TorsoColor = ButtonColor.ToString();
TorsoButton2.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_TorsoColor);
}
else if (SelectedPart == "Right Arm")
{
GlobalVars.RightArmColor = ColorID;
GlobalVars.ColorMenu_RightArmColor = ButtonColor.ToString();
RArmButton3.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightArmColor);
}
else if (SelectedPart == "Left Arm")
{
GlobalVars.LeftArmColor = ColorID;
GlobalVars.ColorMenu_LeftArmColor = ButtonColor.ToString();
LArmButton4.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftArmColor);
}
else if (SelectedPart == "Right Leg")
{
GlobalVars.RightLegColor = ColorID;
GlobalVars.ColorMenu_RightLegColor = ButtonColor.ToString();
RLegButton5.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightLegColor);
}
else if (SelectedPart == "Left Leg")
{
GlobalVars.LeftLegColor = ColorID;
GlobalVars.ColorMenu_LeftLegColor = ButtonColor.ToString();
LLegButton6.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftLegColor);
}
}
void Button1Click(object sender, EventArgs e)
{
this.Close();
}
protected override void OnFormClosing(FormClosingEventArgs e)
{
base.OnFormClosing(e);
SecurityFuncs.WriteConfigValues();
GlobalVars.ReadyToLaunch = true;
}
void ListBox1SelectedIndexChanged(object sender, EventArgs e)
{
string hatdir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\content\\hats";
if (Directory.Exists(hatdir))
{
GlobalVars.HatName = listBox1.SelectedItem.ToString();
Image icon1 = Image.FromFile(hatdir + "\\" + GlobalVars.HatName.Replace(".rbxm", "") + ".png");
pictureBox1.Image = icon1;
}
}
void HeadButton1Click(object sender, EventArgs e)
{
SelectedPart = "Head";
PartSelectionLabel2.Text = SelectedPart;
}
void TorsoButton2Click(object sender, EventArgs e)
{
SelectedPart = "Torso";
PartSelectionLabel2.Text = SelectedPart;
}
void RArmButton3Click(object sender, EventArgs e)
{
SelectedPart = "Right Arm";
PartSelectionLabel2.Text = SelectedPart;
}
void LArmButton4Click(object sender, EventArgs e)
{
SelectedPart = "Left Arm";
PartSelectionLabel2.Text = SelectedPart;
}
void RLegButton5Click(object sender, EventArgs e)
{
SelectedPart = "Right Leg";
PartSelectionLabel2.Text = SelectedPart;
}
void LLegButton6Click(object sender, EventArgs e)
{
SelectedPart = "Left Leg";
PartSelectionLabel2.Text = SelectedPart;
}
void ColorButton7Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton7.BackColor;
int colorID = 1;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton8Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton8.BackColor;
int colorID = 208;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton9Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton9.BackColor;
int colorID = 194;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton10Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton10.BackColor;
int colorID = 199;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton14Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton14.BackColor;
int colorID = 26;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton13Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton13.BackColor;
int colorID = 21;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton12Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton12.BackColor;
int colorID = 24;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton11Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton11.BackColor;
int colorID = 226;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton18Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton18.BackColor;
int colorID = 23;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton17Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton17.BackColor;
int colorID = 107;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton16Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton16.BackColor;
int colorID = 102;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton15Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton15.BackColor;
int colorID = 11;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton22Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton22.BackColor;
int colorID = 45;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton21Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton21.BackColor;
int colorID = 135;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton20Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton20.BackColor;
int colorID = 106;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton19Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton19.BackColor;
int colorID = 105;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton26Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton26.BackColor;
int colorID = 141;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton25Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton25.BackColor;
int colorID = 28;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton24Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton24.BackColor;
int colorID = 37;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton23Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton23.BackColor;
int colorID = 119;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton30Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton30.BackColor;
int colorID = 29;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton29Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton29.BackColor;
int colorID = 151;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton28Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton28.BackColor;
int colorID = 38;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton27Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton27.BackColor;
int colorID = 192;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton34Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton34.BackColor;
int colorID = 104;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton33Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton33.BackColor;
int colorID = 9;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton32Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton32.BackColor;
int colorID = 101;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton31Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton31.BackColor;
int colorID = 5;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton38Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton38.BackColor;
int colorID = 153;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton37Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton37.BackColor;
int colorID = 217;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton36Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton36.BackColor;
int colorID = 18;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton35Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton35.BackColor;
int colorID = 125;
ChangeColorOfPart(colorID, ButtonColor);
}
void RandColorsButton39Click(object sender, EventArgs e)
{
Random rand = new Random();
int RandomColor;
for (int i=1; i <= 6; i++)
{
RandomColor = rand.Next(ColorArray.GetLength(0));
if (i == 1)
{
GlobalVars.HeadColor = Convert.ToInt32(ColorArray[RandomColor, 0]);
GlobalVars.ColorMenu_HeadColor = ColorArray[RandomColor, 1];
HeadButton1.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_HeadColor);
}
else if (i == 2)
{
GlobalVars.TorsoColor = Convert.ToInt32(ColorArray[RandomColor, 0]);
GlobalVars.ColorMenu_TorsoColor = ColorArray[RandomColor, 1];
TorsoButton2.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_TorsoColor);
}
else if (i == 3)
{
GlobalVars.RightArmColor = Convert.ToInt32(ColorArray[RandomColor, 0]);
GlobalVars.ColorMenu_RightArmColor = ColorArray[RandomColor, 1];
RArmButton3.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightArmColor);
}
else if (i == 4)
{
GlobalVars.LeftArmColor = Convert.ToInt32(ColorArray[RandomColor, 0]);
GlobalVars.ColorMenu_LeftArmColor = ColorArray[RandomColor, 1];
LArmButton4.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftArmColor);
}
else if (i == 5)
{
GlobalVars.RightLegColor = Convert.ToInt32(ColorArray[RandomColor, 0]);
GlobalVars.ColorMenu_RightLegColor = ColorArray[RandomColor, 1];
RLegButton5.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightLegColor);
}
else if (i == 6)
{
GlobalVars.LeftLegColor = Convert.ToInt32(ColorArray[RandomColor, 0]);
GlobalVars.ColorMenu_LeftLegColor = ColorArray[RandomColor, 1];
LLegButton6.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftLegColor);
}
}
}
void ResetColorsButton40Click(object sender, EventArgs e)
{
GlobalVars.HeadColor = 24;
GlobalVars.TorsoColor = 23;
GlobalVars.LeftArmColor = 24;
GlobalVars.RightArmColor = 24;
GlobalVars.LeftLegColor = 119;
GlobalVars.RightLegColor = 119;
GlobalVars.ColorMenu_HeadColor = "Color [A=255, R=245, G=205, B=47]";
GlobalVars.ColorMenu_TorsoColor = "Color [A=255, R=13, G=105, B=172]";
GlobalVars.ColorMenu_LeftArmColor = "Color [A=255, R=245, G=205, B=47]";
GlobalVars.ColorMenu_RightArmColor = "Color [A=255, R=245, G=205, B=47]";
GlobalVars.ColorMenu_LeftLegColor = "Color [A=255, R=164, G=189, B=71]";
GlobalVars.ColorMenu_RightLegColor = "Color [A=255, R=164, G=189, B=71]";
HeadButton1.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_HeadColor);
TorsoButton2.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_TorsoColor);
RArmButton3.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightArmColor);
LArmButton4.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftArmColor);
RLegButton5.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightLegColor);
LLegButton6.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftLegColor);
}
void Button8Click(object sender, EventArgs e)
{
string hatdir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\content\\hats";
if (Directory.Exists(hatdir))
{
Random random = new Random();
int randomHat1 = random.Next(listBox1.Items.Count);
listBox1.SelectedItem = listBox1.Items[randomHat1];
GlobalVars.HatName = listBox1.SelectedItem.ToString();
Image icon1 = Image.FromFile(hatdir + "\\" + GlobalVars.HatName.Replace(".rbxm", "") + ".png");
pictureBox1.Image = icon1;
}
}
void Button2Click(object sender, EventArgs e)
{
string hatdir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\content\\hats";
if (Directory.Exists(hatdir))
{
listBox1.SelectedItem = "NoHat.rbxm";
GlobalVars.HatName = listBox1.SelectedItem.ToString();
Image icon1 = Image.FromFile(hatdir + "\\" + GlobalVars.HatName.Replace(".rbxm", "") + ".png");
pictureBox1.Image = icon1;
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
<OpenCoverSettings />

View File

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
<PropertyGroup>
<ProjectGuid>{5B8B96E3-7332-4A5C-BEAE-4EAAE0216841}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<OutputType>WinExe</OutputType>
<RootNamespace>Origins07_Launcher</RootNamespace>
<AssemblyName>Origins07_Launcher</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<AppDesignerFolder>Properties</AppDesignerFolder>
<ApplicationIcon>Resources\icon.ico</ApplicationIcon>
<NoWin32Manifest>False</NoWin32Manifest>
<SignAssembly>False</SignAssembly>
<DelaySign>False</DelaySign>
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
<AllowUnsafeBlocks>False</AllowUnsafeBlocks>
<NoStdLib>False</NoStdLib>
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<WarningLevel>4</WarningLevel>
<RunCodeAnalysis>False</RunCodeAnalysis>
<SourceAnalysisOverrideSettingsFile>C:\Users\BITL\AppData\Roaming\ICSharpCode/SharpDevelop4\Settings.SourceAnalysis</SourceAnalysisOverrideSettingsFile>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Platform)' == 'AnyCPU' ">
<PlatformTarget>x86</PlatformTarget>
<BaseAddress>4194304</BaseAddress>
<RegisterForComInterop>False</RegisterForComInterop>
<GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
<FileAlignment>4096</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<OutputPath>bin\Debug\</OutputPath>
<DebugSymbols>True</DebugSymbols>
<DebugType>Full</DebugType>
<Optimize>False</Optimize>
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
<DefineConstants>DEBUG;TRACE</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<OutputPath>bin\Release\</OutputPath>
<DebugSymbols>False</DebugSymbols>
<DebugType>None</DebugType>
<Optimize>False</Optimize>
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
<DefineConstants>TRACE</DefineConstants>
<BaseIntermediateOutputPath>obj\</BaseIntermediateOutputPath>
<StartAction>Project</StartAction>
</PropertyGroup>
<ItemGroup>
<Reference Include="Open.Nat, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f22a6a4582336c76, processorArchitecture=MSIL">
<HintPath>..\packages\Open.NAT.2.1.0.0\lib\net45\Open.Nat.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Data.DataSetExtensions">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="DedicatedServerForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="DedicatedServerForm.Designer.cs">
<DependentUpon>DedicatedServerForm.cs</DependentUpon>
</Compile>
<Compile Include="MainForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="MainForm.Designer.cs">
<DependentUpon>MainForm.cs</DependentUpon>
</Compile>
<Compile Include="NameForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="NameForm.Designer.cs">
<DependentUpon>NameForm.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="HelperFuncs.cs" />
<Compile Include="SoloForm.cs" />
<Compile Include="SoloForm.Designer.cs">
<DependentUpon>SoloForm.cs</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="DedicatedServerForm.resx">
<DependentUpon>DedicatedServerForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="MainForm.resx">
<DependentUpon>MainForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="NameForm.resx">
<DependentUpon>NameForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="SoloForm.resx">
<DependentUpon>SoloForm.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@ -0,0 +1,58 @@
/*
* Created by SharpDevelop.
* User: BITL
* Date: 5/21/2017
* Time: 4:36 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Windows.Forms;
namespace Origins07_Launcher
{
/// <summary>
/// Class with program entry point.
/// </summary>
internal sealed class Program
{
static string ProcessInput(string s)
{
return s;
}
/// <summary>
/// Program entry point.
/// </summary>
[STAThread]
private static void Main(string[] args)
{
string EXEName = System.AppDomain.CurrentDomain.FriendlyName;
if (EXEName.Equals("Origins07_Launcher.exe") || EXEName.Equals("Origins07_DedicatedServer.exe"))
{
foreach (string s in args)
{
GlobalVars.SharedArgs = ProcessInput(s);
}
}
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
if (EXEName.Equals("Origins07_DedicatedServer.exe"))
{
Application.Run(new DedicatedServerForm());
}
else if (EXEName.Equals("Origins07_Customizer.exe"))
{
Application.Run(new NameForm());
}
else if (EXEName.Equals("Origins07_PlaySolo.exe"))
{
Application.Run(new SoloForm());
}
else
{
Application.Run(new MainForm());
}
}
}
}

View File

@ -0,0 +1,31 @@
#region Using directives
using System;
using System.Reflection;
using System.Runtime.InteropServices;
#endregion
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Origins07_Launcher")]
[assembly: AssemblyDescription("Origins07 Launcher")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Bitl")]
[assembly: AssemblyProduct("Origins07_Launcher")]
[assembly: AssemblyCopyright("Copyright 2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// This sets the default COM visibility of types in the assembly to invisible.
// If you need to expose a type to COM, use [ComVisible(true)] on that type.
[assembly: ComVisible(false)]
// The assembly version has following format :
//
// Major.Minor.Build.Revision
//
// You can specify all the values or you can use the default the Revision and
// Build Numbers by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.*")]

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 370 KiB

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1,783 @@
/*
* Created by SharpDevelop.
* User: BITL
* Date: 6/4/2017
* Time: 5:24 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
namespace Origins07_Launcher
{
partial class SoloForm
{
/// <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(SoloForm));
this.textBox1 = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.listBox1 = new System.Windows.Forms.ListBox();
this.label2 = new System.Windows.Forms.Label();
this.ColorButton25 = new System.Windows.Forms.Button();
this.ColorButton16 = new System.Windows.Forms.Button();
this.ColorButton7 = new System.Windows.Forms.Button();
this.ColorButton32 = new System.Windows.Forms.Button();
this.ColorButton33 = new System.Windows.Forms.Button();
this.ColorButton17 = new System.Windows.Forms.Button();
this.ColorButton28 = new System.Windows.Forms.Button();
this.ColorButton15 = new System.Windows.Forms.Button();
this.ColorButton9 = new System.Windows.Forms.Button();
this.ColorButton31 = new System.Windows.Forms.Button();
this.ColorButton24 = new System.Windows.Forms.Button();
this.ColorButton34 = new System.Windows.Forms.Button();
this.ColorButton8 = new System.Windows.Forms.Button();
this.ColorButton18 = new System.Windows.Forms.Button();
this.ColorButton22 = new System.Windows.Forms.Button();
this.ColorButton10 = new System.Windows.Forms.Button();
this.ColorButton38 = new System.Windows.Forms.Button();
this.ColorButton23 = new System.Windows.Forms.Button();
this.ColorButton27 = new System.Windows.Forms.Button();
this.ColorButton14 = new System.Windows.Forms.Button();
this.ColorButton11 = new System.Windows.Forms.Button();
this.ColorButton26 = new System.Windows.Forms.Button();
this.ColorButton21 = new System.Windows.Forms.Button();
this.ColorButton35 = new System.Windows.Forms.Button();
this.ColorButton37 = new System.Windows.Forms.Button();
this.ColorButton30 = new System.Windows.Forms.Button();
this.ColorButton20 = new System.Windows.Forms.Button();
this.ColorButton13 = new System.Windows.Forms.Button();
this.ColorButton12 = new System.Windows.Forms.Button();
this.ColorButton19 = new System.Windows.Forms.Button();
this.ColorButton29 = new System.Windows.Forms.Button();
this.ColorButton36 = new System.Windows.Forms.Button();
this.LLegButton6 = new System.Windows.Forms.Button();
this.RLegButton5 = new System.Windows.Forms.Button();
this.LArmButton4 = new System.Windows.Forms.Button();
this.RArmButton3 = new System.Windows.Forms.Button();
this.TorsoButton2 = new System.Windows.Forms.Button();
this.HeadButton1 = new System.Windows.Forms.Button();
this.label3 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.pictureBox2 = new System.Windows.Forms.PictureBox();
this.PartSelectionLabel2 = new System.Windows.Forms.Label();
this.PartLabel1 = new System.Windows.Forms.Label();
this.ResetColorsButton40 = new System.Windows.Forms.Button();
this.RandColorsButton39 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.button8 = new System.Windows.Forms.Button();
this.label6 = new System.Windows.Forms.Label();
this.listBox2 = new System.Windows.Forms.ListBox();
this.label7 = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
this.SuspendLayout();
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(7, 88);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(271, 20);
this.textBox1.TabIndex = 0;
this.textBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
this.textBox1.TextChanged += new System.EventHandler(this.TextBox1TextChanged);
//
// label1
//
this.label1.Location = new System.Drawing.Point(7, 69);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(271, 16);
this.label1.TabIndex = 1;
this.label1.Text = "Username";
this.label1.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// button1
//
this.button1.Location = new System.Drawing.Point(7, 538);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(271, 23);
this.button1.TabIndex = 2;
this.button1.Text = "Launch!";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.Button1Click);
//
// pictureBox1
//
this.pictureBox1.Location = new System.Drawing.Point(12, 308);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(107, 95);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox1.TabIndex = 3;
this.pictureBox1.TabStop = false;
//
// listBox1
//
this.listBox1.FormattingEnabled = true;
this.listBox1.Location = new System.Drawing.Point(136, 308);
this.listBox1.Name = "listBox1";
this.listBox1.Size = new System.Drawing.Size(142, 95);
this.listBox1.TabIndex = 4;
this.listBox1.SelectedIndexChanged += new System.EventHandler(this.ListBox1SelectedIndexChanged);
//
// label2
//
this.label2.Location = new System.Drawing.Point(7, 285);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(265, 21);
this.label2.TabIndex = 5;
this.label2.Text = "Hat";
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// ColorButton25
//
this.ColorButton25.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(39)))), ((int)(((byte)(126)))), ((int)(((byte)(71)))));
this.ColorButton25.Location = new System.Drawing.Point(122, 189);
this.ColorButton25.Name = "ColorButton25";
this.ColorButton25.Size = new System.Drawing.Size(16, 18);
this.ColorButton25.TabIndex = 100;
this.ColorButton25.UseVisualStyleBackColor = false;
this.ColorButton25.Click += new System.EventHandler(this.ColorButton25Click);
//
// ColorButton16
//
this.ColorButton16.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(111)))), ((int)(((byte)(153)))), ((int)(((byte)(201)))));
this.ColorButton16.Location = new System.Drawing.Point(144, 165);
this.ColorButton16.Name = "ColorButton16";
this.ColorButton16.Size = new System.Drawing.Size(16, 18);
this.ColorButton16.TabIndex = 93;
this.ColorButton16.UseVisualStyleBackColor = false;
this.ColorButton16.Click += new System.EventHandler(this.ColorButton16Click);
//
// ColorButton7
//
this.ColorButton7.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(243)))), ((int)(((byte)(243)))), ((int)(((byte)(243)))));
this.ColorButton7.Location = new System.Drawing.Point(99, 141);
this.ColorButton7.Name = "ColorButton7";
this.ColorButton7.Size = new System.Drawing.Size(17, 18);
this.ColorButton7.TabIndex = 83;
this.ColorButton7.UseVisualStyleBackColor = false;
this.ColorButton7.Click += new System.EventHandler(this.ColorButton7Click);
//
// ColorButton32
//
this.ColorButton32.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(218)))), ((int)(((byte)(135)))), ((int)(((byte)(121)))));
this.ColorButton32.Location = new System.Drawing.Point(144, 213);
this.ColorButton32.Name = "ColorButton32";
this.ColorButton32.Size = new System.Drawing.Size(16, 18);
this.ColorButton32.TabIndex = 109;
this.ColorButton32.UseVisualStyleBackColor = false;
this.ColorButton32.Click += new System.EventHandler(this.ColorButton32Click);
//
// ColorButton33
//
this.ColorButton33.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(232)))), ((int)(((byte)(186)))), ((int)(((byte)(199)))));
this.ColorButton33.Location = new System.Drawing.Point(122, 213);
this.ColorButton33.Name = "ColorButton33";
this.ColorButton33.Size = new System.Drawing.Size(16, 18);
this.ColorButton33.TabIndex = 108;
this.ColorButton33.UseVisualStyleBackColor = false;
this.ColorButton33.Click += new System.EventHandler(this.ColorButton33Click);
//
// ColorButton17
//
this.ColorButton17.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(143)))), ((int)(((byte)(155)))));
this.ColorButton17.Location = new System.Drawing.Point(122, 165);
this.ColorButton17.Name = "ColorButton17";
this.ColorButton17.Size = new System.Drawing.Size(16, 18);
this.ColorButton17.TabIndex = 92;
this.ColorButton17.UseVisualStyleBackColor = false;
this.ColorButton17.Click += new System.EventHandler(this.ColorButton17Click);
//
// ColorButton28
//
this.ColorButton28.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(160)))), ((int)(((byte)(95)))), ((int)(((byte)(55)))));
this.ColorButton28.Location = new System.Drawing.Point(234, 189);
this.ColorButton28.Name = "ColorButton28";
this.ColorButton28.Size = new System.Drawing.Size(16, 18);
this.ColorButton28.TabIndex = 105;
this.ColorButton28.UseVisualStyleBackColor = false;
this.ColorButton28.Click += new System.EventHandler(this.ColorButton28Click);
//
// ColorButton15
//
this.ColorButton15.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(130)))), ((int)(((byte)(186)))), ((int)(((byte)(219)))));
this.ColorButton15.Location = new System.Drawing.Point(166, 165);
this.ColorButton15.Name = "ColorButton15";
this.ColorButton15.Size = new System.Drawing.Size(16, 18);
this.ColorButton15.TabIndex = 94;
this.ColorButton15.UseVisualStyleBackColor = false;
this.ColorButton15.Click += new System.EventHandler(this.ColorButton15Click);
//
// ColorButton9
//
this.ColorButton9.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(163)))), ((int)(((byte)(163)))), ((int)(((byte)(165)))));
this.ColorButton9.Location = new System.Drawing.Point(144, 141);
this.ColorButton9.Name = "ColorButton9";
this.ColorButton9.Size = new System.Drawing.Size(16, 18);
this.ColorButton9.TabIndex = 85;
this.ColorButton9.UseVisualStyleBackColor = false;
this.ColorButton9.Click += new System.EventHandler(this.ColorButton9Click);
//
// ColorButton31
//
this.ColorButton31.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(217)))), ((int)(((byte)(196)))), ((int)(((byte)(153)))));
this.ColorButton31.Location = new System.Drawing.Point(167, 213);
this.ColorButton31.Name = "ColorButton31";
this.ColorButton31.Size = new System.Drawing.Size(16, 18);
this.ColorButton31.TabIndex = 110;
this.ColorButton31.UseVisualStyleBackColor = false;
this.ColorButton31.Click += new System.EventHandler(this.ColorButton31Click);
//
// ColorButton24
//
this.ColorButton24.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(76)))), ((int)(((byte)(150)))), ((int)(((byte)(73)))));
this.ColorButton24.Location = new System.Drawing.Point(144, 189);
this.ColorButton24.Name = "ColorButton24";
this.ColorButton24.Size = new System.Drawing.Size(16, 18);
this.ColorButton24.TabIndex = 101;
this.ColorButton24.UseVisualStyleBackColor = false;
this.ColorButton24.Click += new System.EventHandler(this.ColorButton24Click);
//
// ColorButton34
//
this.ColorButton34.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(106)))), ((int)(((byte)(50)))), ((int)(((byte)(123)))));
this.ColorButton34.Location = new System.Drawing.Point(99, 213);
this.ColorButton34.Name = "ColorButton34";
this.ColorButton34.Size = new System.Drawing.Size(17, 18);
this.ColorButton34.TabIndex = 107;
this.ColorButton34.UseVisualStyleBackColor = false;
this.ColorButton34.Click += new System.EventHandler(this.ColorButton34Click);
//
// ColorButton8
//
this.ColorButton8.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(228)))), ((int)(((byte)(229)))), ((int)(((byte)(224)))));
this.ColorButton8.Location = new System.Drawing.Point(122, 141);
this.ColorButton8.Name = "ColorButton8";
this.ColorButton8.Size = new System.Drawing.Size(16, 18);
this.ColorButton8.TabIndex = 84;
this.ColorButton8.UseVisualStyleBackColor = false;
this.ColorButton8.Click += new System.EventHandler(this.ColorButton8Click);
//
// ColorButton18
//
this.ColorButton18.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(13)))), ((int)(((byte)(105)))), ((int)(((byte)(172)))));
this.ColorButton18.Location = new System.Drawing.Point(99, 165);
this.ColorButton18.Name = "ColorButton18";
this.ColorButton18.Size = new System.Drawing.Size(17, 18);
this.ColorButton18.TabIndex = 91;
this.ColorButton18.UseVisualStyleBackColor = false;
this.ColorButton18.Click += new System.EventHandler(this.ColorButton18Click);
//
// ColorButton22
//
this.ColorButton22.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(181)))), ((int)(((byte)(210)))), ((int)(((byte)(228)))));
this.ColorButton22.Location = new System.Drawing.Point(189, 165);
this.ColorButton22.Name = "ColorButton22";
this.ColorButton22.Size = new System.Drawing.Size(17, 18);
this.ColorButton22.TabIndex = 95;
this.ColorButton22.UseVisualStyleBackColor = false;
this.ColorButton22.Click += new System.EventHandler(this.ColorButton22Click);
//
// ColorButton10
//
this.ColorButton10.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(99)))), ((int)(((byte)(95)))), ((int)(((byte)(96)))));
this.ColorButton10.Location = new System.Drawing.Point(167, 141);
this.ColorButton10.Name = "ColorButton10";
this.ColorButton10.Size = new System.Drawing.Size(16, 18);
this.ColorButton10.TabIndex = 86;
this.ColorButton10.UseVisualStyleBackColor = false;
this.ColorButton10.Click += new System.EventHandler(this.ColorButton10Click);
//
// ColorButton38
//
this.ColorButton38.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(147)))), ((int)(((byte)(122)))), ((int)(((byte)(118)))));
this.ColorButton38.Location = new System.Drawing.Point(189, 213);
this.ColorButton38.Name = "ColorButton38";
this.ColorButton38.Size = new System.Drawing.Size(17, 18);
this.ColorButton38.TabIndex = 111;
this.ColorButton38.UseVisualStyleBackColor = false;
this.ColorButton38.Click += new System.EventHandler(this.ColorButton38Click);
//
// ColorButton23
//
this.ColorButton23.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(164)))), ((int)(((byte)(189)))), ((int)(((byte)(71)))));
this.ColorButton23.Location = new System.Drawing.Point(167, 189);
this.ColorButton23.Name = "ColorButton23";
this.ColorButton23.Size = new System.Drawing.Size(16, 18);
this.ColorButton23.TabIndex = 102;
this.ColorButton23.UseVisualStyleBackColor = false;
this.ColorButton23.Click += new System.EventHandler(this.ColorButton23Click);
//
// ColorButton27
//
this.ColorButton27.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(105)))), ((int)(((byte)(63)))), ((int)(((byte)(39)))));
this.ColorButton27.Location = new System.Drawing.Point(256, 189);
this.ColorButton27.Name = "ColorButton27";
this.ColorButton27.Size = new System.Drawing.Size(16, 18);
this.ColorButton27.TabIndex = 106;
this.ColorButton27.UseVisualStyleBackColor = false;
this.ColorButton27.Click += new System.EventHandler(this.ColorButton27Click);
//
// ColorButton14
//
this.ColorButton14.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(28)))), ((int)(((byte)(42)))), ((int)(((byte)(53)))));
this.ColorButton14.Location = new System.Drawing.Point(189, 141);
this.ColorButton14.Name = "ColorButton14";
this.ColorButton14.Size = new System.Drawing.Size(17, 18);
this.ColorButton14.TabIndex = 87;
this.ColorButton14.UseVisualStyleBackColor = false;
this.ColorButton14.Click += new System.EventHandler(this.ColorButton14Click);
//
// ColorButton11
//
this.ColorButton11.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(234)))), ((int)(((byte)(142)))));
this.ColorButton11.Location = new System.Drawing.Point(256, 141);
this.ColorButton11.Name = "ColorButton11";
this.ColorButton11.Size = new System.Drawing.Size(16, 18);
this.ColorButton11.TabIndex = 90;
this.ColorButton11.UseVisualStyleBackColor = false;
this.ColorButton11.Click += new System.EventHandler(this.ColorButton11Click);
//
// ColorButton26
//
this.ColorButton26.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(41)))), ((int)(((byte)(70)))), ((int)(((byte)(43)))));
this.ColorButton26.Location = new System.Drawing.Point(99, 189);
this.ColorButton26.Name = "ColorButton26";
this.ColorButton26.Size = new System.Drawing.Size(17, 18);
this.ColorButton26.TabIndex = 99;
this.ColorButton26.UseVisualStyleBackColor = false;
this.ColorButton26.Click += new System.EventHandler(this.ColorButton26Click);
//
// ColorButton21
//
this.ColorButton21.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(116)))), ((int)(((byte)(134)))), ((int)(((byte)(156)))));
this.ColorButton21.Location = new System.Drawing.Point(212, 165);
this.ColorButton21.Name = "ColorButton21";
this.ColorButton21.Size = new System.Drawing.Size(16, 18);
this.ColorButton21.TabIndex = 96;
this.ColorButton21.UseVisualStyleBackColor = false;
this.ColorButton21.Click += new System.EventHandler(this.ColorButton21Click);
//
// ColorButton35
//
this.ColorButton35.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(234)))), ((int)(((byte)(185)))), ((int)(((byte)(145)))));
this.ColorButton35.Location = new System.Drawing.Point(256, 213);
this.ColorButton35.Name = "ColorButton35";
this.ColorButton35.Size = new System.Drawing.Size(16, 18);
this.ColorButton35.TabIndex = 114;
this.ColorButton35.UseVisualStyleBackColor = false;
this.ColorButton35.Click += new System.EventHandler(this.ColorButton35Click);
//
// ColorButton37
//
this.ColorButton37.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(124)))), ((int)(((byte)(92)))), ((int)(((byte)(69)))));
this.ColorButton37.Location = new System.Drawing.Point(212, 213);
this.ColorButton37.Name = "ColorButton37";
this.ColorButton37.Size = new System.Drawing.Size(16, 18);
this.ColorButton37.TabIndex = 112;
this.ColorButton37.UseVisualStyleBackColor = false;
this.ColorButton37.Click += new System.EventHandler(this.ColorButton37Click);
//
// ColorButton30
//
this.ColorButton30.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(161)))), ((int)(((byte)(196)))), ((int)(((byte)(140)))));
this.ColorButton30.Location = new System.Drawing.Point(189, 189);
this.ColorButton30.Name = "ColorButton30";
this.ColorButton30.Size = new System.Drawing.Size(17, 18);
this.ColorButton30.TabIndex = 103;
this.ColorButton30.UseVisualStyleBackColor = false;
this.ColorButton30.Click += new System.EventHandler(this.ColorButton30Click);
//
// ColorButton20
//
this.ColorButton20.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(218)))), ((int)(((byte)(134)))), ((int)(((byte)(64)))));
this.ColorButton20.Location = new System.Drawing.Point(234, 165);
this.ColorButton20.Name = "ColorButton20";
this.ColorButton20.Size = new System.Drawing.Size(16, 18);
this.ColorButton20.TabIndex = 97;
this.ColorButton20.UseVisualStyleBackColor = false;
this.ColorButton20.Click += new System.EventHandler(this.ColorButton20Click);
//
// ColorButton13
//
this.ColorButton13.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(196)))), ((int)(((byte)(40)))), ((int)(((byte)(27)))));
this.ColorButton13.Location = new System.Drawing.Point(212, 141);
this.ColorButton13.Name = "ColorButton13";
this.ColorButton13.Size = new System.Drawing.Size(16, 18);
this.ColorButton13.TabIndex = 88;
this.ColorButton13.UseVisualStyleBackColor = false;
this.ColorButton13.Click += new System.EventHandler(this.ColorButton13Click);
//
// ColorButton12
//
this.ColorButton12.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(245)))), ((int)(((byte)(205)))), ((int)(((byte)(47)))));
this.ColorButton12.Location = new System.Drawing.Point(234, 141);
this.ColorButton12.Name = "ColorButton12";
this.ColorButton12.Size = new System.Drawing.Size(16, 18);
this.ColorButton12.TabIndex = 89;
this.ColorButton12.UseVisualStyleBackColor = false;
this.ColorButton12.Click += new System.EventHandler(this.ColorButton12Click);
//
// ColorButton19
//
this.ColorButton19.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(226)))), ((int)(((byte)(155)))), ((int)(((byte)(63)))));
this.ColorButton19.Location = new System.Drawing.Point(256, 165);
this.ColorButton19.Name = "ColorButton19";
this.ColorButton19.Size = new System.Drawing.Size(16, 18);
this.ColorButton19.TabIndex = 98;
this.ColorButton19.UseVisualStyleBackColor = false;
this.ColorButton19.Click += new System.EventHandler(this.ColorButton19Click);
//
// ColorButton29
//
this.ColorButton29.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(120)))), ((int)(((byte)(144)))), ((int)(((byte)(130)))));
this.ColorButton29.Location = new System.Drawing.Point(212, 189);
this.ColorButton29.Name = "ColorButton29";
this.ColorButton29.Size = new System.Drawing.Size(16, 18);
this.ColorButton29.TabIndex = 104;
this.ColorButton29.UseVisualStyleBackColor = false;
this.ColorButton29.Click += new System.EventHandler(this.ColorButton29Click);
//
// ColorButton36
//
this.ColorButton36.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(142)))), ((int)(((byte)(105)))));
this.ColorButton36.Location = new System.Drawing.Point(234, 213);
this.ColorButton36.Name = "ColorButton36";
this.ColorButton36.Size = new System.Drawing.Size(16, 18);
this.ColorButton36.TabIndex = 113;
this.ColorButton36.UseVisualStyleBackColor = false;
this.ColorButton36.Click += new System.EventHandler(this.ColorButton36Click);
//
// LLegButton6
//
this.LLegButton6.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(164)))), ((int)(((byte)(189)))), ((int)(((byte)(71)))));
this.LLegButton6.Location = new System.Drawing.Point(44, 208);
this.LLegButton6.Name = "LLegButton6";
this.LLegButton6.Size = new System.Drawing.Size(18, 40);
this.LLegButton6.TabIndex = 120;
this.LLegButton6.UseVisualStyleBackColor = false;
this.LLegButton6.Click += new System.EventHandler(this.LLegButton6Click);
//
// RLegButton5
//
this.RLegButton5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(164)))), ((int)(((byte)(189)))), ((int)(((byte)(71)))));
this.RLegButton5.Location = new System.Drawing.Point(23, 208);
this.RLegButton5.Name = "RLegButton5";
this.RLegButton5.Size = new System.Drawing.Size(18, 40);
this.RLegButton5.TabIndex = 119;
this.RLegButton5.UseVisualStyleBackColor = false;
this.RLegButton5.Click += new System.EventHandler(this.RLegButton5Click);
//
// LArmButton4
//
this.LArmButton4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(245)))), ((int)(((byte)(205)))), ((int)(((byte)(47)))));
this.LArmButton4.Location = new System.Drawing.Point(64, 165);
this.LArmButton4.Name = "LArmButton4";
this.LArmButton4.Size = new System.Drawing.Size(18, 42);
this.LArmButton4.TabIndex = 118;
this.LArmButton4.UseVisualStyleBackColor = false;
this.LArmButton4.Click += new System.EventHandler(this.LArmButton4Click);
//
// RArmButton3
//
this.RArmButton3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(245)))), ((int)(((byte)(205)))), ((int)(((byte)(47)))));
this.RArmButton3.Location = new System.Drawing.Point(4, 165);
this.RArmButton3.Name = "RArmButton3";
this.RArmButton3.Size = new System.Drawing.Size(18, 42);
this.RArmButton3.TabIndex = 117;
this.RArmButton3.UseVisualStyleBackColor = false;
this.RArmButton3.Click += new System.EventHandler(this.RArmButton3Click);
//
// TorsoButton2
//
this.TorsoButton2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(13)))), ((int)(((byte)(105)))), ((int)(((byte)(172)))));
this.TorsoButton2.Location = new System.Drawing.Point(23, 165);
this.TorsoButton2.Name = "TorsoButton2";
this.TorsoButton2.Size = new System.Drawing.Size(40, 42);
this.TorsoButton2.TabIndex = 116;
this.TorsoButton2.UseVisualStyleBackColor = false;
this.TorsoButton2.Click += new System.EventHandler(this.TorsoButton2Click);
//
// HeadButton1
//
this.HeadButton1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(245)))), ((int)(((byte)(205)))), ((int)(((byte)(47)))));
this.HeadButton1.Location = new System.Drawing.Point(31, 142);
this.HeadButton1.Name = "HeadButton1";
this.HeadButton1.Size = new System.Drawing.Size(22, 22);
this.HeadButton1.TabIndex = 115;
this.HeadButton1.UseVisualStyleBackColor = false;
this.HeadButton1.Click += new System.EventHandler(this.HeadButton1Click);
//
// label3
//
this.label3.Location = new System.Drawing.Point(62, 120);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(158, 18);
this.label3.TabIndex = 121;
this.label3.Text = "Body Colors";
this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label4
//
this.label4.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.label4.Location = new System.Drawing.Point(7, 120);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(271, 2);
this.label4.TabIndex = 122;
//
// label5
//
this.label5.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.label5.Location = new System.Drawing.Point(7, 285);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(271, 2);
this.label5.TabIndex = 123;
//
// pictureBox2
//
this.pictureBox2.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox2.Image")));
this.pictureBox2.Location = new System.Drawing.Point(34, 12);
this.pictureBox2.Name = "pictureBox2";
this.pictureBox2.Size = new System.Drawing.Size(216, 54);
this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox2.TabIndex = 124;
this.pictureBox2.TabStop = false;
//
// PartSelectionLabel2
//
this.PartSelectionLabel2.Location = new System.Drawing.Point(194, 234);
this.PartSelectionLabel2.Name = "PartSelectionLabel2";
this.PartSelectionLabel2.Size = new System.Drawing.Size(80, 16);
this.PartSelectionLabel2.TabIndex = 126;
//
// PartLabel1
//
this.PartLabel1.Location = new System.Drawing.Point(99, 234);
this.PartLabel1.Name = "PartLabel1";
this.PartLabel1.Size = new System.Drawing.Size(105, 16);
this.PartLabel1.TabIndex = 125;
this.PartLabel1.Text = "SELECTED PART:";
//
// ResetColorsButton40
//
this.ResetColorsButton40.Location = new System.Drawing.Point(141, 253);
this.ResetColorsButton40.Name = "ResetColorsButton40";
this.ResetColorsButton40.Size = new System.Drawing.Size(137, 27);
this.ResetColorsButton40.TabIndex = 127;
this.ResetColorsButton40.Text = "Reset Colors";
this.ResetColorsButton40.UseVisualStyleBackColor = true;
this.ResetColorsButton40.Click += new System.EventHandler(this.ResetColorsButton40Click);
//
// RandColorsButton39
//
this.RandColorsButton39.Location = new System.Drawing.Point(5, 253);
this.RandColorsButton39.Name = "RandColorsButton39";
this.RandColorsButton39.Size = new System.Drawing.Size(131, 27);
this.RandColorsButton39.TabIndex = 128;
this.RandColorsButton39.Text = "Randomize Colors";
this.RandColorsButton39.UseVisualStyleBackColor = true;
this.RandColorsButton39.Click += new System.EventHandler(this.RandColorsButton39Click);
//
// button2
//
this.button2.Location = new System.Drawing.Point(142, 409);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(136, 27);
this.button2.TabIndex = 130;
this.button2.Text = "Reset Hats";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.Button2Click);
//
// button8
//
this.button8.Location = new System.Drawing.Point(6, 409);
this.button8.Name = "button8";
this.button8.Size = new System.Drawing.Size(130, 27);
this.button8.TabIndex = 129;
this.button8.Text = "Randomize Hats";
this.button8.UseVisualStyleBackColor = true;
this.button8.Click += new System.EventHandler(this.Button8Click);
//
// label6
//
this.label6.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.label6.Location = new System.Drawing.Point(12, 443);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(260, 2);
this.label6.TabIndex = 136;
//
// listBox2
//
this.listBox2.FormattingEnabled = true;
this.listBox2.Location = new System.Drawing.Point(12, 463);
this.listBox2.Name = "listBox2";
this.listBox2.Size = new System.Drawing.Size(260, 69);
this.listBox2.TabIndex = 135;
//
// label7
//
this.label7.Location = new System.Drawing.Point(12, 443);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(260, 17);
this.label7.TabIndex = 134;
this.label7.Text = "Maps";
this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// SoloForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.Control;
this.ClientSize = new System.Drawing.Size(287, 569);
this.Controls.Add(this.label6);
this.Controls.Add(this.listBox2);
this.Controls.Add(this.label7);
this.Controls.Add(this.button2);
this.Controls.Add(this.button8);
this.Controls.Add(this.ResetColorsButton40);
this.Controls.Add(this.RandColorsButton39);
this.Controls.Add(this.PartSelectionLabel2);
this.Controls.Add(this.PartLabel1);
this.Controls.Add(this.pictureBox2);
this.Controls.Add(this.label5);
this.Controls.Add(this.label4);
this.Controls.Add(this.label3);
this.Controls.Add(this.LLegButton6);
this.Controls.Add(this.RLegButton5);
this.Controls.Add(this.LArmButton4);
this.Controls.Add(this.RArmButton3);
this.Controls.Add(this.TorsoButton2);
this.Controls.Add(this.HeadButton1);
this.Controls.Add(this.ColorButton25);
this.Controls.Add(this.ColorButton16);
this.Controls.Add(this.ColorButton7);
this.Controls.Add(this.ColorButton32);
this.Controls.Add(this.ColorButton33);
this.Controls.Add(this.ColorButton17);
this.Controls.Add(this.ColorButton28);
this.Controls.Add(this.ColorButton15);
this.Controls.Add(this.ColorButton9);
this.Controls.Add(this.ColorButton31);
this.Controls.Add(this.ColorButton24);
this.Controls.Add(this.ColorButton34);
this.Controls.Add(this.ColorButton8);
this.Controls.Add(this.ColorButton18);
this.Controls.Add(this.ColorButton22);
this.Controls.Add(this.ColorButton10);
this.Controls.Add(this.ColorButton38);
this.Controls.Add(this.ColorButton23);
this.Controls.Add(this.ColorButton27);
this.Controls.Add(this.ColorButton14);
this.Controls.Add(this.ColorButton11);
this.Controls.Add(this.ColorButton26);
this.Controls.Add(this.ColorButton21);
this.Controls.Add(this.ColorButton35);
this.Controls.Add(this.ColorButton37);
this.Controls.Add(this.ColorButton30);
this.Controls.Add(this.ColorButton20);
this.Controls.Add(this.ColorButton13);
this.Controls.Add(this.ColorButton12);
this.Controls.Add(this.ColorButton19);
this.Controls.Add(this.ColorButton29);
this.Controls.Add(this.ColorButton36);
this.Controls.Add(this.label2);
this.Controls.Add(this.listBox1);
this.Controls.Add(this.pictureBox1);
this.Controls.Add(this.button1);
this.Controls.Add(this.label1);
this.Controls.Add(this.textBox1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "SoloForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Origins07";
this.Load += new System.EventHandler(this.NameFormLoad);
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
private System.Windows.Forms.Label label7;
private System.Windows.Forms.ListBox listBox2;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Button button8;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button RandColorsButton39;
private System.Windows.Forms.Button ResetColorsButton40;
private System.Windows.Forms.Label PartLabel1;
private System.Windows.Forms.Label PartSelectionLabel2;
private System.Windows.Forms.PictureBox pictureBox2;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Button HeadButton1;
private System.Windows.Forms.Button TorsoButton2;
private System.Windows.Forms.Button RArmButton3;
private System.Windows.Forms.Button LArmButton4;
private System.Windows.Forms.Button RLegButton5;
private System.Windows.Forms.Button LLegButton6;
private System.Windows.Forms.Button ColorButton36;
private System.Windows.Forms.Button ColorButton29;
private System.Windows.Forms.Button ColorButton19;
private System.Windows.Forms.Button ColorButton12;
private System.Windows.Forms.Button ColorButton13;
private System.Windows.Forms.Button ColorButton20;
private System.Windows.Forms.Button ColorButton30;
private System.Windows.Forms.Button ColorButton37;
private System.Windows.Forms.Button ColorButton35;
private System.Windows.Forms.Button ColorButton21;
private System.Windows.Forms.Button ColorButton26;
private System.Windows.Forms.Button ColorButton11;
private System.Windows.Forms.Button ColorButton14;
private System.Windows.Forms.Button ColorButton27;
private System.Windows.Forms.Button ColorButton23;
private System.Windows.Forms.Button ColorButton38;
private System.Windows.Forms.Button ColorButton10;
private System.Windows.Forms.Button ColorButton22;
private System.Windows.Forms.Button ColorButton18;
private System.Windows.Forms.Button ColorButton8;
private System.Windows.Forms.Button ColorButton34;
private System.Windows.Forms.Button ColorButton24;
private System.Windows.Forms.Button ColorButton31;
private System.Windows.Forms.Button ColorButton9;
private System.Windows.Forms.Button ColorButton15;
private System.Windows.Forms.Button ColorButton28;
private System.Windows.Forms.Button ColorButton17;
private System.Windows.Forms.Button ColorButton33;
private System.Windows.Forms.Button ColorButton32;
private System.Windows.Forms.Button ColorButton7;
private System.Windows.Forms.Button ColorButton16;
private System.Windows.Forms.Button ColorButton25;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.ListBox listBox1;
private System.Windows.Forms.PictureBox pictureBox1;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox textBox1;
}
}

View File

@ -0,0 +1,569 @@
/*
* Created by SharpDevelop.
* User: BITL
* Date: 6/4/2017
* Time: 5:24 PM
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Drawing;
using System.Windows.Forms;
using System.IO;
using System.Reflection;
using System.Diagnostics;
namespace Origins07_Launcher
{
/// <summary>
/// Description of SoloForm.
/// </summary>
public partial class SoloForm : Form
{
public static string SelectedPart = "Head";
public string[,] ColorArray;
public SoloForm()
{
InitializeComponent();
ColorArray = new string[32, 2] {
{ "1", ColorButton7.BackColor.ToString() },
{ "208", ColorButton8.BackColor.ToString() },
{ "194", ColorButton9.BackColor.ToString() },
{ "199", ColorButton10.BackColor.ToString() },
{ "26", ColorButton14.BackColor.ToString() },
{ "21", ColorButton13.BackColor.ToString() },
{ "24", ColorButton12.BackColor.ToString() },
{ "226", ColorButton11.BackColor.ToString() },
{ "23", ColorButton18.BackColor.ToString() },
{ "107", ColorButton17.BackColor.ToString() },
{ "102", ColorButton16.BackColor.ToString() },
{ "11", ColorButton15.BackColor.ToString() },
{ "45", ColorButton22.BackColor.ToString() },
{ "135", ColorButton21.BackColor.ToString() },
{ "106", ColorButton20.BackColor.ToString() },
{ "105", ColorButton19.BackColor.ToString() },
{ "141", ColorButton26.BackColor.ToString() },
{ "28", ColorButton25.BackColor.ToString() },
{ "37", ColorButton24.BackColor.ToString() },
{ "119", ColorButton23.BackColor.ToString() },
{ "29", ColorButton30.BackColor.ToString() },
{ "151", ColorButton29.BackColor.ToString() },
{ "38", ColorButton28.BackColor.ToString() },
{ "192", ColorButton27.BackColor.ToString() },
{ "104", ColorButton34.BackColor.ToString() },
{ "9", ColorButton33.BackColor.ToString() },
{ "101", ColorButton32.BackColor.ToString() },
{ "5", ColorButton31.BackColor.ToString() },
{ "153", ColorButton38.BackColor.ToString() },
{ "217", ColorButton37.BackColor.ToString() },
{ "18", ColorButton36.BackColor.ToString() },
{ "125", ColorButton35.BackColor.ToString() }
};
}
void TextBox1TextChanged(object sender, EventArgs e)
{
GlobalVars.Name = textBox1.Text;
}
void NameFormLoad(object sender, EventArgs e)
{
if (!File.Exists(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\" + GlobalVars.Config))
{
SecurityFuncs.GeneratePlayerID();
SecurityFuncs.WriteConfigValues();
SecurityFuncs.ReadConfigValues();
}
else
{
SecurityFuncs.ReadConfigValues();
}
textBox1.Text = GlobalVars.Name;
string hatdir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\content\\hats";
if (Directory.Exists(hatdir))
{
DirectoryInfo dinfo = new DirectoryInfo(hatdir);
FileInfo[] Files = dinfo.GetFiles("*.rbxm");
foreach( FileInfo file in Files )
{
if (file.Name.Equals(String.Empty))
{
continue;
}
listBox1.Items.Add(file.Name);
}
listBox1.SelectedItem = GlobalVars.HatName;
Image icon1 = Image.FromFile(hatdir + @"\\" + GlobalVars.HatName.Replace(".rbxm", "") + ".png");
pictureBox1.Image = icon1;
}
string mapdir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\maps";
if (Directory.Exists(mapdir))
{
DirectoryInfo dinfo = new DirectoryInfo(mapdir);
FileInfo[] Files = dinfo.GetFiles("*.rbxl");
foreach( FileInfo file in Files )
{
listBox2.Items.Add(file.Name);
}
listBox2.SelectedItem = "Baseplate.rbxl";
}
PartSelectionLabel2.Text = SelectedPart;
HeadButton1.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_HeadColor);
TorsoButton2.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_TorsoColor);
RArmButton3.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightArmColor);
LArmButton4.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftArmColor);
RLegButton5.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightLegColor);
LLegButton6.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftLegColor);
}
Color ConvertStringtoColor(string CString)
{
var p = CString.Split(new char[]{',',']'});
int A = Convert.ToInt32(p[0].Substring(p[0].IndexOf('=') + 1));
int R = Convert.ToInt32(p[1].Substring(p[1].IndexOf('=') + 1));
int G = Convert.ToInt32(p[2].Substring(p[2].IndexOf('=') + 1));
int B = Convert.ToInt32(p[3].Substring(p[3].IndexOf('=') + 1));
return Color.FromArgb(A,R,G,B);
}
void ChangeColorOfPart(int ColorID, Color ButtonColor)
{
if (SelectedPart == "Head")
{
GlobalVars.HeadColor = ColorID;
GlobalVars.ColorMenu_HeadColor = ButtonColor.ToString();
HeadButton1.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_HeadColor);
}
else if (SelectedPart == "Torso")
{
GlobalVars.TorsoColor = ColorID;
GlobalVars.ColorMenu_TorsoColor = ButtonColor.ToString();
TorsoButton2.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_TorsoColor);
}
else if (SelectedPart == "Right Arm")
{
GlobalVars.RightArmColor = ColorID;
GlobalVars.ColorMenu_RightArmColor = ButtonColor.ToString();
RArmButton3.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightArmColor);
}
else if (SelectedPart == "Left Arm")
{
GlobalVars.LeftArmColor = ColorID;
GlobalVars.ColorMenu_LeftArmColor = ButtonColor.ToString();
LArmButton4.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftArmColor);
}
else if (SelectedPart == "Right Leg")
{
GlobalVars.RightLegColor = ColorID;
GlobalVars.ColorMenu_RightLegColor = ButtonColor.ToString();
RLegButton5.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightLegColor);
}
else if (SelectedPart == "Left Leg")
{
GlobalVars.LeftLegColor = ColorID;
GlobalVars.ColorMenu_LeftLegColor = ButtonColor.ToString();
LLegButton6.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftLegColor);
}
}
void Button1Click(object sender, EventArgs e)
{
SecurityFuncs.WriteConfigValues();
ScriptType type = ScriptType.Solo;
ScriptGenerator.GenerateScriptForClient(type);
bool IsValid = SecurityFuncs.checkClientMD5();
if (IsValid == true)
{
//temp domain
string exefile = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\Origins07_Client.exe";
string quote = "\"";
string args = "-script " + quote + Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + ScriptGenerator.GetScriptNameForType(type) + quote + " " + quote + Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\maps\\" + listBox2.SelectedItem.ToString() + quote;
Process.Start(exefile, args);
this.Close();
}
else
{
MessageBox.Show("The client has been detected as modified.","Cannot Launch Game.", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
protected override void OnFormClosing(FormClosingEventArgs e)
{
base.OnFormClosing(e);
SecurityFuncs.WriteConfigValues();
}
void ListBox1SelectedIndexChanged(object sender, EventArgs e)
{
string hatdir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\content\\hats";
if (Directory.Exists(hatdir))
{
GlobalVars.HatName = listBox1.SelectedItem.ToString();
Image icon1 = Image.FromFile(hatdir + "\\" + GlobalVars.HatName.Replace(".rbxm", "") + ".png");
pictureBox1.Image = icon1;
}
}
void HeadButton1Click(object sender, EventArgs e)
{
SelectedPart = "Head";
PartSelectionLabel2.Text = SelectedPart;
}
void TorsoButton2Click(object sender, EventArgs e)
{
SelectedPart = "Torso";
PartSelectionLabel2.Text = SelectedPart;
}
void RArmButton3Click(object sender, EventArgs e)
{
SelectedPart = "Right Arm";
PartSelectionLabel2.Text = SelectedPart;
}
void LArmButton4Click(object sender, EventArgs e)
{
SelectedPart = "Left Arm";
PartSelectionLabel2.Text = SelectedPart;
}
void RLegButton5Click(object sender, EventArgs e)
{
SelectedPart = "Right Leg";
PartSelectionLabel2.Text = SelectedPart;
}
void LLegButton6Click(object sender, EventArgs e)
{
SelectedPart = "Left Leg";
PartSelectionLabel2.Text = SelectedPart;
}
void ColorButton7Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton7.BackColor;
int colorID = 1;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton8Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton8.BackColor;
int colorID = 208;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton9Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton9.BackColor;
int colorID = 194;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton10Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton10.BackColor;
int colorID = 199;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton14Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton14.BackColor;
int colorID = 26;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton13Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton13.BackColor;
int colorID = 21;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton12Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton12.BackColor;
int colorID = 24;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton11Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton11.BackColor;
int colorID = 226;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton18Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton18.BackColor;
int colorID = 23;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton17Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton17.BackColor;
int colorID = 107;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton16Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton16.BackColor;
int colorID = 102;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton15Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton15.BackColor;
int colorID = 11;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton22Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton22.BackColor;
int colorID = 45;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton21Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton21.BackColor;
int colorID = 135;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton20Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton20.BackColor;
int colorID = 106;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton19Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton19.BackColor;
int colorID = 105;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton26Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton26.BackColor;
int colorID = 141;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton25Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton25.BackColor;
int colorID = 28;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton24Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton24.BackColor;
int colorID = 37;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton23Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton23.BackColor;
int colorID = 119;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton30Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton30.BackColor;
int colorID = 29;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton29Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton29.BackColor;
int colorID = 151;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton28Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton28.BackColor;
int colorID = 38;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton27Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton27.BackColor;
int colorID = 192;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton34Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton34.BackColor;
int colorID = 104;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton33Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton33.BackColor;
int colorID = 9;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton32Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton32.BackColor;
int colorID = 101;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton31Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton31.BackColor;
int colorID = 5;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton38Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton38.BackColor;
int colorID = 153;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton37Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton37.BackColor;
int colorID = 217;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton36Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton36.BackColor;
int colorID = 18;
ChangeColorOfPart(colorID, ButtonColor);
}
void ColorButton35Click(object sender, EventArgs e)
{
Color ButtonColor = ColorButton35.BackColor;
int colorID = 125;
ChangeColorOfPart(colorID, ButtonColor);
}
void RandColorsButton39Click(object sender, EventArgs e)
{
Random rand = new Random();
int RandomColor;
for (int i=1; i <= 6; i++)
{
RandomColor = rand.Next(ColorArray.GetLength(0));
if (i == 1)
{
GlobalVars.HeadColor = Convert.ToInt32(ColorArray[RandomColor, 0]);
GlobalVars.ColorMenu_HeadColor = ColorArray[RandomColor, 1];
HeadButton1.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_HeadColor);
}
else if (i == 2)
{
GlobalVars.TorsoColor = Convert.ToInt32(ColorArray[RandomColor, 0]);
GlobalVars.ColorMenu_TorsoColor = ColorArray[RandomColor, 1];
TorsoButton2.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_TorsoColor);
}
else if (i == 3)
{
GlobalVars.RightArmColor = Convert.ToInt32(ColorArray[RandomColor, 0]);
GlobalVars.ColorMenu_RightArmColor = ColorArray[RandomColor, 1];
RArmButton3.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightArmColor);
}
else if (i == 4)
{
GlobalVars.LeftArmColor = Convert.ToInt32(ColorArray[RandomColor, 0]);
GlobalVars.ColorMenu_LeftArmColor = ColorArray[RandomColor, 1];
LArmButton4.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftArmColor);
}
else if (i == 5)
{
GlobalVars.RightLegColor = Convert.ToInt32(ColorArray[RandomColor, 0]);
GlobalVars.ColorMenu_RightLegColor = ColorArray[RandomColor, 1];
RLegButton5.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightLegColor);
}
else if (i == 6)
{
GlobalVars.LeftLegColor = Convert.ToInt32(ColorArray[RandomColor, 0]);
GlobalVars.ColorMenu_LeftLegColor = ColorArray[RandomColor, 1];
LLegButton6.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftLegColor);
}
}
}
void ResetColorsButton40Click(object sender, EventArgs e)
{
GlobalVars.HeadColor = 24;
GlobalVars.TorsoColor = 23;
GlobalVars.LeftArmColor = 24;
GlobalVars.RightArmColor = 24;
GlobalVars.LeftLegColor = 119;
GlobalVars.RightLegColor = 119;
GlobalVars.ColorMenu_HeadColor = "Color [A=255, R=245, G=205, B=47]";
GlobalVars.ColorMenu_TorsoColor = "Color [A=255, R=13, G=105, B=172]";
GlobalVars.ColorMenu_LeftArmColor = "Color [A=255, R=245, G=205, B=47]";
GlobalVars.ColorMenu_RightArmColor = "Color [A=255, R=245, G=205, B=47]";
GlobalVars.ColorMenu_LeftLegColor = "Color [A=255, R=164, G=189, B=71]";
GlobalVars.ColorMenu_RightLegColor = "Color [A=255, R=164, G=189, B=71]";
HeadButton1.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_HeadColor);
TorsoButton2.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_TorsoColor);
RArmButton3.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightArmColor);
LArmButton4.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftArmColor);
RLegButton5.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_RightLegColor);
LLegButton6.BackColor = ConvertStringtoColor(GlobalVars.ColorMenu_LeftLegColor);
}
void Button8Click(object sender, EventArgs e)
{
string hatdir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\content\\hats";
if (Directory.Exists(hatdir))
{
Random random = new Random();
int randomHat1 = random.Next(listBox1.Items.Count);
listBox1.SelectedItem = listBox1.Items[randomHat1];
GlobalVars.HatName = listBox1.SelectedItem.ToString();
Image icon1 = Image.FromFile(hatdir + "\\" + GlobalVars.HatName.Replace(".rbxm", "") + ".png");
pictureBox1.Image = icon1;
}
}
void Button2Click(object sender, EventArgs e)
{
string hatdir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\content\\hats";
if (Directory.Exists(hatdir))
{
listBox1.SelectedItem = "NoHat.rbxm";
GlobalVars.HatName = listBox1.SelectedItem.ToString();
Image icon1 = Image.FromFile(hatdir + "\\" + GlobalVars.HatName.Replace(".rbxm", "") + ".png");
pictureBox1.Image = icon1;
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Open.NAT" version="2.1.0.0" targetFramework="net45" />
</packages>

View File

@ -0,0 +1,324 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Open.Nat</name>
</assembly>
<members>
<member name="T:Open.Nat.NatDevice">
<summary>
Represents a NAT device and provides access to the operation set that allows
open (forward) ports, close ports and get the externa (visible) IP address.
</summary>
</member>
<member name="M:Open.Nat.NatDevice.CreatePortMapAsync(Open.Nat.Mapping)">
<summary>
Creates the port map asynchronous.
</summary>
<param name="mapping">The <see cref="T:Open.Nat.Mapping">Mapping</see> entry.</param>
<example>
device.CreatePortMapAsync(new Mapping(Protocol.Tcp, 1700, 1600));
</example>
<exception cref="T:Open.Nat.MappingException">MappingException</exception>
</member>
<member name="M:Open.Nat.NatDevice.DeletePortMapAsync(Open.Nat.Mapping)">
<summary>
Deletes a mapped port asynchronous.
</summary>
<param name="mapping">The <see cref="T:Open.Nat.Mapping">Mapping</see> entry.</param>
<example>
device.DeletePortMapAsync(new Mapping(Protocol.Tcp, 1700, 1600));
</example>
<exception cref="T:Open.Nat.MappingException">MappingException-class</exception>
</member>
<member name="M:Open.Nat.NatDevice.GetAllMappingsAsync">
<summary>
Gets all mappings asynchronous.
</summary>
<returns>
The list of all forwarded ports
</returns>
<example>
var mappings = await device.GetAllMappingsAsync();
foreach(var mapping in mappings)
{
Console.WriteLine(mapping)
}
</example>
<exception cref="T:Open.Nat.MappingException">MappingException</exception>
</member>
<member name="M:Open.Nat.NatDevice.GetExternalIPAsync">
<summary>
Gets the external (visible) IP address asynchronous. This is the NAT device IP address
</summary>
<returns>
The public IP addrees
</returns>
<example>
Console.WriteLine("My public IP is: {0}", await device.GetExternalIPAsync());
</example>
<exception cref="T:Open.Nat.MappingException">MappingException</exception>
</member>
<member name="M:Open.Nat.NatDevice.GetSpecificMappingAsync(Open.Nat.Protocol,System.Int32)">
<summary>
Gets the specified mapping asynchronous.
</summary>
<param name="protocol">The protocol.</param>
<param name="port">The port.</param>
<returns>
The matching mapping
</returns>
</member>
<member name="T:Open.Nat.Protocol">
<summary>
Protocol to allow/disallow
</summary>
</member>
<member name="F:Open.Nat.Protocol.Tcp">
<summary>
Transport Control Protocol
</summary>
</member>
<member name="F:Open.Nat.Protocol.Udp">
<summary>
Datagram Protocol
</summary>
</member>
<member name="T:Open.Nat.MappingException">
<summary>
</summary>
</member>
<member name="P:Open.Nat.MappingException.ErrorCode">
<summary>
</summary>
</member>
<member name="P:Open.Nat.MappingException.ErrorText">
<summary>
</summary>
</member>
<member name="T:Open.Nat.Mapping">
<summary>
Represents a port forwarding entry in the NAT translation table.
</summary>
</member>
<member name="P:Open.Nat.Mapping.Description">
<summary>
Gets the mapping's description. It is the value stored in the NewPortMappingDescription parameter.
The NewPortMappingDescription parameter is a human readable string that describes the connection.
It is used in sorme web interfaces of routers so the user can see which program is using what port.
</summary>
</member>
<member name="P:Open.Nat.Mapping.PrivateIP">
<summary>
Gets the private ip.
</summary>
</member>
<member name="P:Open.Nat.Mapping.Protocol">
<summary>
Gets the protocol.
</summary>
</member>
<member name="P:Open.Nat.Mapping.PrivatePort">
<summary>
The PrivatePort parameter specifies the port on a client machine to which all traffic
coming in on <see cref="!:#PublicPort">PublicPort</see> for the protocol specified by
<see cref="!:#Protocol">Protocol</see> should be forwarded to.
</summary>
<see cref="P:Open.Nat.Mapping.Protocol">Protocol enum</see>
</member>
<member name="P:Open.Nat.Mapping.PublicIP">
<summary>
Gets the public ip.
</summary>
</member>
<member name="P:Open.Nat.Mapping.PublicPort">
<summary>
Gets the external (visible) port number.
It is the value stored in the NewExternalPort parameter .
The NewExternalPort parameter is used to specify the TCP or UDP port on the WAN side of the router which should be forwarded.
</summary>
</member>
<member name="P:Open.Nat.Mapping.Lifetime">
<summary>
Gets the lifetime. The Lifetime parameter tells the router how long the portmapping should be active.
Since most programs don't know this in advance, it is often set to 0, which means 'unlimited' or 'permanent'.
</summary>
<remarks>
All portmappings are release automatically as part of the shutdown process when <see cref="T:Open.Nat.NatDiscoverer">NatUtility</see>.<see cref="!:NatUtility#releaseonshutdown">ReleaseOnShutdown</see> is true.
Permanent portmappings will not be released if the process ends anormally.
Since most programs don't know the lifetime in advance, Open.NAT renew all the portmappings (except the permanents) before they expires. So, developers have to close explicitly those portmappings
they don't want to remain open for the session.
</remarks>
</member>
<member name="P:Open.Nat.Mapping.Expiration">
<summary>
Gets the expiration. The property value is calculated using <see cref="!:#Lifetime">Lifetime</see> property.
</summary>
</member>
<member name="M:Open.Nat.Mapping.#ctor(Open.Nat.Protocol,System.Net.IPAddress,System.Int32,System.Int32,System.Int32,System.String)">
<summary>
Initializes a new instance of the <see cref="T:Open.Nat.Mapping"/> class.
</summary>
<param name="protocol">The protocol.</param>
<param name="privateIP">The private ip.</param>
<param name="privatePort">The private port.</param>
<param name="publicPort">The public port.</param>
<param name="lifetime">The lifetime.</param>
<param name="description">The description.</param>
</member>
<member name="M:Open.Nat.Mapping.#ctor(Open.Nat.Protocol,System.Int32,System.Int32)">
<summary>
Initializes a new instance of the <see cref="T:Open.Nat.Mapping"/> class.
</summary>
<param name="protocol">The protocol.</param>
<param name="privatePort">The private port.</param>
<param name="publicPort">The public port.</param>
<remarks>
This constructor initializes a Permanent mapping. The description by deafult is "Open.NAT"
</remarks>
</member>
<member name="M:Open.Nat.Mapping.#ctor(Open.Nat.Protocol,System.Int32,System.Int32,System.String)">
<summary>
Initializes a new instance of the <see cref="T:Open.Nat.Mapping"/> class.
</summary>
<param name="protocol">The protocol.</param>
<param name="privatePort">The private port.</param>
<param name="publicPort">The public port.</param>
<param name="description">The description.</param>
<remarks>
This constructor initializes a Permanent mapping.
</remarks>
</member>
<member name="M:Open.Nat.Mapping.#ctor(Open.Nat.Protocol,System.Int32,System.Int32,System.Int32,System.String)">
<summary>
Initializes a new instance of the <see cref="T:Open.Nat.Mapping"/> class.
</summary>
<param name="protocol">The protocol.</param>
<param name="privatePort">The private port.</param>
<param name="publicPort">The public port.</param>
<param name="lifetime">The lifetime.</param>
<param name="description">The description.</param>
</member>
<member name="M:Open.Nat.Mapping.IsExpired">
<summary>
Determines whether this instance is expired.
</summary>
<remarks>
Permanent mappings never expires.
</remarks>
</member>
<member name="M:Open.Nat.Mapping.ToString">
<summary>
Returns a <see cref="T:System.String" /> that represents this instance.
</summary>
<returns>
A <see cref="T:System.String" /> that represents this instance.
</returns>
</member>
<member name="T:Open.Nat.NatDeviceNotFoundException">
<summary>
</summary>
</member>
<member name="M:Open.Nat.NatDeviceNotFoundException.#ctor">
<summary>
</summary>
</member>
<member name="M:Open.Nat.NatDeviceNotFoundException.#ctor(System.String)">
<summary>
</summary>
<param name="message"></param>
</member>
<member name="M:Open.Nat.NatDeviceNotFoundException.#ctor(System.String,System.Exception)">
<summary>
</summary>
<param name="message"></param>
<param name="innerException"></param>
</member>
<member name="T:Open.Nat.NatDiscoverer">
<summary>
</summary>
</member>
<member name="F:Open.Nat.NatDiscoverer.TraceSource">
<summary>
The <see cref="!:http://msdn.microsoft.com/en-us/library/vstudio/system.diagnostics.tracesource">TraceSource</see> instance
used for debugging and <see cref="!:https://github.com/lontivero/Open.Nat/wiki/Troubleshooting">Troubleshooting</see>
</summary>
<example>
NatUtility.TraceSource.Switch.Level = SourceLevels.Verbose;
NatUtility.TraceSource.Listeners.Add(new ConsoleListener());
</example>
<remarks>
At least one trace listener has to be added to the Listeners collection if a trace is required; if no listener is added
there will no be tracing to analyse.
</remarks>
<remarks>
Open.NAT only supports SourceLevels.Verbose, SourceLevels.Error, SourceLevels.Warning and SourceLevels.Information.
</remarks>
</member>
<member name="M:Open.Nat.NatDiscoverer.DiscoverDeviceAsync">
<summary>
Discovers and returns an UPnp or Pmp NAT device; otherwise a <see cref="T:Open.Nat.NatDeviceNotFoundException">NatDeviceNotFoundException</see>
exception is thrown after 3 seconds.
</summary>
<returns>A NAT device</returns>
<exception cref="T:Open.Nat.NatDeviceNotFoundException">when no NAT found before 3 seconds.</exception>
</member>
<member name="M:Open.Nat.NatDiscoverer.DiscoverDeviceAsync(Open.Nat.PortMapper,System.Threading.CancellationTokenSource)">
<summary>
Discovers and returns a NAT device for the specified type; otherwise a <see cref="T:Open.Nat.NatDeviceNotFoundException">NatDeviceNotFoundException</see>
exception is thrown when it is cancelled.
</summary>
<remarks>
It allows to specify the NAT type to discover as well as the cancellation token in order.
</remarks>
<param name="portMapper">Port mapper protocol; Upnp, Pmp or both</param>
<param name="cancellationTokenSource">Cancellation token source for cancelling the discovery process</param>
<returns>A NAT device</returns>
<exception cref="T:Open.Nat.NatDeviceNotFoundException">when no NAT found before cancellation</exception>
</member>
<member name="M:Open.Nat.NatDiscoverer.DiscoverDevicesAsync(Open.Nat.PortMapper,System.Threading.CancellationTokenSource)">
<summary>
Discovers and returns all NAT devices for the specified type. If no NAT device is found it returns an empty enumerable
</summary>
<param name="portMapper">Port mapper protocol; Upnp, Pmp or both</param>
<param name="cancellationTokenSource">Cancellation token source for cancelling the discovery process</param>
<returns>All found NAT devices</returns>
</member>
<member name="M:Open.Nat.NatDiscoverer.ReleaseAll">
<summary>
Release all ports opened by Open.NAT.
</summary>
<remarks>
If ReleaseOnShutdown value is true, it release all the mappings created through the library.
</remarks>
</member>
<member name="T:Open.Nat.PortMapper">
<summary>
Protocol that should be used for searching a NAT device.
</summary>
</member>
<member name="F:Open.Nat.PortMapper.Pmp">
<summary>
Use only Port Mapping Protocol
</summary>
</member>
<member name="F:Open.Nat.PortMapper.Upnp">
<summary>
Use only Universal Plug and Play
</summary>
</member>
<member name="M:Open.Nat.DiscoverDeviceMessage.Encode(System.String)">
<summary>
The message sent to discover all uPnP devices on the network
</summary>
<returns></returns>
</member>
</members>
</doc>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,324 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Open.Nat</name>
</assembly>
<members>
<member name="T:Open.Nat.NatDevice">
<summary>
Represents a NAT device and provides access to the operation set that allows
open (forward) ports, close ports and get the externa (visible) IP address.
</summary>
</member>
<member name="M:Open.Nat.NatDevice.CreatePortMapAsync(Open.Nat.Mapping)">
<summary>
Creates the port map asynchronous.
</summary>
<param name="mapping">The <see cref="T:Open.Nat.Mapping">Mapping</see> entry.</param>
<example>
device.CreatePortMapAsync(new Mapping(Protocol.Tcp, 1700, 1600));
</example>
<exception cref="T:Open.Nat.MappingException">MappingException</exception>
</member>
<member name="M:Open.Nat.NatDevice.DeletePortMapAsync(Open.Nat.Mapping)">
<summary>
Deletes a mapped port asynchronous.
</summary>
<param name="mapping">The <see cref="T:Open.Nat.Mapping">Mapping</see> entry.</param>
<example>
device.DeletePortMapAsync(new Mapping(Protocol.Tcp, 1700, 1600));
</example>
<exception cref="T:Open.Nat.MappingException">MappingException-class</exception>
</member>
<member name="M:Open.Nat.NatDevice.GetAllMappingsAsync">
<summary>
Gets all mappings asynchronous.
</summary>
<returns>
The list of all forwarded ports
</returns>
<example>
var mappings = await device.GetAllMappingsAsync();
foreach(var mapping in mappings)
{
Console.WriteLine(mapping)
}
</example>
<exception cref="T:Open.Nat.MappingException">MappingException</exception>
</member>
<member name="M:Open.Nat.NatDevice.GetExternalIPAsync">
<summary>
Gets the external (visible) IP address asynchronous. This is the NAT device IP address
</summary>
<returns>
The public IP addrees
</returns>
<example>
Console.WriteLine("My public IP is: {0}", await device.GetExternalIPAsync());
</example>
<exception cref="T:Open.Nat.MappingException">MappingException</exception>
</member>
<member name="M:Open.Nat.NatDevice.GetSpecificMappingAsync(Open.Nat.Protocol,System.Int32)">
<summary>
Gets the specified mapping asynchronous.
</summary>
<param name="protocol">The protocol.</param>
<param name="port">The port.</param>
<returns>
The matching mapping
</returns>
</member>
<member name="T:Open.Nat.Protocol">
<summary>
Protocol to allow/disallow
</summary>
</member>
<member name="F:Open.Nat.Protocol.Tcp">
<summary>
Transport Control Protocol
</summary>
</member>
<member name="F:Open.Nat.Protocol.Udp">
<summary>
Datagram Protocol
</summary>
</member>
<member name="T:Open.Nat.MappingException">
<summary>
</summary>
</member>
<member name="P:Open.Nat.MappingException.ErrorCode">
<summary>
</summary>
</member>
<member name="P:Open.Nat.MappingException.ErrorText">
<summary>
</summary>
</member>
<member name="T:Open.Nat.Mapping">
<summary>
Represents a port forwarding entry in the NAT translation table.
</summary>
</member>
<member name="P:Open.Nat.Mapping.Description">
<summary>
Gets the mapping's description. It is the value stored in the NewPortMappingDescription parameter.
The NewPortMappingDescription parameter is a human readable string that describes the connection.
It is used in sorme web interfaces of routers so the user can see which program is using what port.
</summary>
</member>
<member name="P:Open.Nat.Mapping.PrivateIP">
<summary>
Gets the private ip.
</summary>
</member>
<member name="P:Open.Nat.Mapping.Protocol">
<summary>
Gets the protocol.
</summary>
</member>
<member name="P:Open.Nat.Mapping.PrivatePort">
<summary>
The PrivatePort parameter specifies the port on a client machine to which all traffic
coming in on <see cref="!:#PublicPort">PublicPort</see> for the protocol specified by
<see cref="!:#Protocol">Protocol</see> should be forwarded to.
</summary>
<see cref="P:Open.Nat.Mapping.Protocol">Protocol enum</see>
</member>
<member name="P:Open.Nat.Mapping.PublicIP">
<summary>
Gets the public ip.
</summary>
</member>
<member name="P:Open.Nat.Mapping.PublicPort">
<summary>
Gets the external (visible) port number.
It is the value stored in the NewExternalPort parameter .
The NewExternalPort parameter is used to specify the TCP or UDP port on the WAN side of the router which should be forwarded.
</summary>
</member>
<member name="P:Open.Nat.Mapping.Lifetime">
<summary>
Gets the lifetime. The Lifetime parameter tells the router how long the portmapping should be active.
Since most programs don't know this in advance, it is often set to 0, which means 'unlimited' or 'permanent'.
</summary>
<remarks>
All portmappings are release automatically as part of the shutdown process when <see cref="T:Open.Nat.NatDiscoverer">NatUtility</see>.<see cref="!:NatUtility#releaseonshutdown">ReleaseOnShutdown</see> is true.
Permanent portmappings will not be released if the process ends anormally.
Since most programs don't know the lifetime in advance, Open.NAT renew all the portmappings (except the permanents) before they expires. So, developers have to close explicitly those portmappings
they don't want to remain open for the session.
</remarks>
</member>
<member name="P:Open.Nat.Mapping.Expiration">
<summary>
Gets the expiration. The property value is calculated using <see cref="!:#Lifetime">Lifetime</see> property.
</summary>
</member>
<member name="M:Open.Nat.Mapping.#ctor(Open.Nat.Protocol,System.Net.IPAddress,System.Int32,System.Int32,System.Int32,System.String)">
<summary>
Initializes a new instance of the <see cref="T:Open.Nat.Mapping"/> class.
</summary>
<param name="protocol">The protocol.</param>
<param name="privateIP">The private ip.</param>
<param name="privatePort">The private port.</param>
<param name="publicPort">The public port.</param>
<param name="lifetime">The lifetime.</param>
<param name="description">The description.</param>
</member>
<member name="M:Open.Nat.Mapping.#ctor(Open.Nat.Protocol,System.Int32,System.Int32)">
<summary>
Initializes a new instance of the <see cref="T:Open.Nat.Mapping"/> class.
</summary>
<param name="protocol">The protocol.</param>
<param name="privatePort">The private port.</param>
<param name="publicPort">The public port.</param>
<remarks>
This constructor initializes a Permanent mapping. The description by deafult is "Open.NAT"
</remarks>
</member>
<member name="M:Open.Nat.Mapping.#ctor(Open.Nat.Protocol,System.Int32,System.Int32,System.String)">
<summary>
Initializes a new instance of the <see cref="T:Open.Nat.Mapping"/> class.
</summary>
<param name="protocol">The protocol.</param>
<param name="privatePort">The private port.</param>
<param name="publicPort">The public port.</param>
<param name="description">The description.</param>
<remarks>
This constructor initializes a Permanent mapping.
</remarks>
</member>
<member name="M:Open.Nat.Mapping.#ctor(Open.Nat.Protocol,System.Int32,System.Int32,System.Int32,System.String)">
<summary>
Initializes a new instance of the <see cref="T:Open.Nat.Mapping"/> class.
</summary>
<param name="protocol">The protocol.</param>
<param name="privatePort">The private port.</param>
<param name="publicPort">The public port.</param>
<param name="lifetime">The lifetime.</param>
<param name="description">The description.</param>
</member>
<member name="M:Open.Nat.Mapping.IsExpired">
<summary>
Determines whether this instance is expired.
</summary>
<remarks>
Permanent mappings never expires.
</remarks>
</member>
<member name="M:Open.Nat.Mapping.ToString">
<summary>
Returns a <see cref="T:System.String" /> that represents this instance.
</summary>
<returns>
A <see cref="T:System.String" /> that represents this instance.
</returns>
</member>
<member name="T:Open.Nat.NatDeviceNotFoundException">
<summary>
</summary>
</member>
<member name="M:Open.Nat.NatDeviceNotFoundException.#ctor">
<summary>
</summary>
</member>
<member name="M:Open.Nat.NatDeviceNotFoundException.#ctor(System.String)">
<summary>
</summary>
<param name="message"></param>
</member>
<member name="M:Open.Nat.NatDeviceNotFoundException.#ctor(System.String,System.Exception)">
<summary>
</summary>
<param name="message"></param>
<param name="innerException"></param>
</member>
<member name="T:Open.Nat.NatDiscoverer">
<summary>
</summary>
</member>
<member name="F:Open.Nat.NatDiscoverer.TraceSource">
<summary>
The <see cref="!:http://msdn.microsoft.com/en-us/library/vstudio/system.diagnostics.tracesource">TraceSource</see> instance
used for debugging and <see cref="!:https://github.com/lontivero/Open.Nat/wiki/Troubleshooting">Troubleshooting</see>
</summary>
<example>
NatUtility.TraceSource.Switch.Level = SourceLevels.Verbose;
NatUtility.TraceSource.Listeners.Add(new ConsoleListener());
</example>
<remarks>
At least one trace listener has to be added to the Listeners collection if a trace is required; if no listener is added
there will no be tracing to analyse.
</remarks>
<remarks>
Open.NAT only supports SourceLevels.Verbose, SourceLevels.Error, SourceLevels.Warning and SourceLevels.Information.
</remarks>
</member>
<member name="M:Open.Nat.NatDiscoverer.DiscoverDeviceAsync">
<summary>
Discovers and returns an UPnp or Pmp NAT device; otherwise a <see cref="T:Open.Nat.NatDeviceNotFoundException">NatDeviceNotFoundException</see>
exception is thrown after 3 seconds.
</summary>
<returns>A NAT device</returns>
<exception cref="T:Open.Nat.NatDeviceNotFoundException">when no NAT found before 3 seconds.</exception>
</member>
<member name="M:Open.Nat.NatDiscoverer.DiscoverDeviceAsync(Open.Nat.PortMapper,System.Threading.CancellationTokenSource)">
<summary>
Discovers and returns a NAT device for the specified type; otherwise a <see cref="T:Open.Nat.NatDeviceNotFoundException">NatDeviceNotFoundException</see>
exception is thrown when it is cancelled.
</summary>
<remarks>
It allows to specify the NAT type to discover as well as the cancellation token in order.
</remarks>
<param name="portMapper">Port mapper protocol; Upnp, Pmp or both</param>
<param name="cancellationTokenSource">Cancellation token source for cancelling the discovery process</param>
<returns>A NAT device</returns>
<exception cref="T:Open.Nat.NatDeviceNotFoundException">when no NAT found before cancellation</exception>
</member>
<member name="M:Open.Nat.NatDiscoverer.DiscoverDevicesAsync(Open.Nat.PortMapper,System.Threading.CancellationTokenSource)">
<summary>
Discovers and returns all NAT devices for the specified type. If no NAT device is found it returns an empty enumerable
</summary>
<param name="portMapper">Port mapper protocol; Upnp, Pmp or both</param>
<param name="cancellationTokenSource">Cancellation token source for cancelling the discovery process</param>
<returns>All found NAT devices</returns>
</member>
<member name="M:Open.Nat.NatDiscoverer.ReleaseAll">
<summary>
Release all ports opened by Open.NAT.
</summary>
<remarks>
If ReleaseOnShutdown value is true, it release all the mappings created through the library.
</remarks>
</member>
<member name="T:Open.Nat.PortMapper">
<summary>
Protocol that should be used for searching a NAT device.
</summary>
</member>
<member name="F:Open.Nat.PortMapper.Pmp">
<summary>
Use only Port Mapping Protocol
</summary>
</member>
<member name="F:Open.Nat.PortMapper.Upnp">
<summary>
Use only Universal Plug and Play
</summary>
</member>
<member name="M:Open.Nat.DiscoverDeviceMessage.Encode(System.String)">
<summary>
The message sent to discover all uPnP devices on the network
</summary>
<returns></returns>
</member>
</members>
</doc>

4
Origins07/distribute.bat Normal file
View File

@ -0,0 +1,4 @@
copy Origins07_Launcher.exe Origins07_Customizer.exe
copy Origins07_Launcher.exe Origins07_DedicatedServer.exe
copy Origins07_Launcher.exe Origins07_Installer.exe
copy Origins07_Launcher.exe Origins07_PlaySolo.exe

BIN
Origins07/icon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

View File

@ -0,0 +1,48 @@
-- phpMyAdmin SQL Dump
-- version 4.7.4
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1:3306
-- Generation Time: Dec 03, 2017 at 04:27 AM
-- Server version: 5.7.19
-- PHP Version: 5.6.31
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `maindb`
--
-- --------------------------------------------------------
--
-- Table structure for table `games`
--
DROP TABLE IF EXISTS `games`;
CREATE TABLE IF NOT EXISTS `games` (
`gameid` int(20) NOT NULL AUTO_INCREMENT,
`players` int(5) NOT NULL DEFAULT '-1',
`lastpingedunix` int(30) NOT NULL DEFAULT '0',
`ip` varchar(40) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '127.0.0.1',
`port` int(10) NOT NULL DEFAULT '53640',
`creationdate` varchar(30) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT '0:00',
`nameofgame` varchar(50) NOT NULL DEFAULT 'Game',
`creatorname` varchar(40) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT 'drslicendice',
`randomid` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL DEFAULT 'drslicendice XD',
PRIMARY KEY (`gameid`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

View File

@ -0,0 +1,49 @@
<?php
date_default_timezone_set("UTC");
function connectdb(){
//SQL DATABASE INFORMATION HERE
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "maindb";
//SQL DATABASE INFORMATION HERE
try {$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $conn; }
catch(PDOException $e){
return false;}
}
function head() {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" id="pee">
<head>
<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Lato">
<title>Origins07</title>
<link rel="stylesheet" href="func/styles.css?vers=9">
</head>
<body>
<div class="announce" style="text-align: center">
Welcome to Origins '07, grand opening!
</div><br>
<div class="memetext"><p style="position: fixed; bottom: 0; width:100%; text-align: left"> drslicendice wus here hail rbxbanland XD</p></div>
<?php
}
function footer() {
?>
<div class="gamediv">
Origins07 does not knowingly host copyrighted content. If you host a server, we store your IP address, but it is not publicly distributed to users on the site.
</div>
</body>
</html>
<?php
}
?>

View File

@ -0,0 +1,199 @@
body {
background-color: rgba(246,246,246,1);
}
#nowrap {
}
.gamediv {
display:block;
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
width: 400px;
position: relative;
right: 50%;
left: 0;
margin: 20px auto auto;
padding: 20px;
overflow: hidden;
border: 1px solid rgba(224,224,224,1);
-webkit-border-radius: 3px;
border-radius: 3px;
font-family: 'Lato', serif;
color: rgba(91,91,91,1);
text-align: center;
-o-text-overflow: clip;
text-overflow: clip;
background: rgba(250,250,250,1);
-webkit-box-shadow: 0 0 0 0 rgba(0,0,0,1) ;
box-shadow: 0 0 0 0 rgba(0,0,0,1) ;
text-align: left;
}
.highlightme {
background-color:#eaeaea;
color: #fc3f3f;
}
a {
color: #FF7574;
text-decoration: none;
}
div.ourlogo {
content:url(http://placehold.it/100x100);
height: 100px;
width: 100px;
float: left;
}
div.ourbiglogo {
content:url(http://placehold.it/400x100);
height: 100px;
margin-bottom: 20px;
width: 100%;
}
div.buttonsbelowimage{
float: right;
}
div.gameintext{
float: left;
padding: 16px 0px 0px 14px;
width: 196px;
}
gname {
font-size: 20px;
line-height: 5px;
}
discriminator {
font-weight: bold;
}
p{
font-size: 14px;
line-height: 5px;
}
.normbutton {
margin-top: 3px;
-webkit-border-radius: 10;
-moz-border-radius: 10;
border-radius: 10px;
color: #ffffff;
font-family: 'Lato', serif;
font-size: 14px;
background: #333333;
padding: 8px;
text-decoration: none;
border: none;
outline:none;
margin-bottom: 5px;
width:90px;
}
#shrink {
display: inline-block;
vertical-align: middle;
-webkit-transform: perspective(1px) translateZ(0);
transform: perspective(1px) translateZ(0);
box-shadow: 0 0 1px transparent;
-webkit-transition-duration: 0.3s;
transition-duration: 0.3s;
-webkit-transition-property: transform;
transition-property: transform;
}
#shrink:hover{
-webkit-transform: scale(0.9);
transform: scale(0.9);
}
br2 {
line-height: 50%;
}
.playbutton {
-webkit-border-radius: 10;
-moz-border-radius: 10;
border-radius: 10px;
color: #ffffff;
font-family: 'Lato', serif;
font-size: 14px;
padding: 8px;
text-decoration: none;
border: none;
outline:none;
margin-bottom: 5px;
width:90px;
background: linear-gradient(to right,#FF7574,#E8885E);
}
.playbutton2 {
margin-top: 00px;
margin-bottom: 00px;
margin-right: 5px;
margin-left: 5px;
-webkit-border-radius: 10;
-moz-border-radius: 10;
border-radius: 10px;
color: #ffffff;
font-family: 'Lato', serif;
font-size: 14px;
padding: 8px;
text-decoration: none;
border: none;
outline:none;
width:110px;
background: linear-gradient(to right,#FF7574,#E8885E);
}
div.announce {
z-index: 2;
position: fixed;
top: 0px;
right: 0;
line-height: 39px;
font-family: 'Lato', serif;
font-size: 18px;
color: #ffffff;
margin: 0px;
background: linear-gradient(to right,#FF7574,#E8885E);
height: 40px;
width: 100%;
}
div.memetext{
font-family: 'Lato', serif;
position: relative;
color: rgba(0, 0, 0, 0.2);
}
input[type=text], select {
width: 100%;
padding: 8px 16px;
margin: 6px 0;
display: inline-block;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
font-family: 'Lato', serif;
}
input[type=submit] {
width: 100%;
background-color: #4CAF50;
color: white;
padding: 12px 20px;
margin: 8px 0;
border: none;
border-radius: 4px;
cursor: pointer;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@ -0,0 +1,174 @@
<?php
include 'func/htmlfunc.php';
session_start();
head();
function generateRandomString($length = 10) {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $randomString;
}
$alreadydone = array();
print_r($alreadydone);
?>
<div class="gamediv" style="text-align: center">
<div class="ourbiglogo"></div>
<gname>Welcome to Origins '07!</gname><br><br>
This is a fun side project between drslicendice and Bitl.<br>
This is meant to be a successor to Origins '06, another project with a working website but with a fake 2006 client.
<br>By the way, Origins '07 is <discriminator>open source</discriminator>! Including the website!
<br><br>
<button class="playbutton2" id="shrink" onclick="window.location.href='#host'">host server</button>
<button class="playbutton2" id="shrink" onclick="window.location.href='http://www.hyperlinkcode.com/button-links.php'">install</button>
<button class="playbutton2" id="shrink" onclick="window.location.href='https://github.com/Bitl/other-roblox-projects-src'">github</button>
</div>
<div class="gamediv" style="text-align: center">
<iframe src="http://www.youtube.com/embed/W2GAXfkFfJI"
width="400" height="225" frameborder="0" allowfullscreen></iframe>
</div>
<br>
<?php
$dbconn = false;
$dbconn = connectdb();
if($dbconn == false){
?>
<div class="gamediv">
Could not connect to database! Be sure you configured this correctly and added login parameters to func/htmlfunc.php!
</div></body></html>
<?php
}
else {
try {
$stmt = $dbconn->prepare("SELECT * FROM games ORDER BY players DESC;");
$stmt->execute();
$result = $stmt->fetchAll();
$serversup = 0;
if (count($result) == 0){
?><div class="gamediv">
No servers are currently online at the moment! Try <a href="#host">hosting a server</a>
</div><?php
}else{
foreach ($result as $row) {
$alreadydone[$row["randomid"]] = true;
if(($row["players"] != -1) && ($row["lastpingedunix"] >= time()-200)){
$serversup = $serversup + 1;
echo '<div class="gamediv" id = "nowrap"><div class="ourlogo"></div>
<div class="buttonsbelowimage">
<button class="normbutton" id="shrink">page</button><br>
<button class="playbutton" id="shrink" onclick="window.location.href='."'origins07://". base64_encode(base64_encode($row["ip"])."|".base64_encode($row["port"])) ."'".'">play game</button>
</div><div class="gameintext">
<gname>' . $row["nameofgame"] . '</gname>
<p><discriminator>Hosted by: </discriminator>' . $row["creatorname"] . '</p>
<p><discriminator>Date: </discriminator>' . $row["creationdate"] . '</p>
<p><discriminator>Players: </discriminator>' . $row["players"] . '/20</p>
</div></div>';
}}}
if(($serversup == 0)&&(count($result) != 0)){
?><div class="gamediv">
No servers are currently online at the moment! Try <a href="#host">hosting a server</a>
</div><?php
}} catch (Exception $e) {
try {
$sql = file_get_contents("database.sql");
$stmt = $dbconn->prepare($sql);
if ($stmt->execute()){
?><div class="gamediv">
Finished setting up SQL! No servers are currently online at the moment! Try <a href="#host">hosting a server</a>
</div><?php
}else{
?>
<div class="gamediv">
Could not import table to database... You shouldn't see this error pop up.
</div>
<?php
}} catch (Exception $e) {
?>
<div class="gamediv">
Weird SQL error.... <?php echo $e; ?>
</div>
<?php
}}}
?>
<br>
<?php
$name = $servname = $ip = $port = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = test_input($_POST["1"]);
$servname = test_input($_POST["2"]);
$ip = test_input($_POST["3"]);
$port = test_input($_POST["4"]);
if(($name != "")&&($servname != "")&&($ip != "")&&($port != "")){
if (!empty($_SESSION['count']))
{
session_destroy();
}
else{
$_SESSION['count']=1;
$ip = preg_replace('/|/', '', $ip );
$port = preg_replace('/|/', '', $port );
$name = substr($name, 0, 20);
$servname = substr($servname, 0, 23);
$ip = substr($ip, 0, 40);
$port = substr($port, 0, 40);
$today = date("Y/m/j, g:i A");
if((strlen($name)>=3) && (strlen($servname)>=3)){
$newRandom = "";
do {
$newRandom = generateRandomString();
} while (isset($alreadydone[$newRandom]));
if ($newRandom != ""){
$stmt = $dbconn->prepare("INSERT INTO games (ip,port,creationdate,nameofgame,creatorname,randomid)
VALUES (:ip,:port,:creationdate,:nameofgame,:creatorname,:randomid)");
$stmt->bindParam(':ip', $ip);
$stmt->bindParam(':port', $port);
$stmt->bindParam(':creationdate', $today);
$stmt->bindParam(':nameofgame', $servname);
$stmt->bindParam(':creatorname', $name);
$stmt->bindParam(':randomid', $newRandom);
$stmt->execute();
$url = $_SERVER['REQUEST_URI'];
$parts = explode('/',$url);
$dir = $_SERVER['SERVER_NAME'];
for ($i = 0; $i < count($parts) - 1; $i++) {
$dir .= $parts[$i] . "/";
}
$dir = "http://" . $dir;
?>
<div class="gamediv">
<b><?php echo $servname; ?></b>
<br>
<b><?php echo $name; ?>,</b> if you would like to host this new server, press the button below to launch the Dedicated Server. If it doesn't launch, use the Origins07 Installer.<br>
<?php echo '<br><button class="playbutton" id="shrink" onclick="window.location.href='."'origins07server://". base64_encode(base64_encode($port)."|".base64_encode($dir)) ."'".'">launch dedicated server</button><br><br>'; ?>
If you would like to go to the link of your server page, <a>go here.</a>
</div>
<?php
}}}}} else { session_destroy(); }
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
<div class="gamediv" id="host" style="text-align: center">
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input type="text" id="1" maxlength="20" pattern=".{3,20}" name="1" placeholder="Username.. (3-20 characters)">
<input type="text" id="2" maxlength="23" pattern=".{3,23}" name="2" placeholder="Server name.. (3-23 characters)">
<input type="text" id="3" maxlength="39" name="3" placeholder="IP..">
<input type="text" id="4" maxlength="6" name="4" onkeypress='return event.charCode >= 48 && event.charCode <= 57' placeholder="Port..">
<input class= "playbutton2"type="submit" value="Host Server">
</form>
</div>
<?php
footer();
?>

View File

@ -0,0 +1,39 @@
<?php
function is_decimal( $val )
{
return is_numeric( $val ) && floor( $val ) != $val;
}
include 'func/htmlfunc.php';
$dbconn = false;
$dbconn = connectdb();
if(isset($dbconn)){
if(isset($_GET["i"])){
try {
$stmt = $dbconn->prepare("SELECT * FROM games WHERE randomid = :i");
$stmt->bindParam(':i', $_GET["i"]);
$stmt->execute();
$result = $stmt->fetchAll();
if(isset($result[0])){
$newplayers = 0;
$newunixtime = time();
$sql = "UPDATE games SET players=:b, lastpingedunix=:c WHERE gameid=:i";
$stmt2 =$dbconn->prepare($sql);
$stmt2->bindParam(':i', $result[0]["gameid"]);
$stmt2->bindParam(':c', $newunixtime);
$stmt2->bindParam(':b', $newplayers);
$stmt2->execute();
}echo '';}catch (Exception $e) {echo '';}}
elseif((isset($_GET["update"]))&&(isset($_GET["players"]))){
if(($_GET["players"]<=20)&&($_GET["players"]>=-1)&&(!is_decimal($_GET["players"]))){
$newplayers = $_GET["players"];
$newunixtime = time();
$sql = "UPDATE games SET players=:b, lastpingedunix=:c WHERE gameid=:i";
$stmt2 =$dbconn->prepare($sql);
$stmt2->bindParam(':i', $_GET["update"]);
$stmt2->bindParam(':c', $newunixtime);
$stmt2->bindParam(':b', $newplayers);
$stmt2->execute();
}}}else {echo '';}
?>