Add project files.

This commit is contained in:
recroom2016tutorial
2022-06-11 21:42:46 -04:00
parent 7d424a2611
commit e95084d5fe
34 changed files with 5689 additions and 0 deletions

283
Form1.Designer.cs generated Normal file
View File

@@ -0,0 +1,283 @@
namespace OpenRec2
{
partial class Form1
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
this.button1 = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.panel1 = new System.Windows.Forms.Panel();
this.label11 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.panel2 = new System.Windows.Forms.Panel();
this.checkBox2 = new System.Windows.Forms.CheckBox();
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.label5 = new System.Windows.Forms.Label();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.panel3 = new System.Windows.Forms.Panel();
this.checkBox3 = new System.Windows.Forms.CheckBox();
this.label10 = new System.Windows.Forms.Label();
this.label9 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.button2 = new System.Windows.Forms.Button();
this.button3 = new System.Windows.Forms.Button();
this.comboBox1 = new System.Windows.Forms.ComboBox();
this.button4 = new System.Windows.Forms.Button();
this.button5 = new System.Windows.Forms.Button();
this.button6 = new System.Windows.Forms.Button();
this.label4 = new System.Windows.Forms.Label();
this.panel1.SuspendLayout();
this.panel2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.panel3.SuspendLayout();
this.SuspendLayout();
//
// button1
//
resources.ApplyResources(this.button1, "button1");
this.button1.Name = "button1";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// label1
//
resources.ApplyResources(this.label1, "label1");
this.label1.Name = "label1";
this.label1.Click += new System.EventHandler(this.label1_Click);
//
// panel1
//
resources.ApplyResources(this.panel1, "panel1");
this.panel1.BackgroundImage = global::OpenRec2.Properties.Resources.ProfileComputer_Background01;
this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.panel1.Controls.Add(this.label11);
this.panel1.Name = "panel1";
this.panel1.Paint += new System.Windows.Forms.PaintEventHandler(this.panel1_Paint);
//
// label11
//
resources.ApplyResources(this.label11, "label11");
this.label11.BackColor = System.Drawing.Color.Transparent;
this.label11.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
this.label11.ForeColor = System.Drawing.SystemColors.ControlText;
this.label11.Name = "label11";
this.label11.Click += new System.EventHandler(this.label11_Click);
//
// label2
//
resources.ApplyResources(this.label2, "label2");
this.label2.Name = "label2";
this.label2.Click += new System.EventHandler(this.label2_Click);
//
// panel2
//
resources.ApplyResources(this.panel2, "panel2");
this.panel2.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.panel2.Controls.Add(this.checkBox2);
this.panel2.Controls.Add(this.checkBox1);
this.panel2.Controls.Add(this.label5);
this.panel2.Controls.Add(this.pictureBox1);
this.panel2.Controls.Add(this.label1);
this.panel2.Name = "panel2";
//
// checkBox2
//
resources.ApplyResources(this.checkBox2, "checkBox2");
this.checkBox2.AutoCheck = false;
this.checkBox2.Name = "checkBox2";
this.checkBox2.UseVisualStyleBackColor = true;
//
// checkBox1
//
resources.ApplyResources(this.checkBox1, "checkBox1");
this.checkBox1.AutoCheck = false;
this.checkBox1.Name = "checkBox1";
this.checkBox1.UseVisualStyleBackColor = true;
this.checkBox1.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged);
//
// label5
//
resources.ApplyResources(this.label5, "label5");
this.label5.Name = "label5";
this.label5.Click += new System.EventHandler(this.label5_Click);
//
// pictureBox1
//
resources.ApplyResources(this.pictureBox1, "pictureBox1");
this.pictureBox1.BackgroundImage = global::OpenRec2.Properties.Resources.unity_error_question_mark;
this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.TabStop = false;
this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Click);
//
// panel3
//
resources.ApplyResources(this.panel3, "panel3");
this.panel3.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.panel3.Controls.Add(this.checkBox3);
this.panel3.Controls.Add(this.label10);
this.panel3.Controls.Add(this.label9);
this.panel3.Name = "panel3";
//
// checkBox3
//
resources.ApplyResources(this.checkBox3, "checkBox3");
this.checkBox3.AutoCheck = false;
this.checkBox3.Name = "checkBox3";
this.checkBox3.UseVisualStyleBackColor = true;
this.checkBox3.CheckedChanged += new System.EventHandler(this.checkBox3_CheckedChanged);
//
// label10
//
resources.ApplyResources(this.label10, "label10");
this.label10.Name = "label10";
this.label10.Click += new System.EventHandler(this.label10_Click);
//
// label9
//
resources.ApplyResources(this.label9, "label9");
this.label9.Name = "label9";
this.label9.Click += new System.EventHandler(this.label9_Click);
//
// label3
//
resources.ApplyResources(this.label3, "label3");
this.label3.Name = "label3";
this.label3.Click += new System.EventHandler(this.label3_Click);
//
// button2
//
resources.ApplyResources(this.button2, "button2");
this.button2.Name = "button2";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// button3
//
resources.ApplyResources(this.button3, "button3");
this.button3.Name = "button3";
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.button3_Click);
//
// comboBox1
//
resources.ApplyResources(this.comboBox1, "comboBox1");
this.comboBox1.FormattingEnabled = true;
this.comboBox1.Items.AddRange(new object[] {
resources.GetString("comboBox1.Items")});
this.comboBox1.Name = "comboBox1";
this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged);
//
// button4
//
resources.ApplyResources(this.button4, "button4");
this.button4.Name = "button4";
this.button4.UseVisualStyleBackColor = true;
this.button4.Click += new System.EventHandler(this.button4_Click);
//
// button5
//
resources.ApplyResources(this.button5, "button5");
this.button5.Name = "button5";
this.button5.UseVisualStyleBackColor = true;
this.button5.Click += new System.EventHandler(this.button5_Click);
//
// button6
//
resources.ApplyResources(this.button6, "button6");
this.button6.Name = "button6";
this.button6.UseVisualStyleBackColor = true;
this.button6.Click += new System.EventHandler(this.button6_Click);
//
// label4
//
resources.ApplyResources(this.label4, "label4");
this.label4.Name = "label4";
//
// Form1
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlLight;
this.Controls.Add(this.label4);
this.Controls.Add(this.button6);
this.Controls.Add(this.button5);
this.Controls.Add(this.button4);
this.Controls.Add(this.comboBox1);
this.Controls.Add(this.button3);
this.Controls.Add(this.button2);
this.Controls.Add(this.label3);
this.Controls.Add(this.label2);
this.Controls.Add(this.panel3);
this.Controls.Add(this.panel2);
this.Controls.Add(this.panel1);
this.Controls.Add(this.button1);
this.DoubleBuffered = true;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "Form1";
this.Load += new System.EventHandler(this.Form1_Load);
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.panel2.ResumeLayout(false);
this.panel2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.panel3.ResumeLayout(false);
this.panel3.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
public Button button1;
public Label label1;
public Panel panel1;
private Label label2;
private Panel panel2;
private Panel panel3;
private Label label3;
public Button button2;
public Button button3;
public ComboBox comboBox1;
public PictureBox pictureBox1;
public Label label5;
public Label label9;
public Label label10;
public Label label11;
public Button button4;
public CheckBox checkBox2;
public CheckBox checkBox1;
public CheckBox checkBox3;
public Button button5;
public Button button6;
public Label label4;
}
}

141
Form1.cs Normal file
View File

@@ -0,0 +1,141 @@
using System.Diagnostics;
namespace OpenRec2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//opens openrec
private void button1_Click(object sender, EventArgs e)
{
if (!(Program.openrecopen == true))
{
new Server();
new WebSocket();
Program.ConsoleShow();
}
Program.Form1ButtonOnOff();
}
private void flowLayoutPanel1_Paint(object sender, PaintEventArgs e)
{
}
private void label1_Click(object sender, EventArgs e)
{
}
private void groupBox1_Enter(object sender, EventArgs e)
{
}
private void Form1_Load(object sender, EventArgs e)
{
Program.Form2Hide();
Program.Form3Hide();
}
private void panel1_Paint(object sender, PaintEventArgs e)
{
}
private void label2_Click(object sender, EventArgs e)
{
}
private void label3_Click(object sender, EventArgs e)
{
}
private void label4_Click(object sender, EventArgs e)
{
}
private void button3_Click(object sender, EventArgs e)
{
Program.Form3Visible();
Program.Form3SetValues();
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void pictureBox1_Click(object sender, EventArgs e)
{
}
private void label5_Click(object sender, EventArgs e)
{
}
private void label8_Click(object sender, EventArgs e)
{
}
private void label9_Click(object sender, EventArgs e)
{
}
private void label11_Click(object sender, EventArgs e)
{
}
//opens profile editor
private void button2_Click(object sender, EventArgs e)
{
Program.Form2Visible();
Program.Form2SetValues();
}
private void button4_Click(object sender, EventArgs e)
{
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
}
private void checkBox3_CheckedChanged(object sender, EventArgs e)
{
}
private void label10_Click(object sender, EventArgs e)
{
}
private void button6_Click(object sender, EventArgs e)
{
Program.ConsoleShow();
}
private void button5_Click(object sender, EventArgs e)
{
Program.ConsoleHide();
}
}
}

1991
Form1.en-US.resx Normal file

File diff suppressed because it is too large Load Diff

578
Form1.resx Normal file
View File

@@ -0,0 +1,578 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<value>panel2</value>
</data>
<data name="&gt;&gt;comboBox1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="label4.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="&gt;&gt;button1.ZOrder" xml:space="preserve">
<value>12</value>
</data>
<data name="&gt;&gt;panel1.ZOrder" xml:space="preserve">
<value>11</value>
</data>
<data name="&gt;&gt;label10.Parent" xml:space="preserve">
<value>panel3</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="button5.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 13</value>
</data>
<data name="button3.Location" type="System.Drawing.Point, System.Drawing">
<value>517, 416</value>
</data>
<data name="&gt;&gt;checkBox2.Name" xml:space="preserve">
<value>checkBox2</value>
</data>
<data name="&gt;&gt;label8.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="&gt;&gt;checkBox2.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;pictureBox1.Name" xml:space="preserve">
<value>pictureBox1</value>
</data>
<data name="&gt;&gt;button4.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="&gt;&gt;comboBox1.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="panel1.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 13</value>
</data>
<data name="label2.Location" type="System.Drawing.Point, System.Drawing">
<value>490, 13</value>
</data>
<data name="&gt;&gt;button3.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label11.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;label4.Name" xml:space="preserve">
<value>label4</value>
</data>
<data name="label4.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 9</value>
</data>
<data name="&gt;&gt;label8.Parent" xml:space="preserve">
<value>panel3</value>
</data>
<data name="&gt;&gt;checkBox3.Name" xml:space="preserve">
<value>checkBox3</value>
</data>
<data name="label6.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="label3.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="&gt;&gt;panel1.Name" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;imageList1.Name" xml:space="preserve">
<value>imageList1</value>
</data>
<data name="&gt;&gt;label6.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;button2.Name" xml:space="preserve">
<value>button2</value>
</data>
<data name="&gt;&gt;label9.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="pictureBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 90</value>
</data>
<data name="&gt;&gt;label11.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;pictureBox1.Parent" xml:space="preserve">
<value>panel2</value>
</data>
<data name="&gt;&gt;button5.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="&gt;&gt;label2.Name" xml:space="preserve">
<value>label2</value>
</data>
<data name="label9.Location" type="System.Drawing.Point, System.Drawing">
<value>-2, 54</value>
</data>
<data name="&gt;&gt;button3.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;checkBox1.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;button3.Name" xml:space="preserve">
<value>button3</value>
</data>
<data name="label2.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="&gt;&gt;label3.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;panel2.ZOrder" xml:space="preserve">
<value>10</value>
</data>
<data name="button1.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 390</value>
</data>
<data name="&gt;&gt;panel2.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;flowLayoutPanel1.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;imageList1.Type" xml:space="preserve">
<value>System.Windows.Forms.ImageList, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;panel1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;panel3.Name" xml:space="preserve">
<value>panel3</value>
</data>
<data name="&gt;&gt;button5.Name" xml:space="preserve">
<value>button5</value>
</data>
<data name="&gt;&gt;label10.Name" xml:space="preserve">
<value>label10</value>
</data>
<data name="&gt;&gt;checkBox1.Parent" xml:space="preserve">
<value>panel2</value>
</data>
<data name="label10.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 85</value>
</data>
<data name="&gt;&gt;checkBox3.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="button6.Location" type="System.Drawing.Point, System.Drawing">
<value>147, 13</value>
</data>
<data name="&gt;&gt;button2.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label11.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;pictureBox1.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="panel2.Location" type="System.Drawing.Point, System.Drawing">
<value>489, 47</value>
</data>
<data name="&gt;&gt;label7.Name" xml:space="preserve">
<value>label7</value>
</data>
<data name="&gt;&gt;pictureBox1.Type" xml:space="preserve">
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label3.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="checkBox2.Location" type="System.Drawing.Point, System.Drawing">
<value>99, 116</value>
</data>
<data name="&gt;&gt;checkBox1.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="button2.Location" type="System.Drawing.Point, System.Drawing">
<value>339, 416</value>
</data>
<data name="&gt;&gt;flowLayoutPanel1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;button5.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label7.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="&gt;&gt;label7.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="button3.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
</data>
<data name="&gt;&gt;checkBox1.Name" xml:space="preserve">
<value>checkBox1</value>
</data>
<data name="&gt;&gt;label6.Parent" xml:space="preserve">
<value>panel2</value>
</data>
<data name="button4.TabIndex" type="System.Int32, mscorlib">
<value>12</value>
</data>
<data name="&gt;&gt;button6.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;flowLayoutPanel1.Type" xml:space="preserve">
<value>System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label7.Parent" xml:space="preserve">
<value>panel3</value>
</data>
<data name="flowLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 12</value>
</data>
<data name="button6.TabIndex" type="System.Int32, mscorlib">
<value>14</value>
</data>
<data name="checkBox1.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="&gt;&gt;label5.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="comboBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>190, 444</value>
</data>
<data name="&gt;&gt;label10.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;button2.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="&gt;&gt;checkBox2.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;label8.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="label7.Location" type="System.Drawing.Point, System.Drawing">
<value>-2, -2</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>701, 450</value>
</data>
<data name="label10.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="&gt;&gt;label4.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="button1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="label9.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="pictureBox1.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="&gt;&gt;checkBox2.Parent" xml:space="preserve">
<value>panel2</value>
</data>
<data name="&gt;&gt;label5.Parent" xml:space="preserve">
<value>panel2</value>
</data>
<data name="&gt;&gt;label9.Parent" xml:space="preserve">
<value>panel3</value>
</data>
<data name="&gt;&gt;label8.Name" xml:space="preserve">
<value>label8</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;button6.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label5.Name" xml:space="preserve">
<value>label5</value>
</data>
<data name="&gt;&gt;label2.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label3.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>Form1</value>
</data>
<data name="imageList1.ImageSize" type="System.Drawing.Size, System.Drawing">
<value>16, 16</value>
</data>
<data name="&gt;&gt;button1.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;button4.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;button1.Name" xml:space="preserve">
<value>button1</value>
</data>
<data name="&gt;&gt;button6.Name" xml:space="preserve">
<value>button6</value>
</data>
<data name="label8.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="&gt;&gt;button3.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="&gt;&gt;panel1.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="comboBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>121, 24</value>
</data>
<data name="&gt;&gt;button2.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="label5.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="label5.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 25</value>
</data>
<data name="&gt;&gt;label3.Name" xml:space="preserve">
<value>label3</value>
</data>
<data name="&gt;&gt;button4.Name" xml:space="preserve">
<value>button4</value>
</data>
<data name="&gt;&gt;label4.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="button2.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
</data>
<data name="&gt;&gt;comboBox1.Type" xml:space="preserve">
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label11.Name" xml:space="preserve">
<value>label11</value>
</data>
<data name="button4.Location" type="System.Drawing.Point, System.Drawing">
<value>604, 10</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>540, 12</value>
</data>
<data name="&gt;&gt;button6.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="panel2.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
</data>
<data name="comboBox1.Items1" xml:space="preserve">
<value>2018</value>
</data>
<data name="&gt;&gt;label4.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="checkBox3.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 3</value>
</data>
<data name="label8.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 29</value>
</data>
<data name="&gt;&gt;checkBox3.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;checkBox3.Parent" xml:space="preserve">
<value>panel3</value>
</data>
<data name="label7.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="&gt;&gt;label9.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="comboBox1.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
</data>
<data name="&gt;&gt;button5.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="checkBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>99, 87</value>
</data>
<data name="comboBox1.Items" xml:space="preserve">
<value>2017</value>
</data>
<data name="label3.Location" type="System.Drawing.Point, System.Drawing">
<value>489, 232</value>
</data>
<data name="panel3.Location" type="System.Drawing.Point, System.Drawing">
<value>489, 263</value>
</data>
<data name="&gt;&gt;label10.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;button1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;button4.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="comboBox1.Items2" xml:space="preserve">
<value>2018</value>
</data>
<data name="checkBox2.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="&gt;&gt;panel2.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;panel3.ZOrder" xml:space="preserve">
<value>9</value>
</data>
<data name="&gt;&gt;panel2.Name" xml:space="preserve">
<value>panel2</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;panel3.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="label11.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Form1</value>
</data>
<data name="&gt;&gt;label6.Name" xml:space="preserve">
<value>label6</value>
</data>
<data name="checkBox3.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
</data>
<data name="&gt;&gt;flowLayoutPanel1.Name" xml:space="preserve">
<value>flowLayoutPanel1</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>100, 16</value>
</data>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>7, 15</value>
</data>
<data name="&gt;&gt;panel3.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="label11.Location" type="System.Drawing.Point, System.Drawing">
<value>7, 0</value>
</data>
<data name="button5.TabIndex" type="System.Int32, mscorlib">
<value>13</value>
</data>
<data name="&gt;&gt;label5.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="label6.Location" type="System.Drawing.Point, System.Drawing">
<value>-2, 44</value>
</data>
<data name="flowLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;label6.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;comboBox1.Name" xml:space="preserve">
<value>comboBox1</value>
</data>
<data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
<value>8</value>
</data>
<data name="&gt;&gt;label2.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label9.Name" xml:space="preserve">
<value>label9</value>
</data>
<data name="panel3.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<metadata name="$this.Language" type="System.Globalization.CultureInfo, System.Private.CoreLib, Culture=neutral, PublicKeyToken=7cec85d7bea7798e">
<value>en-US</value>
</metadata>
<metadata name="imageList1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>

149
Form2.Designer.cs generated Normal file
View File

@@ -0,0 +1,149 @@
namespace OpenRec2
{
partial class Form2
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form2));
this.button1 = new System.Windows.Forms.Button();
this.textBox1 = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.textBox2 = new System.Windows.Forms.TextBox();
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.checkBox2 = new System.Windows.Forms.CheckBox();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.button2 = new System.Windows.Forms.Button();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.SuspendLayout();
//
// button1
//
resources.ApplyResources(this.button1, "button1");
this.button1.Name = "button1";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// textBox1
//
resources.ApplyResources(this.textBox1, "textBox1");
this.textBox1.Name = "textBox1";
this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);
//
// label1
//
resources.ApplyResources(this.label1, "label1");
this.label1.Name = "label1";
this.label1.Click += new System.EventHandler(this.label1_Click);
//
// label2
//
resources.ApplyResources(this.label2, "label2");
this.label2.Name = "label2";
this.label2.Click += new System.EventHandler(this.label2_Click);
//
// textBox2
//
resources.ApplyResources(this.textBox2, "textBox2");
this.textBox2.Name = "textBox2";
//
// checkBox1
//
resources.ApplyResources(this.checkBox1, "checkBox1");
this.checkBox1.Name = "checkBox1";
this.checkBox1.UseVisualStyleBackColor = true;
//
// checkBox2
//
resources.ApplyResources(this.checkBox2, "checkBox2");
this.checkBox2.Name = "checkBox2";
this.checkBox2.UseVisualStyleBackColor = true;
//
// pictureBox1
//
this.pictureBox1.BackgroundImage = global::OpenRec2.Properties.Resources.unity_error_question_mark;
resources.ApplyResources(this.pictureBox1, "pictureBox1");
this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.TabStop = false;
//
// button2
//
resources.ApplyResources(this.button2, "button2");
this.button2.Name = "button2";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// openFileDialog1
//
this.openFileDialog1.DefaultExt = "png";
this.openFileDialog1.FileName = "openFileDialog1";
resources.ApplyResources(this.openFileDialog1, "openFileDialog1");
this.openFileDialog1.FileOk += new System.ComponentModel.CancelEventHandler(this.openFileDialog1_FileOk);
//
// Form2
//
this.AcceptButton = this.button1;
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ControlBox = false;
this.Controls.Add(this.button2);
this.Controls.Add(this.pictureBox1);
this.Controls.Add(this.checkBox2);
this.Controls.Add(this.checkBox1);
this.Controls.Add(this.textBox2);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.button1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "Form2";
this.ShowInTaskbar = false;
this.Load += new System.EventHandler(this.Form2_Load);
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private Button button1;
public TextBox textBox1;
private Label label1;
private Label label2;
public TextBox textBox2;
public CheckBox checkBox1;
public CheckBox checkBox2;
public PictureBox pictureBox1;
private Button button2;
public OpenFileDialog openFileDialog1;
}
}

65
Form2.cs Normal file
View File

@@ -0,0 +1,65 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace OpenRec2
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void label1_Click(object sender, EventArgs e)
{
}
//save button for profile editor
private void button1_Click(object sender, EventArgs e)
{
Program.Form2Save();
Program.Form2Hide();
Program.Form1SetValues();
}
private void Form2_Load(object sender, EventArgs e)
{
}
private void label2_Click(object sender, EventArgs e)
{
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
openFileDialog1.ShowDialog();
string path = openFileDialog1.FileName;
byte[] imagefile = File.ReadAllBytes(path);
File.Replace(path, "SaveData\\Profile\\profileimage.png", "backupfilename.png");
File.WriteAllBytes(path, imagefile);
File.Delete("backupfilename.png");
imagefile = null;
Program.Form2SetValues();
}
private void openFileDialog1_FileOk(object sender, CancelEventArgs e)
{
}
}
}

357
Form2.resx Normal file
View File

@@ -0,0 +1,357 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="button1.Font" type="System.Drawing.Font, System.Drawing">
<value>Consolas, 16pt, style=Bold</value>
</data>
<data name="button1.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 312</value>
</data>
<data name="button1.Size" type="System.Drawing.Size, System.Drawing">
<value>255, 34</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="button1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="button1.Text" xml:space="preserve">
<value>Save</value>
</data>
<data name="&gt;&gt;button1.Name" xml:space="preserve">
<value>button1</value>
</data>
<data name="&gt;&gt;button1.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;button1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;button1.ZOrder" xml:space="preserve">
<value>8</value>
</data>
<data name="textBox1.Font" type="System.Drawing.Font, System.Drawing">
<value>Consolas, 11pt, style=Bold</value>
</data>
<data name="textBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 37</value>
</data>
<data name="textBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>255, 25</value>
</data>
<data name="textBox1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="textBox1.Text" xml:space="preserve">
<value>bruh</value>
</data>
<data name="&gt;&gt;textBox1.Name" xml:space="preserve">
<value>textBox1</value>
</data>
<data name="&gt;&gt;textBox1.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;textBox1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;textBox1.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label1.Font" type="System.Drawing.Font, System.Drawing">
<value>Consolas, 18pt, style=Bold</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 6</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>77, 28</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Name:</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="label2.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label2.Font" type="System.Drawing.Font, System.Drawing">
<value>Consolas, 18pt, style=Bold</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="label2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="label2.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 65</value>
</data>
<data name="label2.Size" type="System.Drawing.Size, System.Drawing">
<value>90, 28</value>
</data>
<data name="label2.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="label2.Text" xml:space="preserve">
<value>Level:</value>
</data>
<data name="&gt;&gt;label2.Name" xml:space="preserve">
<value>label2</value>
</data>
<data name="&gt;&gt;label2.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label2.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="textBox2.Font" type="System.Drawing.Font, System.Drawing">
<value>Consolas, 11pt, style=Bold</value>
</data>
<data name="textBox2.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 96</value>
</data>
<data name="textBox2.Size" type="System.Drawing.Size, System.Drawing">
<value>255, 25</value>
</data>
<data name="textBox2.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="textBox2.Text" xml:space="preserve">
<value>bruh</value>
</data>
<data name="&gt;&gt;textBox2.Name" xml:space="preserve">
<value>textBox2</value>
</data>
<data name="&gt;&gt;textBox2.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;textBox2.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;textBox2.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="checkBox1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="checkBox1.Font" type="System.Drawing.Font, System.Drawing">
<value>Consolas, 13pt, style=Bold</value>
</data>
<data name="checkBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 127</value>
</data>
<data name="checkBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>119, 26</value>
</data>
<data name="checkBox1.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="checkBox1.Text" xml:space="preserve">
<value>Developer</value>
</data>
<data name="&gt;&gt;checkBox1.Name" xml:space="preserve">
<value>checkBox1</value>
</data>
<data name="&gt;&gt;checkBox1.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;checkBox1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;checkBox1.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="checkBox2.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="checkBox2.Font" type="System.Drawing.Font, System.Drawing">
<value>Consolas, 13pt, style=Bold</value>
</data>
<data name="checkBox2.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 159</value>
</data>
<data name="checkBox2.Size" type="System.Drawing.Size, System.Drawing">
<value>89, 26</value>
</data>
<data name="checkBox2.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="checkBox2.Text" xml:space="preserve">
<value>Junior</value>
</data>
<data name="&gt;&gt;checkBox2.Name" xml:space="preserve">
<value>checkBox2</value>
</data>
<data name="&gt;&gt;checkBox2.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;checkBox2.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;checkBox2.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="pictureBox1.BackgroundImageLayout" type="System.Windows.Forms.ImageLayout, System.Windows.Forms">
<value>Stretch</value>
</data>
<data name="pictureBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 191</value>
</data>
<data name="pictureBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>90, 90</value>
</data>
<data name="pictureBox1.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
<value>StretchImage</value>
</data>
<data name="pictureBox1.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="&gt;&gt;pictureBox1.Name" xml:space="preserve">
<value>pictureBox1</value>
</data>
<data name="&gt;&gt;pictureBox1.Type" xml:space="preserve">
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;pictureBox1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;pictureBox1.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="button2.Font" type="System.Drawing.Font, System.Drawing">
<value>Consolas, 14pt, style=Bold</value>
</data>
<data name="button2.Location" type="System.Drawing.Point, System.Drawing">
<value>108, 248</value>
</data>
<data name="button2.Size" type="System.Drawing.Size, System.Drawing">
<value>159, 33</value>
</data>
<data name="button2.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="button2.Text" xml:space="preserve">
<value>Import Image</value>
</data>
<data name="&gt;&gt;button2.Name" xml:space="preserve">
<value>button2</value>
</data>
<data name="&gt;&gt;button2.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;button2.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;button2.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="openFileDialog1.Title" xml:space="preserve">
<value>OpenRec Profile Picture Selector</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>7, 14</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>279, 357</value>
</data>
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
<value>Consolas, 9pt, style=Bold</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterScreen</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Profile Editor</value>
</data>
<data name="&gt;&gt;openFileDialog1.Name" xml:space="preserve">
<value>openFileDialog1</value>
</data>
<data name="&gt;&gt;openFileDialog1.Type" xml:space="preserve">
<value>System.Windows.Forms.OpenFileDialog, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>Form2</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root>

127
Form3.Designer.cs generated Normal file
View File

@@ -0,0 +1,127 @@
namespace OpenRec2
{
partial class Form3
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.textBox2 = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
this.checkBox1 = new System.Windows.Forms.CheckBox();
this.button4 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// textBox2
//
this.textBox2.Font = new System.Drawing.Font("Consolas", 11F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point);
this.textBox2.Location = new System.Drawing.Point(12, 63);
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(255, 25);
this.textBox2.TabIndex = 10;
this.textBox2.Text = "^ilovemen";
this.textBox2.TextChanged += new System.EventHandler(this.textBox2_TextChanged);
//
// label2
//
this.label2.AutoSize = true;
this.label2.Font = new System.Drawing.Font("Consolas", 18F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point);
this.label2.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.label2.Location = new System.Drawing.Point(12, 32);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(168, 28);
this.label2.TabIndex = 9;
this.label2.Text = "Custom Room:";
this.label2.Click += new System.EventHandler(this.label2_Click);
//
// button1
//
this.button1.Font = new System.Drawing.Font("Consolas", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point);
this.button1.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.button1.Location = new System.Drawing.Point(12, 150);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(255, 34);
this.button1.TabIndex = 13;
this.button1.Text = "Save";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// checkBox1
//
this.checkBox1.AutoSize = true;
this.checkBox1.Font = new System.Drawing.Font("Consolas", 13F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point);
this.checkBox1.Location = new System.Drawing.Point(12, 10);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new System.Drawing.Size(159, 26);
this.checkBox1.TabIndex = 14;
this.checkBox1.Text = "Private Rooms";
this.checkBox1.UseVisualStyleBackColor = true;
this.checkBox1.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged);
//
// button4
//
this.button4.Font = new System.Drawing.Font("Consolas", 13F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point);
this.button4.ImeMode = System.Windows.Forms.ImeMode.NoControl;
this.button4.Location = new System.Drawing.Point(12, 94);
this.button4.Name = "button4";
this.button4.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
this.button4.Size = new System.Drawing.Size(159, 28);
this.button4.TabIndex = 15;
this.button4.Text = "Reset Savedata";
this.button4.UseVisualStyleBackColor = true;
this.button4.Click += new System.EventHandler(this.button4_Click);
//
// Form3
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(279, 194);
this.ControlBox = false;
this.Controls.Add(this.button4);
this.Controls.Add(this.checkBox1);
this.Controls.Add(this.button1);
this.Controls.Add(this.textBox2);
this.Controls.Add(this.label2);
this.Font = new System.Drawing.Font("Consolas", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "Form3";
this.ShowInTaskbar = false;
this.Text = "Settings";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
public TextBox textBox2;
private Label label2;
public Button button1;
public CheckBox checkBox1;
public Button button4;
}
}

55
Form3.cs Normal file
View File

@@ -0,0 +1,55 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace OpenRec2
{
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}
private void label2_Click(object sender, EventArgs e)
{
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
Program.Form3Hide();
Program.Form3Save();
Program.Form1SetValues();
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
}
private void button4_Click(object sender, EventArgs e)
{
Setup.reset();
Program.Form1SetValues();
Program.Form2SetValues();
Program.Form3SetValues();
}
}
}

60
Form3.resx Normal file
View File

@@ -0,0 +1,60 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

222
Launcherapi/CustomRooms.cs Normal file
View File

@@ -0,0 +1,222 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using Newtonsoft.Json;
using System.IO;
namespace OpenRec2.Launcherapi
{
class CustomRooms
{
public static void RoomGet(string roomnames)
{
try
{
string webdata = new WebClient().DownloadString("https://rooms.rec.net/rooms?name=" + roomnames + "&include=297");
ModernRooms.Root root2 = JsonConvert.DeserializeObject<ModernRooms.Root>(webdata);
room = new Room
{
RoomId = 29,
Name = root2.Name,
Description = "OpenRec Downloaded Room",
ImageName = root2.ImageName,
CreatorPlayerId = Convert.ToUInt64(File.ReadAllText("SaveData\\Profile\\userid.txt")),
State = 0,
Accessibility = 1,
SupportsLevelVoting = false,
IsAGRoom = false,
CloningAllowed = false,
SupportsScreens = true,
SupportsWalkVR = true,
SupportsTeleportVR = true,
ReplicationId = null,
ReleaseStatus = 0
};
scene = new List<Scene>
{
new Scene()
{
RoomSceneId = 1,
RoomId = 29,
RoomSceneLocationId = root2.SubRooms[0].UnitySceneId,
Name = "Home",
IsSandbox = true,
DataBlobName = root2.SubRooms[0].DataBlob,
MaxPlayers = 20,
CanMatchmakeInto = true,
DataModifiedAt = root2.SubRooms[0].DataSavedAt,
ReplicationId = null,
UseLevelBasedMatchmaking = false,
UseAgeBasedMatchmaking = false,
UseRecRoyaleMatchmaking = false,
ReleaseStatus = 0,
SupportsJoinInProgress = true
}
};
root = new Root
{
Room = room,
Scenes = scene,
CoOwners = new List<ulong>(),
InvitedCoOwners = new List<ulong>(),
Hosts = new List<ulong>(),
InvitedHosts = new List<ulong>(),
CheerCount = root2.Stats.CheerCount,
FavoriteCount = root2.Stats.FavoriteCount,
VisitCount = root2.Stats.VisitCount,
Tags = new List<aTag>
{
new aTag()
{
Tag = "rro",
Type = 2
}
}
};
File.WriteAllText("SaveData\\Rooms\\Downloaded\\roomname.txt", root2.Name);
File.WriteAllText("SaveData\\Rooms\\Downloaded\\roomid.txt", Convert.ToString(root2.RoomId));
File.WriteAllText("SaveData\\Rooms\\Downloaded\\datablob.txt", root2.SubRooms[0].DataBlob);
File.WriteAllText("SaveData\\Rooms\\Downloaded\\roomsceneid.txt", root2.SubRooms[0].UnitySceneId);
File.WriteAllText("SaveData\\Rooms\\Downloaded\\imagename.txt", root2.ImageName);
File.WriteAllText("SaveData\\Rooms\\Downloaded\\cheercount.txt", Convert.ToString(root2.Stats.CheerCount));
File.WriteAllText("SaveData\\Rooms\\Downloaded\\favcount.txt", Convert.ToString(root2.Stats.FavoriteCount));
File.WriteAllText("SaveData\\Rooms\\Downloaded\\visitcount.txt", Convert.ToString(root2.Stats.VisitCount));
File.WriteAllText("SaveData\\Rooms\\Downloaded\\RoomDetails.json", JsonConvert.SerializeObject(root));
}
catch
{
}
}
public static Room room { get; set; }
public static List<Scene> scene { get; set; }
public static Root root { get; set; }
//2018 rooms
public class Room
{
public ulong RoomId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public ulong CreatorPlayerId { get; set; }
public string ImageName { get; set; }
public int State { get; set; }
public int Accessibility { get; set; }
public bool SupportsLevelVoting { get; set; }
public bool IsAGRoom { get; set; }
public bool CloningAllowed { get; set; }
public bool SupportsScreens { get; set; }
public bool SupportsWalkVR { get; set; }
public bool SupportsTeleportVR { get; set; }
public object ReplicationId { get; set; }
public int ReleaseStatus { get; set; }
}
public class Scene
{
public int RoomSceneId { get; set; }
public ulong RoomId { get; set; }
public string RoomSceneLocationId { get; set; }
public string Name { get; set; }
public bool IsSandbox { get; set; }
public string DataBlobName { get; set; }
public int MaxPlayers { get; set; }
public bool CanMatchmakeInto { get; set; }
public DateTime DataModifiedAt { get; set; }
public object ReplicationId { get; set; }
public bool UseLevelBasedMatchmaking { get; set; }
public bool UseAgeBasedMatchmaking { get; set; }
public bool UseRecRoyaleMatchmaking { get; set; }
public int ReleaseStatus { get; set; }
public bool SupportsJoinInProgress { get; set; }
}
public class Root
{
public Room Room { get; set; }
public List<Scene> Scenes { get; set; }
public List<ulong> CoOwners { get; set; }
public List<ulong> InvitedCoOwners { get; set; }
public List<ulong> Hosts { get; set; }
public List<ulong> InvitedHosts { get; set; }
public int CheerCount { get; set; }
public int FavoriteCount { get; set; }
public int VisitCount { get; set; }
public List<aTag> Tags { get; set; }
}
public class aTag
{
public string Tag { get; set; }
public int Type { get; set; }
}
}
public class ModernRooms
{
public class Stats
{
public int CheerCount { get; set; }
public int FavoriteCount { get; set; }
public int VisitorCount { get; set; }
public int VisitCount { get; set; }
}
public class SubRoom
{
public int SubRoomId { get; set; }
public ulong RoomId { get; set; }
public string UnitySceneId { get; set; }
public string Name { get; set; }
public string DataBlob { get; set; }
public DateTime DataSavedAt { get; set; }
public bool IsSandbox { get; set; }
public int MaxPlayers { get; set; }
public int Accessibility { get; set; }
}
public class Root
{
public ulong RoomId { get; set; }
public bool IsDorm { get; set; }
public int MaxPlayerCalculationMode { get; set; }
public int MaxPlayers { get; set; }
public bool CloningAllowed { get; set; }
public bool DisableMicAutoMute { get; set; }
public bool DisableRoomComments { get; set; }
public bool EncryptVoiceChat { get; set; }
public bool LoadScreenLocked { get; set; }
public int Version { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string ImageName { get; set; }
public int WarningMask { get; set; }
public object CustomWarning { get; set; }
public int CreatorAccountId { get; set; }
public int State { get; set; }
public int Accessibility { get; set; }
public bool SupportsLevelVoting { get; set; }
public bool IsRRO { get; set; }
public bool SupportsScreens { get; set; }
public bool SupportsWalkVR { get; set; }
public bool SupportsTeleportVR { get; set; }
public bool SupportsVRLow { get; set; }
public bool SupportsQuest2 { get; set; }
public bool SupportsMobile { get; set; }
public bool SupportsJuniors { get; set; }
public int MinLevel { get; set; }
public DateTime CreatedAt { get; set; }
public Stats Stats { get; set; }
public List<SubRoom> SubRooms { get; set; }
public List<object> Tags { get; set; }
public List<object> PromoImages { get; set; }
public List<object> PromoExternalContent { get; set; }
public List<object> LoadScreens { get; set; }
}
}
}

27
Launcherapi/Images.cs Normal file
View File

@@ -0,0 +1,27 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OpenRec2.Launcherapi
{
internal class Images
{
//to be able to read image files as images in gui
public static Image bytearraytoimage(byte[] source)
{
try
{
MemoryStream ms = new MemoryStream(source);
Image ret = Image.FromStream(ms);
return ret;
}
catch
{
return null;
}
}
}
}

18
Launcherapi/Setting.cs Normal file
View File

@@ -0,0 +1,18 @@
using System;
namespace OpenRec2.Launcherapi
{
// Token: 0x0200003D RID: 61
internal class Setting
{
// Token: 0x170000AC RID: 172
// (get) Token: 0x060001C8 RID: 456 RVA: 0x00002D5B File Offset: 0x00000F5B
// (set) Token: 0x060001C9 RID: 457 RVA: 0x00002D63 File Offset: 0x00000F63
public string Key { get; set; }
// Token: 0x170000AD RID: 173
// (get) Token: 0x060001CA RID: 458 RVA: 0x00002D6C File Offset: 0x00000F6C
// (set) Token: 0x060001CB RID: 459 RVA: 0x00002D74 File Offset: 0x00000F74
public string Value { get; set; }
}
}

99
Launcherapi/Settings.cs Normal file
View File

@@ -0,0 +1,99 @@
using System;
using System.Collections.Generic;
using System.IO;
using Newtonsoft.Json;
namespace OpenRec2.Launcherapi
{
internal class Settings
{
public static List<Setting> CreateDefaultSettings()
{
return new List<Setting>
{
new Setting
{
Key = "MOD_BLOCKED_TIME",
Value = 0f.ToString()
},
new Setting
{
Key = "MOD_BLOCKED_DURATION",
Value = 0f.ToString()
},
new Setting
{
Key = "PlayerSessionCount",
Value = 0f.ToString()
},
new Setting
{
Key = "ShowRoomCenter",
Value = 1f.ToString()
},
new Setting
{
Key = "QualitySettings",
Value = 3.ToString()
},
new Setting
{
Key = "Recroom.OOBE",
Value = 100.ToString()
},
new Setting
{
Key = "VoiceFilter",
Value = 0f.ToString()
},
new Setting
{
Key = "VIGNETTED_TELEPORT_ENABLED",
Value = 0f.ToString()
},
new Setting
{
Key = "CONTINUOUS_ROTATION_MODE",
Value = 0f.ToString()
},
new Setting
{
Key = "ROTATION_INCREMENT",
Value = 0f.ToString()
},
new Setting
{
Key = "ROTATE_IN_PLACE_ENABLED",
Value = 0f.ToString()
},
new Setting
{
Key = "TeleportBuffer",
Value = 0f.ToString()
},
new Setting
{
Key = "VoiceChat",
Value = 1f.ToString()
},
new Setting
{
Key = "PersonalBubble",
Value = 0f.ToString()
},
new Setting
{
Key = "ShowNames",
Value = 1f.ToString()
},
new Setting
{
Key = "H.264 plugin",
Value = 1f.ToString()
}
};
}
}
}

72
OpenRec2.csproj Normal file
View File

@@ -0,0 +1,72 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net6.0-windows8.0</TargetFramework>
<Nullable>enable</Nullable>
<UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings>
<ApplicationIcon>icon2.ico</ApplicationIcon>
<PlatformTarget>AnyCPU</PlatformTarget>
<Copyright>recroom2016</Copyright>
<RepositoryUrl>https://github.com/recroom2016/OpenRec</RepositoryUrl>
<RepositoryType>github</RepositoryType>
<AssemblyVersion>0.0.1</AssemblyVersion>
<FileVersion>0.0.1</FileVersion>
<Product>OpenRecLauncher</Product>
<Authors>recroom2016</Authors>
<Version>0.0.1</Version>
<Description>OpenRec server for old recroom.</Description>
<PackageProjectUrl>https://discord.gg/daC8QUhnFP</PackageProjectUrl>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DebugType>embedded</DebugType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<DebugType>embedded</DebugType>
</PropertyGroup>
<ItemGroup>
<Content Include="icon2.ico" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
</ItemGroup>
<ItemGroup>
<Reference Include="websocket-sharp">
<HintPath>..\..\OpenRec\OpenRec\websocket-sharp.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Update="Properties\Resources.Designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Update="Properties\Settings.Designer.cs">
<DesignTimeSharedInput>True</DesignTimeSharedInput>
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Update="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
</ItemGroup>
</Project>

25
OpenRecLauncher.sln Normal file
View File

@@ -0,0 +1,25 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.2.32516.85
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OpenRec2", "OpenRec2.csproj", "{1B79F30E-F17A-4B67-9836-60921C56D23F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{1B79F30E-F17A-4B67-9836-60921C56D23F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1B79F30E-F17A-4B67-9836-60921C56D23F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1B79F30E-F17A-4B67-9836-60921C56D23F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1B79F30E-F17A-4B67-9836-60921C56D23F}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {D78070AD-28B0-4F39-94C1-1EAA30B51637}
EndGlobalSection
EndGlobal

209
Program.cs Normal file
View File

@@ -0,0 +1,209 @@
using System.Net;
using System.IO;
using OpenRec2.Launcherapi;
namespace OpenRec2
{
internal static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
//needs to be first or else gives an error bc its stoopid
ApplicationConfiguration.Initialize();
//sets up program
Setup.setup();
//debug
if (Program.debugflag == true)
{
//debug to test out custom working console
ConsoleWrite("pizza");
ConsoleWrite("love");
ConsoleWrite("i");
}
//fills in gui
//form1 - main menu
form1.label1.Text = File.ReadAllText("SaveData\\Profile\\username.txt");
form1.label5.Text = "Lvl " + File.ReadAllText("SaveData\\Profile\\level.txt");
form1.pictureBox1.Image = Images.bytearraytoimage(File.ReadAllBytes("SaveData\\Profile\\profileimage.png"));
form1.comboBox1.DisplayMember = "Select version.";
form1.checkBox1.Checked = bool.Parse(File.ReadAllText("SaveData\\Profile\\isdev.txt"));
form1.checkBox2.Checked = bool.Parse(File.ReadAllText("SaveData\\Profile\\isjun.txt"));
form1.label11.Text = news;
consolewindowopen = false;
form1.checkBox3.Checked = bool.Parse(File.ReadAllText("SaveData\\App\\privaterooms.txt"));
form1.label10.Text = "^" + File.ReadAllText("SaveData\\Rooms\\Downloaded\\roomname.txt");
form1.label11.ForeColor = Color.Black;
form1.label4.Text = "Version:" + version;
//form2 - profile
form2.Visible = false;
//form3 - settings
form3.Visible = false;
//runs the form
Application.Run(form1);
}
//main menu
public static void Form1SetValues()
{
form1.label1.Text = File.ReadAllText("SaveData\\Profile\\username.txt");
form1.label5.Text = "Lvl " + File.ReadAllText("SaveData\\Profile\\level.txt");
form1.pictureBox1.Image = Images.bytearraytoimage(File.ReadAllBytes("SaveData\\Profile\\profileimage.png"));
form1.checkBox1.Checked = bool.Parse(File.ReadAllText("SaveData\\Profile\\isdev.txt"));
form1.checkBox2.Checked = bool.Parse(File.ReadAllText("SaveData\\Profile\\isjun.txt"));
form1.checkBox3.Checked = bool.Parse(File.ReadAllText("SaveData\\App\\privaterooms.txt"));
form1.label10.Text = "^" + File.ReadAllText("SaveData\\Rooms\\Downloaded\\roomname.txt");
form1.label4.Text = "Version: " + version;
}
public static void Form1ButtonOnOff()
{
if (openrecopen == false)
{
form1.button1.Text = "Clear Console";
openrecopen = true;
}
else if (openrecopen == true)
{
Program.ConsoleClear();
}
}
//profile menu
public static void Form2Visible()
{
form2.Visible = true;
}
public static void Form2Hide()
{
form2.Visible = false;
}
public static void Form2Save()
{
File.WriteAllText("SaveData\\Profile\\username.txt", form2.textBox1.Text);
File.WriteAllText("SaveData\\Profile\\level.txt", form2.textBox2.Text);
File.WriteAllText("SaveData\\Profile\\isdev.txt", Convert.ToString(form2.checkBox1.Checked));
File.WriteAllText("SaveData\\Profile\\isjun.txt", Convert.ToString(form2.checkBox2.Checked));
}
public static void Form2SetValues()
{
form2.textBox1.Text = File.ReadAllText("SaveData\\Profile\\username.txt");
form2.textBox2.Text = File.ReadAllText("SaveData\\Profile\\level.txt");
form2.checkBox1.Checked = bool.Parse(File.ReadAllText("SaveData\\Profile\\isdev.txt"));
form2.checkBox2.Checked = bool.Parse(File.ReadAllText("SaveData\\Profile\\isjun.txt"));
form2.pictureBox1.Image = Images.bytearraytoimage(File.ReadAllBytes("SaveData\\Profile\\profileimage.png"));
}
//settings menu
public static void Form3SetValues()
{
form3.checkBox1.Checked = bool.Parse(File.ReadAllText("SaveData\\App\\privaterooms.txt"));
form3.textBox2.Text = File.ReadAllText("SaveData\\Rooms\\Downloaded\\roomname.txt");
}
public static void Form3Save()
{
File.WriteAllText("SaveData\\App\\privaterooms.txt", Convert.ToString(form3.checkBox1.Checked));
CustomRooms.RoomGet(form3.textBox2.Text);
}
public static void Form3Hide()
{
form3.Visible = false;
}
public static void Form3Visible()
{
form3.Visible = true;
}
//console section of the menu
public static void ConsoleShow()
{
Font SmallFont = new Font("Microsoft Sans Serif", 11);
consolewindowopen = true;
form1.label11.Text = console;
form1.panel1.BackgroundImage = consolebackground;
form1.label11.ForeColor = Color.White;
form1.label11.Font = SmallFont;
}
public static void ConsoleHide()
{
Font BigFont = new Font("Microsoft Sans Serif", 14);
consolewindowopen = false;
form1.label11.Text = news;
form1.panel1.BackgroundImage = newsbackground;
form1.label11.ForeColor = Color.Black;
form1.label11.Font = BigFont;
}
public static void ConsoleWrite(string info)
{
while (inuse == true)
{
}
inuse = true;
apinumber++;
console = "[" + apinumber + "] " + info + Environment.NewLine + console;
if (consolewindowopen == true)
{
form1.label11.Text = console;
}
inuse = false;
}
public static void ConsoleClear()
{
while (inuse == true)
{
}
inuse = true;
console = "";
apinumber = 0;
if (consolewindowopen == true)
{
form1.label11.Text = console;
}
inuse = false;
}
//this is here so i can reference non static objects i think | edit: yeah it is its pretty cool too thanks to whoever helped with this on stackexchange or whatever
//form things
public static Form1 form1 = new Form1();
private static Form2 form2 = new Form2();
private static Form3 form3 = new Form3();
public static string version = "0.0.2";
public static bool openrecopen = false;
//console
public static string console = "";
public static bool consolewindowopen = false;
public static int apinumber = 0;
public static bool inuse;
public static bool endopenrec = false; //closes openrec server thread | edit: nvm it dont work this is obselete stfu
//does nothing ignore this lmao
public static bool debugflag = false;
//download news
public static string news = new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Launcher/changelog.txt");
public static Image newsbackground = Images.bytearraytoimage(new WebClient().DownloadData("https://github.com/recroom2016/OpenRec/raw/master/Launcher/ProfileComputer_Background01.png"));
public static Image consolebackground = Images.bytearraytoimage(new WebClient().DownloadData("https://github.com/recroom2016/OpenRec/raw/master/Launcher/Untitled.png"));
//gamesession
public static OpenRec2.Serverapi.GameSessions.SessionInstance gamesession = new OpenRec2.Serverapi.GameSessions.SessionInstance();
}
}

123
Properties/Resources.Designer.cs generated Normal file
View File

@@ -0,0 +1,123 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace OpenRec2.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("OpenRec2.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap color1 {
get {
object obj = ResourceManager.GetObject("color1", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap color2 {
get {
object obj = ResourceManager.GetObject("color2", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap Level_Icon_Rounded_rectangle {
get {
object obj = ResourceManager.GetObject("Level Icon Rounded rectangle", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap ProfileComputer_Background01 {
get {
object obj = ResourceManager.GetObject("ProfileComputer_Background01", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap profileimage {
get {
object obj = ResourceManager.GetObject("profileimage", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap unity_error_question_mark {
get {
object obj = ResourceManager.GetObject("unity error question mark", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}

139
Properties/Resources.resx Normal file
View File

@@ -0,0 +1,139 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="ProfileComputer_Background01" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ProfileComputer_Background01.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="profileimage" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\profileimage.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Level Icon Rounded rectangle" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Level Icon Rounded rectangle.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="color1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\color1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="color2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\color2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="unity error question mark" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\unity error question mark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

26
Properties/Settings.Designer.cs generated Normal file
View File

@@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace OpenRec2.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.2.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default {
get {
return defaultInstance;
}
}
}
}

View File

@@ -0,0 +1,6 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
</SettingsFile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 KiB

BIN
Resources/color1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

BIN
Resources/color2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

BIN
Resources/profileimage.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

150
Server.cs Normal file
View File

@@ -0,0 +1,150 @@
using System.Net;
using System.Text;
using OpenRec2;
using OpenRec2.Serverapi;
namespace OpenRec2
{
internal class Server
{
public Server()
{
try
{
Program.ConsoleWrite("[Server.cs] has started.");
Thread thread = new Thread(new ThreadStart(this.StartListen));
thread.IsBackground = true;
thread.Start();
}
catch (Exception ex)
{
Program.ConsoleWrite("An Exception Occurred while Listening :" + ex.ToString());
}
}
private void StartListen()
{
try
{
Program.form1.comboBox1.SelectedIndex = Program.form1.comboBox1.Items.IndexOf("2016");
if (Program.form1.comboBox1.SelectedIndex == 0)
{
//i just deleted everything to remake it, kinda stupid but yeah
this.listener.Prefixes.Add("http://localhost:2016/");
Program.ConsoleWrite("[Server.cs] is listening.");
for (; ; )
{
this.listener.Start();
HttpListenerContext context = this.listener.GetContext();
HttpListenerRequest request = context.Request;
HttpListenerResponse response = context.Response;
string rawUrl = request.RawUrl;
string url = request.RawUrl.Remove(0, 5);
string api = "";
string text = "";
//gets POST data
using (StreamReader streamReader = new StreamReader(request.InputStream, request.ContentEncoding))
{
text = streamReader.ReadToEnd();
}
//debug
if (Program.debugflag == true)
{
Program.ConsoleWrite("[Server.cs] " + request.HttpMethod);
}
Program.ConsoleWrite("Game requested for " + url);
//startup apis
if (rawUrl.Contains("versioncheck"))
{
api = VersionCheckResponse;
}
if (rawUrl == "/api/players/v1/getorcreate")
{
api = getorcreate.GetOrCreate((ulong.Parse(text.Remove(0, 32).Remove(7, text.Length - 39))));
}
if (rawUrl == "/api/config/v2")
{
api = File.ReadAllText("SaveData\\Api\\configv2.txt");
}
if (rawUrl == "/api/avatar/v2")
{
api = File.ReadAllText("SaveData\\Profile\\avatar.txt");
}
if (rawUrl == "/api/settings/v2/")
{
api = File.ReadAllText("SaveData\\Profile\\settings.txt");
}
if (rawUrl == "/api/avatar/v3/items")
{
api = File.ReadAllText("SaveData\\Api\\avataritems.txt");
}
if (rawUrl == "/api/avatar/v2/gifts")
{
api = BracketResponse;
}
//ingame apis
if (rawUrl.StartsWith("/api/avatar/v2/set"))
{
File.WriteAllText("SaveData\\Profile\\avatar.txt", text);
}
//profile image
bool imageflag = false;
byte[] profileimage = null;
if (rawUrl.StartsWith("/api/images/v1/"))
{
imageflag = true;
profileimage = File.ReadAllBytes("SaveData\\Profile\\profileimage.png");
}
//debug
if (Program.debugflag == true)
{
if (!(rawUrl == "/api/avatar/v3/items"))
{
Program.ConsoleWrite("[Server.cs] Response:" + api);
}
}
byte[] bytes = Encoding.UTF8.GetBytes(api);
if (imageflag == true)
{
bytes = profileimage;
}
response.ContentLength64 = (long)bytes.Length;
Stream outputStream = response.OutputStream;
outputStream.Write(bytes, 0, bytes.Length);
Thread.Sleep(100);
outputStream.Close();
this.listener.Stop();
}
}
else
{
Program.ConsoleWrite("Please select a version.");
}
}
catch (Exception ex4)
{
Program.ConsoleWrite(ex4.ToString());
File.WriteAllText("crashdump.txt", Convert.ToString(ex4));
this.listener.Close();
new Server();
}
}
public static string BlankResponse = "";
public static string BracketResponse = "[]";
public static string VersionCheckResponse = "{\"ValidVersion\":true}";
private HttpListener listener = new HttpListener();
}
}

360
Serverapi/GameSessions.cs Normal file
View File

@@ -0,0 +1,360 @@
using System;
using Newtonsoft.Json;
using System.IO;
namespace OpenRec2.Serverapi
{
// Token: 0x02000020 RID: 32
public class GameSessions
{
// Token: 0x060000BE RID: 190 RVA: 0x00004C08 File Offset: 0x00002E08
public static string JoinRandom(string jsonData)
{
long gamesessionid = 2016L;
GameSessions.JoinRandomRequest joinRandomRequest = JsonConvert.DeserializeObject<GameSessions.JoinRandomRequest>(jsonData);
if (File.ReadAllText("SaveData\\App\\privaterooms.txt") == "Enabled")
{
gamesessionid = new Random().Next(0, 99);
}
Program.gamesession = new GameSessions.SessionInstance
{
GameSessionId = gamesessionid,
RegionId = "us",
RoomId = joinRandomRequest.ActivityLevelIds[0],
RecRoomId = null,
EventId = null,
CreatorPlayerId = Convert.ToInt64(File.ReadAllText("SaveData\\Profile\\userid.txt")),
Name = "OpenRec Room",
ActivityLevelId = joinRandomRequest.ActivityLevelIds[0],
Private = false,
Sandbox = false,
SupportsScreens = true,
SupportsVR = true,
GameInProgress = false,
MaxCapacity = 20,
IsFull = false
};
return JsonConvert.SerializeObject(new GameSessions.JoinResult
{
Result = 0,
GameSession = Program.gamesession
});
}
// Token: 0x060000BF RID: 191 RVA: 0x0000254B File Offset: 0x0000074B
public static string StatusSession()
{
return JsonConvert.SerializeObject(new GameSessions.PlayerStatus
{
PlayerId = Convert.ToUInt64(File.ReadAllText("SaveData\\Profile\\userid.txt")),
IsOnline = true,
InScreenMode = false,
GameSession = Program.gamesession
}) ;
}
// Token: 0x060000C0 RID: 192 RVA: 0x00004D24 File Offset: 0x00002F24
public static string Create(string jsonData)
{
long gamesessionid = 20161L;
if (File.ReadAllText("SaveData\\App\\privaterooms.txt") == "Enabled")
{
gamesessionid = new Random().Next(0, 99);
}
GameSessions.CreateRequest createRequest = JsonConvert.DeserializeObject<GameSessions.CreateRequest>(jsonData);
Program.gamesession = new GameSessions.SessionInstance
{
GameSessionId = gamesessionid,
RegionId = "us",
RoomId = createRequest.ActivityLevelId,
RecRoomId = null,
EventId = null,
CreatorPlayerId = Convert.ToInt64(File.ReadAllText("SaveData\\Profile\\userid.txt")),
Name = "OpenRec Custom Room",
ActivityLevelId = createRequest.ActivityLevelId,
Private = false,
Sandbox = true,
SupportsScreens = true,
SupportsVR = true,
GameInProgress = false,
MaxCapacity = 20,
IsFull = false
};
return JsonConvert.SerializeObject(new GameSessions.JoinResult
{
Result = 0,
GameSession = Program.gamesession
});
}
// Token: 0x060000C1 RID: 193 RVA: 0x0000257B File Offset: 0x0000077B
public static GameSessions.PlayerStatus StatusSessionInstance()
{
return new GameSessions.PlayerStatus
{
PlayerId = Convert.ToUInt64(File.ReadAllText("SaveData\\Profile\\userid.txt")),
IsOnline = true,
InScreenMode = false,
GameSession = Program.gamesession
};
}
// Token: 0x02000021 RID: 33
public enum JoinResultIDs
{
// Token: 0x0400005E RID: 94
Success,
// Token: 0x0400005F RID: 95
NoSuchGame,
// Token: 0x04000060 RID: 96
PlayerNotOnline,
// Token: 0x04000061 RID: 97
InsufficientSpace,
// Token: 0x04000062 RID: 98
EventNotStarted,
// Token: 0x04000063 RID: 99
EventAlreadyFinished,
// Token: 0x04000064 RID: 100
EventCreatorNotReady,
// Token: 0x04000065 RID: 101
BlockedFromRoom,
// Token: 0x04000066 RID: 102
ProfileLocked,
// Token: 0x04000067 RID: 103
NoBirthday,
// Token: 0x04000068 RID: 104
MarkedForDelete,
// Token: 0x04000069 RID: 105
JuniorNotAllowed,
// Token: 0x0400006A RID: 106
Banned,
// Token: 0x0400006B RID: 107
NoSuchRoom = 20,
// Token: 0x0400006C RID: 108
RoomCreatorNotReady,
// Token: 0x0400006D RID: 109
RoomIsNotActive,
// Token: 0x0400006E RID: 110
RoomBlockedByCreator,
// Token: 0x0400006F RID: 111
RoomBlockingCreator,
// Token: 0x04000070 RID: 112
RoomIsPrivate
}
// Token: 0x02000022 RID: 34
public class PlayerStatus
{
// Token: 0x1700003F RID: 63
// (get) Token: 0x060000C3 RID: 195 RVA: 0x000025A6 File Offset: 0x000007A6
// (set) Token: 0x060000C4 RID: 196 RVA: 0x000025AE File Offset: 0x000007AE
public ulong PlayerId { get; set; }
// Token: 0x17000040 RID: 64
// (get) Token: 0x060000C5 RID: 197 RVA: 0x000025B7 File Offset: 0x000007B7
// (set) Token: 0x060000C6 RID: 198 RVA: 0x000025BF File Offset: 0x000007BF
public bool IsOnline { get; set; }
// Token: 0x17000041 RID: 65
// (get) Token: 0x060000C7 RID: 199 RVA: 0x000025C8 File Offset: 0x000007C8
// (set) Token: 0x060000C8 RID: 200 RVA: 0x000025D0 File Offset: 0x000007D0
public bool InScreenMode { get; set; }
// Token: 0x17000042 RID: 66
// (get) Token: 0x060000C9 RID: 201 RVA: 0x000025D9 File Offset: 0x000007D9
// (set) Token: 0x060000CA RID: 202 RVA: 0x000025E1 File Offset: 0x000007E1
public GameSessions.SessionInstance GameSession { get; set; }
}
// Token: 0x02000023 RID: 35
public class SessionInstance
{
// Token: 0x17000043 RID: 67
// (get) Token: 0x060000CC RID: 204 RVA: 0x000025EA File Offset: 0x000007EA
// (set) Token: 0x060000CD RID: 205 RVA: 0x000025F2 File Offset: 0x000007F2
public long GameSessionId { get; set; }
// Token: 0x17000044 RID: 68
// (get) Token: 0x060000CE RID: 206 RVA: 0x000025FB File Offset: 0x000007FB
// (set) Token: 0x060000CF RID: 207 RVA: 0x00002603 File Offset: 0x00000803
public string RegionId { get; set; }
// Token: 0x17000045 RID: 69
// (get) Token: 0x060000D0 RID: 208 RVA: 0x0000260C File Offset: 0x0000080C
// (set) Token: 0x060000D1 RID: 209 RVA: 0x00002614 File Offset: 0x00000814
public string RoomId { get; set; }
// Token: 0x17000046 RID: 70
// (get) Token: 0x060000D2 RID: 210 RVA: 0x0000261D File Offset: 0x0000081D
// (set) Token: 0x060000D3 RID: 211 RVA: 0x00002625 File Offset: 0x00000825
public long? EventId { get; set; }
// Token: 0x17000047 RID: 71
// (get) Token: 0x060000D4 RID: 212 RVA: 0x0000262E File Offset: 0x0000082E
// (set) Token: 0x060000D5 RID: 213 RVA: 0x00002636 File Offset: 0x00000836
public long? RecRoomId { get; set; }
// Token: 0x17000048 RID: 72
// (get) Token: 0x060000D6 RID: 214 RVA: 0x0000263F File Offset: 0x0000083F
// (set) Token: 0x060000D7 RID: 215 RVA: 0x00002647 File Offset: 0x00000847
public long? CreatorPlayerId { get; set; }
// Token: 0x17000049 RID: 73
// (get) Token: 0x060000D8 RID: 216 RVA: 0x00002650 File Offset: 0x00000850
// (set) Token: 0x060000D9 RID: 217 RVA: 0x00002658 File Offset: 0x00000858
public string Name { get; set; }
// Token: 0x1700004A RID: 74
// (get) Token: 0x060000DA RID: 218 RVA: 0x00002661 File Offset: 0x00000861
// (set) Token: 0x060000DB RID: 219 RVA: 0x00002669 File Offset: 0x00000869
public string ActivityLevelId { get; set; }
// Token: 0x1700004B RID: 75
// (get) Token: 0x060000DC RID: 220 RVA: 0x00002672 File Offset: 0x00000872
// (set) Token: 0x060000DD RID: 221 RVA: 0x0000267A File Offset: 0x0000087A
public bool Private { get; set; }
// Token: 0x1700004C RID: 76
// (get) Token: 0x060000DE RID: 222 RVA: 0x00002683 File Offset: 0x00000883
// (set) Token: 0x060000DF RID: 223 RVA: 0x0000268B File Offset: 0x0000088B
public bool Sandbox { get; set; }
// Token: 0x1700004D RID: 77
// (get) Token: 0x060000E0 RID: 224 RVA: 0x00002694 File Offset: 0x00000894
// (set) Token: 0x060000E1 RID: 225 RVA: 0x0000269C File Offset: 0x0000089C
public bool SupportsVR { get; set; }
// Token: 0x1700004E RID: 78
// (get) Token: 0x060000E2 RID: 226 RVA: 0x000026A5 File Offset: 0x000008A5
// (set) Token: 0x060000E3 RID: 227 RVA: 0x000026AD File Offset: 0x000008AD
public bool SupportsScreens { get; set; }
// Token: 0x1700004F RID: 79
// (get) Token: 0x060000E4 RID: 228 RVA: 0x000026B6 File Offset: 0x000008B6
// (set) Token: 0x060000E5 RID: 229 RVA: 0x000026BE File Offset: 0x000008BE
public bool GameInProgress { get; set; }
// Token: 0x17000050 RID: 80
// (get) Token: 0x060000E6 RID: 230 RVA: 0x000026C7 File Offset: 0x000008C7
// (set) Token: 0x060000E7 RID: 231 RVA: 0x000026CF File Offset: 0x000008CF
public int MaxCapacity { get; set; }
// Token: 0x17000051 RID: 81
// (get) Token: 0x060000E8 RID: 232 RVA: 0x000026D8 File Offset: 0x000008D8
// (set) Token: 0x060000E9 RID: 233 RVA: 0x000026E0 File Offset: 0x000008E0
public bool IsFull { get; set; }
}
// Token: 0x02000024 RID: 36
public class JoinRandomRequest
{
// Token: 0x17000052 RID: 82
// (get) Token: 0x060000EB RID: 235 RVA: 0x000026E9 File Offset: 0x000008E9
// (set) Token: 0x060000EC RID: 236 RVA: 0x000026F1 File Offset: 0x000008F1
public string[] ActivityLevelIds { get; set; }
// Token: 0x17000053 RID: 83
// (get) Token: 0x060000ED RID: 237 RVA: 0x000026FA File Offset: 0x000008FA
// (set) Token: 0x060000EE RID: 238 RVA: 0x00002702 File Offset: 0x00000902
public ulong[] ExpectedPlayerIds { get; set; }
// Token: 0x17000054 RID: 84
// (get) Token: 0x060000EF RID: 239 RVA: 0x0000270B File Offset: 0x0000090B
// (set) Token: 0x060000F0 RID: 240 RVA: 0x00002713 File Offset: 0x00000913
public GameSessions.RegionPing[] RegionPings { get; set; }
}
public class JoinRoomRequest2
{
// Token: 0x17000022 RID: 34
// (get) Token: 0x06000060 RID: 96 RVA: 0x00002345 File Offset: 0x00000545
// (set) Token: 0x06000061 RID: 97 RVA: 0x0000234D File Offset: 0x0000054D
public ulong[] ExpectedPlayerIds { get; set; }
// Token: 0x17000023 RID: 35
// (get) Token: 0x06000062 RID: 98 RVA: 0x00002356 File Offset: 0x00000556
// (set) Token: 0x06000063 RID: 99 RVA: 0x0000235E File Offset: 0x0000055E
public GameSessions.RegionPing[] RegionPings { get; set; }
// Token: 0x17000024 RID: 36
// (get) Token: 0x06000064 RID: 100 RVA: 0x00002367 File Offset: 0x00000567
// (set) Token: 0x06000065 RID: 101 RVA: 0x0000236F File Offset: 0x0000056F
public string[] RoomTags { get; set; }
// Token: 0x17000025 RID: 37
// (get) Token: 0x06000066 RID: 102 RVA: 0x00002378 File Offset: 0x00000578
// (set) Token: 0x06000067 RID: 103 RVA: 0x00002380 File Offset: 0x00000580
public string RoomName { get; set; }
// Token: 0x17000026 RID: 38
// (get) Token: 0x06000068 RID: 104 RVA: 0x00002389 File Offset: 0x00000589
// (set) Token: 0x06000069 RID: 105 RVA: 0x00002391 File Offset: 0x00000591
public string SceneName { get; set; }
// Token: 0x17000027 RID: 39
// (get) Token: 0x0600006A RID: 106 RVA: 0x0000239A File Offset: 0x0000059A
// (set) Token: 0x0600006B RID: 107 RVA: 0x000023A2 File Offset: 0x000005A2
public int AdditionalPlayerJoinMode { get; set; }
// Token: 0x17000028 RID: 40
// (get) Token: 0x0600006C RID: 108 RVA: 0x000023AB File Offset: 0x000005AB
// (set) Token: 0x0600006D RID: 109 RVA: 0x000023B3 File Offset: 0x000005B3
public bool Private { get; set; }
}
// Token: 0x02000025 RID: 37
// Token: 0x02000025 RID: 37
public class CreateRequest
{
// Token: 0x17000055 RID: 85
// (get) Token: 0x060000F2 RID: 242 RVA: 0x0000271C File Offset: 0x0000091C
// (set) Token: 0x060000F3 RID: 243 RVA: 0x00002724 File Offset: 0x00000924
public string ActivityLevelId { get; set; }
// Token: 0x17000056 RID: 86
// (get) Token: 0x060000F4 RID: 244 RVA: 0x0000272D File Offset: 0x0000092D
// (set) Token: 0x060000F5 RID: 245 RVA: 0x00002735 File Offset: 0x00000935
public ulong[] ExpectedPlayerIds { get; set; }
// Token: 0x17000057 RID: 87
// (get) Token: 0x060000F6 RID: 246 RVA: 0x0000273E File Offset: 0x0000093E
// (set) Token: 0x060000F7 RID: 247 RVA: 0x00002746 File Offset: 0x00000946
public GameSessions.RegionPing[] RegionPings { get; set; }
// Token: 0x17000058 RID: 88
// (get) Token: 0x060000F8 RID: 248 RVA: 0x0000274F File Offset: 0x0000094F
// (set) Token: 0x060000F9 RID: 249 RVA: 0x00002757 File Offset: 0x00000957
public bool IsSandbox { get; set; }
}
// Token: 0x02000026 RID: 38
public class RegionPing
{
// Token: 0x17000059 RID: 89
// (get) Token: 0x060000FB RID: 251 RVA: 0x00002760 File Offset: 0x00000960
// (set) Token: 0x060000FC RID: 252 RVA: 0x00002768 File Offset: 0x00000968
public string Region { get; set; }
// Token: 0x1700005A RID: 90
// (get) Token: 0x060000FD RID: 253 RVA: 0x00002771 File Offset: 0x00000971
// (set) Token: 0x060000FE RID: 254 RVA: 0x00002779 File Offset: 0x00000979
public int Ping { get; set; }
}
// Token: 0x02000027 RID: 39
private class JoinResult
{
// Token: 0x1700005B RID: 91
// (get) Token: 0x06000100 RID: 256 RVA: 0x00002782 File Offset: 0x00000982
// (set) Token: 0x06000101 RID: 257 RVA: 0x0000278A File Offset: 0x0000098A
public int Result { get; set; }
// Token: 0x1700005C RID: 92
// (get) Token: 0x06000102 RID: 258 RVA: 0x00002793 File Offset: 0x00000993
// (set) Token: 0x06000103 RID: 259 RVA: 0x0000279B File Offset: 0x0000099B
public GameSessions.SessionInstance GameSession { get; set; }
}
}
}

74
Serverapi/GetOrCreates.cs Normal file
View File

@@ -0,0 +1,74 @@
using System;
using System.IO;
using Newtonsoft.Json;
namespace OpenRec2.Serverapi
{
internal class getorcreate
{
public static string GetOrCreate(ulong userid)
{
return JsonConvert.SerializeObject(new Profiles
{
Id = userid,
Username = File.ReadAllText("SaveData\\Profile\\username.txt"),
DisplayName = File.ReadAllText("SaveData\\Profile\\username.txt"),
XP = 48,
Level = int.Parse(File.ReadAllText("SaveData\\Profile\\level.txt")),
Reputation = 0,
Verified = true,
Developer = bool.Parse(File.ReadAllText("SaveData\\Profile\\isdev.txt")),
HasEmail = true,
CanReceiveInvites = false,
ProfileImageName = File.ReadAllText("SaveData\\Profile\\username.txt"),
HasBirthday = true
});
}
public static string GetOrCreateArray(ulong userid)
{
return JsonConvert.SerializeObject(new Profiles[]
{
new Profiles
{
Id = userid,
Username = File.ReadAllText("SaveData\\Profile\\username.txt"),
DisplayName = File.ReadAllText("SaveData\\Profile\\username.txt"),
XP = 48,
Level = int.Parse(File.ReadAllText("SaveData\\Profile\\level.txt")),
Reputation = 0,
Verified = true,
Developer = bool.Parse(File.ReadAllText("SaveData\\Profile\\isdev.txt")),
HasEmail = true,
CanReceiveInvites = false,
ProfileImageName = File.ReadAllText("SaveData\\Profile\\username.txt"),
JuniorProfile = bool.Parse(File.ReadAllText("SaveData\\Profile\\isjun.txt")),
ForceJuniorImages = bool.Parse(File.ReadAllText("SaveData\\Profile\\isjun.txt")),
HasBirthday = true
}
});
}
class Profiles
{
public ulong Id { get; set; }
public string Username { get; set; }
public string DisplayName { get; set; }
public int XP { get; set; }
public int Level { get; set; }
public int Reputation { get; set; }
public bool Verified { get; set; }
public bool Developer { get; set; }
public bool HasEmail { get; set; }
public bool CanReceiveInvites { get; set; }
public string ProfileImageName { get; set; }
public bool JuniorProfile { get; set; }
public bool ForceJuniorImages { get; set; }
public bool PendingJunior { get; set; }
public bool HasBirthday { get; set; }
public string PhoneLastFour { get; set; }
}
}
}

206
Setup.cs Normal file
View File

@@ -0,0 +1,206 @@
using OpenRec2.Launcherapi;
using System.Net;
namespace OpenRec2
{
class Setup
{
public static bool firsttime = false;
public static void setup()
{
//sets up all the important files so openrec doesnt crash like lame vaultserver xD
//creates directories
Directory.CreateDirectory("SaveData\\App\\");
Directory.CreateDirectory("SaveData\\Profile\\");
Directory.CreateDirectory("SaveData\\Images\\");
Directory.CreateDirectory("SaveData\\Api\\");
Directory.CreateDirectory("SaveData\\Rooms\\Downloaded\\");
//application setup
if (!(File.Exists("SaveData\\App\\firsttime.txt")))
{
File.WriteAllText("SaveData\\App\\firsttime.txt", "this text file has no use other than to tell the program whether to bring up the intro or not, so i can just write random shit here. among us balls, you suck mad dick you big fat fa----");
firsttime = true;
}
if (!(File.Exists("SaveData\\App\\facefeaturesadd.txt")))
{
File.WriteAllText("SaveData\\App\\facefeaturesadd.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/facefeaturesadd.txt"));
}
//api setup
if (!(File.Exists("SaveData\\Api\\configv2.txt")))
{
File.WriteAllText("SaveData\\Api\\configv2.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/configv2.txt"));
}
if (!(File.Exists("SaveData\\Api\\avataritems.txt")))
{
File.WriteAllText("SaveData\\Api\\avataritems.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/avataritems.txt"));
}
if (!(File.Exists("SaveData\\Api\\avataritems2.txt")))
{
File.WriteAllText("SaveData\\Api\\avataritems2.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/avataritems2.txt"));
}
if (!(File.Exists("SaveData\\Api\\equipment.txt")))
{
File.WriteAllText("SaveData\\Api\\equipment.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/equipment.txt"));
}
if (!(File.Exists("SaveData\\Api\\consumables.txt")))
{
File.WriteAllText("SaveData\\Api\\consumables.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/consumables.txt"));
}
if (!(File.Exists("SaveData\\Api\\gameconfigs.txt")))
{
File.WriteAllText("SaveData\\Api\\gameconfigs.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/gameconfigs.txt"));
}
if (!(File.Exists("SaveData\\Api\\storefronts2.txt")))
{
File.WriteAllText("SaveData\\Api\\storefronts2.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/storefront2.txt"));
}
if (!(File.Exists("SaveData\\Api\\baserooms.txt")))
{
File.WriteAllText("SaveData\\Api\\baserooms.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/baserooms.txt"));
}
if (!(File.Exists("SaveData\\Api\\myrooms.txt")))
{
File.WriteAllText("SaveData\\Api\\myrooms.txt", "[]");
}
//profile / user setup
if (!(File.Exists("SaveData\\Profile\\avatar.txt")))
{
File.WriteAllText("SaveData\\Profile\\avatar.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/avatar.txt"));
}
else if (File.ReadAllText("SaveData\\Profile\\avatar.txt") == "")
{
File.WriteAllText("SaveData\\Profile\\avatar.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/avatar.txt"));
}
if (!(File.Exists("SaveData\\Profile\\username.txt")))
{
File.WriteAllText("SaveData\\Profile\\username.txt", "User#" + new Random().Next(0, 1000000));
}
if (!(File.Exists("SaveData\\Profile\\level.txt")))
{
File.WriteAllText("SaveData\\Profile\\level.txt", "10");
}
if (!(File.Exists("SaveData\\Profile\\userid.txt")))
{
File.WriteAllText("SaveData\\Profile\\userid.txt", "10000000");
}
if (!(File.Exists("SaveData\\Profile\\settings.txt")))
{
File.WriteAllText("SaveData\\Profile\\settings.txt", Newtonsoft.Json.JsonConvert.SerializeObject(Settings.CreateDefaultSettings()));
}
if (!(File.Exists("SaveData\\Profile\\profileimage.png")))
{
File.WriteAllBytes("SaveData\\Profile\\profileimage.png", new WebClient().DownloadData("https://github.com/OpenRecRoom/OpenRec/raw/main/profileimage.png"));
}
if (!File.Exists("SaveData\\Profile\\isdev.txt"))
{
File.WriteAllText("SaveData\\Profile\\isdev.txt", "true");
}
if (!File.Exists("SaveData\\Profile\\isjun.txt"))
{
File.WriteAllText("SaveData\\Profile\\isjun.txt", "false");
}
//settings setup
if (!(File.Exists("SaveData\\App\\privaterooms.txt")))
{
File.WriteAllText("SaveData\\App\\privaterooms.txt", "false");
}
goto customroom;
customroom:
if (!File.Exists("SaveData\\Rooms\\Downloaded\\roomname.txt"))
{
try
{
CustomRooms.RoomGet("gogo9");
}
catch
{
goto customroom;
}
}
}
public static void reset()
{
File.WriteAllText("SaveData\\App\\firsttime.txt", "this text file has no use other than to tell the program whether to bring up the intro or not, so i can just write random shit here. among us balls, you suck mad dick you big fat fa----");
firsttime = true;
File.WriteAllText("SaveData\\App\\facefeaturesadd.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/facefeaturesadd.txt"));
//api setup
File.WriteAllText("SaveData\\Api\\avataritems.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/avataritems.txt"));
File.WriteAllText("SaveData\\Api\\avataritems2.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/avataritems2.txt"));
File.WriteAllText("SaveData\\Api\\equipment.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/equipment.txt"));
File.WriteAllText("SaveData\\Api\\consumables.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/consumables.txt"));
File.WriteAllText("SaveData\\Api\\gameconfigs.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/gameconfigs.txt"));
File.WriteAllText("SaveData\\Api\\storefronts2.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/storefront2.txt"));
File.WriteAllText("SaveData\\Api\\baserooms.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/baserooms.txt"));
File.WriteAllText("SaveData\\Api\\myrooms.txt", "[]");
//profile / user setup
File.WriteAllText("SaveData\\Profile\\avatar.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/avatar.txt"));
File.WriteAllText("SaveData\\Profile\\avatar.txt", new WebClient().DownloadString("https://raw.githubusercontent.com/recroom2016/OpenRec/master/Download/avatar.txt"));
File.WriteAllText("SaveData\\Profile\\username.txt", "User#" + new Random().Next(0, 1000000));
File.WriteAllText("SaveData\\Profile\\level.txt", "10");
File.WriteAllText("SaveData\\Profile\\userid.txt", "10000000");
File.WriteAllText("SaveData\\Profile\\settings.txt", Newtonsoft.Json.JsonConvert.SerializeObject(Settings.CreateDefaultSettings()));
File.WriteAllBytes("SaveData\\Profile\\profileimage.png", new WebClient().DownloadData("https://github.com/OpenRecRoom/OpenRec/raw/main/profileimage.png"));
File.WriteAllText("SaveData\\Profile\\isdev.txt", "true");
File.WriteAllText("SaveData\\Profile\\isjun.txt", "false");
//settings setup
File.WriteAllText("SaveData\\App\\privaterooms.txt", "false");
goto customroom;
customroom:
try
{
CustomRooms.RoomGet("gogo9");
}
catch
{
goto customroom;
}
}
}
}

35
WebSocket.cs Normal file
View File

@@ -0,0 +1,35 @@
using System;
using System.IO;
using System.Net;
using WebSocketSharp;
using WebSocketSharp.Server;
using OpenRec2;
namespace OpenRec2
{
// Token: 0x02000010 RID: 16
internal class WebSocket
{
// Token: 0x06000031 RID: 49 RVA: 0x000066D4 File Offset: 0x000048D4
public WebSocket()
{
WebSocketServer webSocketServer = new WebSocketServer(string.Format("ws://localhost:20161", Array.Empty<object>()));
webSocketServer.AddWebSocketService<WebSocket.NotificationV2>("/api/notification/v2");
webSocketServer.AddWebSocketService<WebSocket.NotificationV2>("/hub/v1");
webSocketServer.Start();
Program.ConsoleWrite("[WebSocket.cs] has started.");
Program.ConsoleWrite("[WebSocket.cs] is listening.");
}
// Token: 0x02000058 RID: 88
public class NotificationV2 : WebSocketBehavior
{
// Token: 0x0600023F RID: 575 RVA: 0x0000BDF8 File Offset: 0x00009FF8
protected override void OnMessage(MessageEventArgs e)
{
Program.ConsoleWrite("WebSocket.cs called for.");
base.Send(Websocketapi.Notification.ProcessRequest(e.Data));
}
}
}
}

View File

@@ -0,0 +1,92 @@
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
using OpenRec2.Serverapi;
namespace OpenRec2.Websocketapi
{
// Token: 0x0200002A RID: 42
public class Notification
{
// Token: 0x0600010B RID: 267
public static string ProcessRequest(string jsonData)
{
Dictionary<string, object> dictionary = JsonConvert.DeserializeObject<Dictionary<string, object>>(jsonData);
string result;
if (dictionary.ContainsKey("api"))
{
string text = (string)dictionary["api"];
string text2 = text;
if (text2 != null)
{
if (text2 == "playerSubscriptions/v1/update")
{
Console.WriteLine("[WSS] Game client sent presence update.");
return JsonConvert.SerializeObject(Notification.Reponse.createResponse(12, GameSessions.StatusSessionInstance()));
}
if (text2 == "heartbeat2")
{
Console.WriteLine("[WSS] Heartbeat 2 sent by game client.");
return JsonConvert.SerializeObject(Notification.Reponse.createResponse(4, GameSessions.StatusSessionInstance()));
}
}
Console.WriteLine("[WSS] Unknown API call: " + text);
result = "";
}
else
{
result = jsonData;
}
return result;
}
// Token: 0x0200002B RID: 43
public enum ResponseResults
{
RelationshipChanged = 1,
MessageReceived,
MessageDeleted,
PresenceHeartbeatResponse,
SubscriptionListUpdated = 9,
SubscriptionUpdateProfile = 11,
SubscriptionUpdatePresence,
SubscriptionUpdateGameSession,
SubscriptionUpdateRoom = 15,
ModerationQuitGame = 20,
ModerationUpdateRequired,
ModerationKick,
ModerationKickAttemptFailed,
ServerMaintenance = 25,
GiftPackageReceived = 30,
ProfileJuniorStatusUpdate = 40,
RelationshipsInvalid = 50,
StorefrontBalanceAdd = 60,
ConsumableMappingAdded = 70,
ConsumableMappingRemoved,
PlayerEventCreated = 80,
PlayerEventUpdated,
PlayerEventDeleted,
PlayerEventResponseChanged,
PlayerEventResponseDeleted,
PlayerEventStateChanged,
ChatMessageReceived = 90
}
public class Reponse
{
public int Id { get; set; }
public object Msg { get; set; }
public static Notification.Reponse createResponse(int id, object msg)
{
return new Notification.Reponse
{
Id = id,
Msg = msg
};
}
}
}
}

BIN
icon2.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB