Initial commit (2011)
This commit is contained in:
120
GamerServices/Systems/Forms/FormAbout.Designer.cs
generated
Normal file
120
GamerServices/Systems/Forms/FormAbout.Designer.cs
generated
Normal file
@ -0,0 +1,120 @@
|
||||
namespace GamerServices
|
||||
{
|
||||
partial class FormAbout
|
||||
{
|
||||
/// <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.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormAbout));
|
||||
this.buttonClose = new System.Windows.Forms.Button();
|
||||
this.Stage = new System.Windows.Forms.PictureBox();
|
||||
this.timerUpdate = new System.Windows.Forms.Timer(this.components);
|
||||
this.pictureBox1 = new System.Windows.Forms.PictureBox();
|
||||
this.fontLabel = new System.Windows.Forms.Label();
|
||||
((System.ComponentModel.ISupportInitialize)(this.Stage)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// buttonClose
|
||||
//
|
||||
this.buttonClose.Location = new System.Drawing.Point(238, 364);
|
||||
this.buttonClose.Name = "buttonClose";
|
||||
this.buttonClose.Size = new System.Drawing.Size(75, 23);
|
||||
this.buttonClose.TabIndex = 1;
|
||||
this.buttonClose.Text = "Close";
|
||||
this.buttonClose.UseVisualStyleBackColor = true;
|
||||
this.buttonClose.Click += new System.EventHandler(this.buttonClose_Click);
|
||||
//
|
||||
// Stage
|
||||
//
|
||||
this.Stage.Location = new System.Drawing.Point(12, 84);
|
||||
this.Stage.Name = "Stage";
|
||||
this.Stage.Size = new System.Drawing.Size(301, 274);
|
||||
this.Stage.TabIndex = 0;
|
||||
this.Stage.TabStop = false;
|
||||
this.Stage.Paint += new System.Windows.Forms.PaintEventHandler(this.Stage_Paint);
|
||||
//
|
||||
// timerUpdate
|
||||
//
|
||||
this.timerUpdate.Enabled = true;
|
||||
this.timerUpdate.Interval = 10;
|
||||
this.timerUpdate.Tick += new System.EventHandler(this.timerUpdate_Tick);
|
||||
//
|
||||
// pictureBox1
|
||||
//
|
||||
this.pictureBox1.Image = global::GamerServices.Properties.Resources.Gamerservices_Small;
|
||||
this.pictureBox1.Location = new System.Drawing.Point(12, 12);
|
||||
this.pictureBox1.Name = "pictureBox1";
|
||||
this.pictureBox1.Size = new System.Drawing.Size(301, 66);
|
||||
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
|
||||
this.pictureBox1.TabIndex = 2;
|
||||
this.pictureBox1.TabStop = false;
|
||||
//
|
||||
// fontLabel
|
||||
//
|
||||
this.fontLabel.AutoSize = true;
|
||||
this.fontLabel.Font = new System.Drawing.Font("Calibri", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.fontLabel.Location = new System.Drawing.Point(12, 366);
|
||||
this.fontLabel.Name = "fontLabel";
|
||||
this.fontLabel.Size = new System.Drawing.Size(67, 18);
|
||||
this.fontLabel.TabIndex = 3;
|
||||
this.fontLabel.Text = "fontLabel";
|
||||
this.fontLabel.Visible = false;
|
||||
//
|
||||
// FormAbout
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(325, 399);
|
||||
this.Controls.Add(this.fontLabel);
|
||||
this.Controls.Add(this.pictureBox1);
|
||||
this.Controls.Add(this.buttonClose);
|
||||
this.Controls.Add(this.Stage);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "FormAbout";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "About GamerServices";
|
||||
this.Load += new System.EventHandler(this.FormAbout_Load);
|
||||
((System.ComponentModel.ISupportInitialize)(this.Stage)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.PictureBox Stage;
|
||||
private System.Windows.Forms.Button buttonClose;
|
||||
private System.Windows.Forms.Timer timerUpdate;
|
||||
private System.Windows.Forms.PictureBox pictureBox1;
|
||||
private System.Windows.Forms.Label fontLabel;
|
||||
}
|
||||
}
|
73
GamerServices/Systems/Forms/FormAbout.cs
Normal file
73
GamerServices/Systems/Forms/FormAbout.cs
Normal file
@ -0,0 +1,73 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
|
||||
namespace GamerServices
|
||||
{
|
||||
public partial class FormAbout : Form
|
||||
{
|
||||
public float TextHeight;
|
||||
public String[] TextLines;
|
||||
|
||||
public FormAbout()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
this.TextHeight = Stage.Height + 6;
|
||||
this.TextLines = File.ReadAllText("Media/Credits.txt").Split('\n');
|
||||
}
|
||||
|
||||
private void buttonClose_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
|
||||
private void FormAbout_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
|
||||
this.SetStyle(ControlStyles.UserPaint, true);
|
||||
this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
|
||||
}
|
||||
|
||||
private void Stage_Paint(object sender, PaintEventArgs e)
|
||||
{
|
||||
Graphics g = e.Graphics;
|
||||
|
||||
g.Clear(this.BackColor);
|
||||
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
|
||||
g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
|
||||
|
||||
for (int i = 0; i < this.TextLines.Length; i++)
|
||||
{
|
||||
Font font = this.fontLabel.Font;
|
||||
|
||||
if (this.TextLines[i].StartsWith("[B]"))
|
||||
font = new Font(font, FontStyle.Bold);
|
||||
|
||||
if (this.TextLines[i].StartsWith("[H1]"))
|
||||
font = new Font(font.FontFamily, 20, FontStyle.Bold);
|
||||
|
||||
if (this.TextLines[i].StartsWith("[H2]"))
|
||||
font = new Font(font.FontFamily, 16, FontStyle.Bold);
|
||||
|
||||
g.DrawString(this.TextLines[i].Replace("[B]", "").Replace("[H1]", "").Replace("[H2]", ""), font, Brushes.Black, new PointF(Stage.Width / 2f, (this.fontLabel.Font.Size + 2) * i + this.TextHeight), new StringFormat() { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center });
|
||||
}
|
||||
}
|
||||
|
||||
private void timerUpdate_Tick(object sender, EventArgs e)
|
||||
{
|
||||
this.TextHeight -= 0.5f;
|
||||
|
||||
if (this.TextHeight < -((this.fontLabel.Font.Size + 2) * this.TextLines.Length))
|
||||
this.TextHeight = Stage.Height + 6;
|
||||
|
||||
Stage.Invalidate();
|
||||
}
|
||||
}
|
||||
}
|
1256
GamerServices/Systems/Forms/FormAbout.resx
Normal file
1256
GamerServices/Systems/Forms/FormAbout.resx
Normal file
File diff suppressed because it is too large
Load Diff
79
GamerServices/Systems/Forms/FormAddFriend.Designer.cs
generated
Normal file
79
GamerServices/Systems/Forms/FormAddFriend.Designer.cs
generated
Normal file
@ -0,0 +1,79 @@
|
||||
namespace GamerServices {
|
||||
partial class FormAddFriend {
|
||||
/// <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.textBox1 = new System.Windows.Forms.TextBox();
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// textBox1
|
||||
//
|
||||
this.textBox1.Location = new System.Drawing.Point(76, 12);
|
||||
this.textBox1.Name = "textBox1";
|
||||
this.textBox1.Size = new System.Drawing.Size(277, 20);
|
||||
this.textBox1.TabIndex = 0;
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Location = new System.Drawing.Point(12, 38);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(341, 23);
|
||||
this.button1.TabIndex = 1;
|
||||
this.button1.Text = "Add";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(12, 15);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(58, 13);
|
||||
this.label1.TabIndex = 2;
|
||||
this.label1.Text = "Username:";
|
||||
//
|
||||
// FormAddFriend
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(365, 67);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.button1);
|
||||
this.Controls.Add(this.textBox1);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
|
||||
this.Name = "FormAddFriend";
|
||||
this.Text = "Add User";
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.TextBox textBox1;
|
||||
private System.Windows.Forms.Button button1;
|
||||
private System.Windows.Forms.Label label1;
|
||||
}
|
||||
}
|
29
GamerServices/Systems/Forms/FormAddFriend.cs
Normal file
29
GamerServices/Systems/Forms/FormAddFriend.cs
Normal file
@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace GamerServices {
|
||||
public partial class FormAddFriend : Form {
|
||||
private FormMain Main;
|
||||
|
||||
public FormAddFriend(FormMain main) {
|
||||
Main = main;
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void button1_Click(object sender, EventArgs e) {
|
||||
if (textBox1.Text.Length == 0)
|
||||
return;
|
||||
|
||||
if (Main.GetFriend(textBox1.Text) == null) {
|
||||
Main.Networker.Connection.Send(7, textBox1.Text.Length + 5, textBox1.Text);
|
||||
Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
120
GamerServices/Systems/Forms/FormAddFriend.resx
Normal file
120
GamerServices/Systems/Forms/FormAddFriend.resx
Normal file
@ -0,0 +1,120 @@
|
||||
<?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>
|
||||
</root>
|
161
GamerServices/Systems/Forms/FormChat.Designer.cs
generated
Normal file
161
GamerServices/Systems/Forms/FormChat.Designer.cs
generated
Normal file
@ -0,0 +1,161 @@
|
||||
namespace GamerServices {
|
||||
partial class FormChat {
|
||||
/// <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.button1 = new System.Windows.Forms.Button();
|
||||
this.textBox1 = new System.Windows.Forms.TextBox();
|
||||
this.textBox2 = new System.Windows.Forms.TextBox();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.pictureBox1 = new System.Windows.Forms.PictureBox();
|
||||
this.panel1.SuspendLayout();
|
||||
this.panel2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Location = new System.Drawing.Point(501, 383);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(134, 30);
|
||||
this.button1.TabIndex = 1;
|
||||
this.button1.Text = "Send";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||
//
|
||||
// textBox1
|
||||
//
|
||||
this.textBox1.Location = new System.Drawing.Point(0, 82);
|
||||
this.textBox1.Multiline = true;
|
||||
this.textBox1.Name = "textBox1";
|
||||
this.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
|
||||
this.textBox1.Size = new System.Drawing.Size(634, 298);
|
||||
this.textBox1.TabIndex = 2;
|
||||
this.textBox1.Text = "Do not give away your password to anybody!";
|
||||
this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);
|
||||
//
|
||||
// textBox2
|
||||
//
|
||||
this.textBox2.Location = new System.Drawing.Point(12, 387);
|
||||
this.textBox2.MaxLength = 500;
|
||||
this.textBox2.Name = "textBox2";
|
||||
this.textBox2.Size = new System.Drawing.Size(482, 20);
|
||||
this.textBox2.TabIndex = 3;
|
||||
this.textBox2.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox2_KeyPress);
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.BackColor = System.Drawing.SystemColors.ControlDarkDark;
|
||||
this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.panel1.Controls.Add(this.label2);
|
||||
this.panel1.Controls.Add(this.label1);
|
||||
this.panel1.Controls.Add(this.panel2);
|
||||
this.panel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(634, 76);
|
||||
this.panel1.TabIndex = 4;
|
||||
this.panel1.Click += new System.EventHandler(this.panel1_Click);
|
||||
this.panel1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.panel1_MouseClick);
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.BackColor = System.Drawing.Color.Transparent;
|
||||
this.label2.Font = new System.Drawing.Font("Comic Sans MS", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.label2.ForeColor = System.Drawing.SystemColors.MenuText;
|
||||
this.label2.Location = new System.Drawing.Point(79, 42);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(0, 17);
|
||||
this.label2.TabIndex = 3;
|
||||
this.label2.Click += new System.EventHandler(this.label2_Click);
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.BackColor = System.Drawing.Color.Transparent;
|
||||
this.label1.Font = new System.Drawing.Font("Calibri", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.label1.ForeColor = System.Drawing.Color.LightSalmon;
|
||||
this.label1.Location = new System.Drawing.Point(78, 8);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(69, 23);
|
||||
this.label1.TabIndex = 2;
|
||||
this.label1.Text = "Default";
|
||||
this.label1.Click += new System.EventHandler(this.label1_Click);
|
||||
//
|
||||
// panel2
|
||||
//
|
||||
this.panel2.BackColor = System.Drawing.Color.Black;
|
||||
this.panel2.Controls.Add(this.pictureBox1);
|
||||
this.panel2.Location = new System.Drawing.Point(2, 2);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(70, 70);
|
||||
this.panel2.TabIndex = 1;
|
||||
//
|
||||
// pictureBox1
|
||||
//
|
||||
this.pictureBox1.Location = new System.Drawing.Point(3, 3);
|
||||
this.pictureBox1.Name = "pictureBox1";
|
||||
this.pictureBox1.Size = new System.Drawing.Size(64, 64);
|
||||
this.pictureBox1.TabIndex = 4;
|
||||
this.pictureBox1.TabStop = false;
|
||||
//
|
||||
// FormChat
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(635, 412);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Controls.Add(this.textBox2);
|
||||
this.Controls.Add(this.textBox1);
|
||||
this.Controls.Add(this.button1);
|
||||
this.MinimumSize = new System.Drawing.Size(396, 250);
|
||||
this.Name = "FormChat";
|
||||
this.Text = "Chat";
|
||||
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.FormChat_FormClosed);
|
||||
this.Load += new System.EventHandler(this.FormChat_Load);
|
||||
this.MouseClick += new System.Windows.Forms.MouseEventHandler(this.FormChat_MouseClick);
|
||||
this.Resize += new System.EventHandler(this.FormChat_Resize);
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.panel1.PerformLayout();
|
||||
this.panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public System.Windows.Forms.Button button1;
|
||||
private System.Windows.Forms.TextBox textBox1;
|
||||
private System.Windows.Forms.TextBox textBox2;
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.PictureBox pictureBox1;
|
||||
}
|
||||
}
|
192
GamerServices/Systems/Forms/FormChat.cs
Normal file
192
GamerServices/Systems/Forms/FormChat.cs
Normal file
@ -0,0 +1,192 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
using System.Net;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace GamerServices {
|
||||
public partial class FormChat : Form {
|
||||
private bool _CanChat = true;
|
||||
public Friend ChattingWith;
|
||||
|
||||
public bool CanChat{
|
||||
get {
|
||||
return _CanChat;
|
||||
}
|
||||
|
||||
set {
|
||||
_CanChat = value;
|
||||
this.button1.Enabled = _CanChat;
|
||||
}
|
||||
}
|
||||
|
||||
[DllImport("user32.dll")]
|
||||
static extern bool FlashWindow(IntPtr hwnd, bool bInvert);
|
||||
|
||||
public FormMain Main;
|
||||
private bool Editing = false;
|
||||
|
||||
|
||||
public FormChat(FormMain main) {
|
||||
Main = main;
|
||||
|
||||
InitializeComponent();
|
||||
|
||||
oldtext = textBox1.Text;
|
||||
}
|
||||
|
||||
public void UpdateStatus() {
|
||||
Game g = null;
|
||||
if (this.ChattingWith.GameID != -1) {
|
||||
g = this.Main.GetGame(this.ChattingWith.GameID);
|
||||
}
|
||||
|
||||
label2.Text = this.ChattingWith.GameID < 1 ? "" : "Is playing: " + g.Name;
|
||||
}
|
||||
|
||||
public void AddMessage(string user, string msg) {
|
||||
Editing = true;
|
||||
textBox1.Text += "\r\n" + String.Format("[{0:HH:mm:ss}] ", DateTime.Now) + user + ": " + msg;
|
||||
Editing = false;
|
||||
|
||||
textBox1.SelectionStart = textBox1.Text.Length;
|
||||
textBox1.ScrollToCaret();
|
||||
textBox1.Refresh();
|
||||
}
|
||||
|
||||
public void AddMessage(string msg) {
|
||||
Editing = true;
|
||||
textBox1.Text += "\r\n" + msg;
|
||||
Editing = false;
|
||||
|
||||
textBox1.SelectionStart = textBox1.Text.Length;
|
||||
textBox1.ScrollToCaret();
|
||||
textBox1.Refresh();
|
||||
}
|
||||
|
||||
private string oldtext = "";
|
||||
private void textBox1_TextChanged(object sender, EventArgs e) {
|
||||
int selstart = textBox1.SelectionStart;
|
||||
int sellen = textBox1.SelectionLength;
|
||||
|
||||
if (!Editing) {
|
||||
textBox1.Text = oldtext;
|
||||
textBox1.Select(selstart, sellen);
|
||||
return;
|
||||
}
|
||||
|
||||
oldtext = textBox1.Text;
|
||||
|
||||
|
||||
if (!this.ContainsFocus)
|
||||
FlashWindow(this.Handle, true);
|
||||
}
|
||||
|
||||
public void Flash() {
|
||||
if (!this.ContainsFocus)
|
||||
FlashWindow(this.Handle, true);
|
||||
}
|
||||
|
||||
|
||||
private void FormChat_Load(object sender, EventArgs e) {
|
||||
this.Focus();
|
||||
|
||||
label1.Text = this.ChattingWith.Username;
|
||||
|
||||
label1.Focus();
|
||||
|
||||
WebClient wc = new WebClient();
|
||||
wc.Proxy = null;
|
||||
MemoryStream ms = new MemoryStream(wc.DownloadData("http://" + "www.gravatar.com/avatar/" + ChattingWith.AvatarURL + "?s=64"));
|
||||
pictureBox1.Image = Image.FromStream(ms);
|
||||
|
||||
FlashWindow(this.Handle, true);
|
||||
|
||||
|
||||
textBox1.Font = ChattingWith.Main.GetFont("Chat");
|
||||
label1.Font = ChattingWith.Main.GetFont("Chat_Header");
|
||||
label2.Font = ChattingWith.Main.GetFont("Chat_Sub");
|
||||
|
||||
this.UpdateStatus();
|
||||
}
|
||||
|
||||
private void button1_Click(object sender, EventArgs e) {
|
||||
if (!button1.Enabled)
|
||||
return;
|
||||
|
||||
textBox2.Focus();
|
||||
|
||||
if (!CanChat)
|
||||
return;
|
||||
|
||||
if (textBox2.Text.Length == 0)
|
||||
return;
|
||||
|
||||
Editing = true;
|
||||
textBox1.Text += "\r\n" + String.Format("[{0:HH:mm:ss}] ", DateTime.Now) + Main.Username + ": " + textBox2.Text;
|
||||
Main.Networker.Connection.Send(5, textBox2.Text.Length + 9, ChattingWith.UserID, textBox2.Text);
|
||||
textBox2.Text = "";
|
||||
Editing = false;
|
||||
|
||||
textBox1.SelectionStart = textBox1.Text.Length;
|
||||
textBox1.ScrollToCaret();
|
||||
textBox1.Refresh();
|
||||
}
|
||||
|
||||
private void textBox2_KeyPress(object sender, KeyPressEventArgs e) {
|
||||
if (!CanChat)
|
||||
return;
|
||||
|
||||
if (e.KeyChar == 13) {
|
||||
button1_Click(null, null);
|
||||
}
|
||||
}
|
||||
|
||||
private void FormChat_FormClosed(object sender, FormClosedEventArgs e) {
|
||||
this.ChattingWith.ChatWindow = null;
|
||||
}
|
||||
|
||||
private void FormChat_Resize(object sender, EventArgs e) {
|
||||
this.panel1.Size = new Size(this.Size.Width - 16, 76);
|
||||
this.textBox1.Size = new Size(this.Size.Width - 16, this.Size.Height - 82 - 70);
|
||||
this.textBox2.Size = new Size(this.Size.Width - 168, 20);
|
||||
this.textBox2.Location = new Point(12, this.Size.Height - 63);
|
||||
this.button1.Location = new Point(this.Size.Width - 149, this.Size.Height - 67);
|
||||
}
|
||||
|
||||
private void FormChat_MouseClick(object sender, MouseEventArgs e) {
|
||||
textBox2.Focus();
|
||||
}
|
||||
|
||||
private void panel1_MouseClick(object sender, MouseEventArgs e) {
|
||||
textBox2.Focus();
|
||||
}
|
||||
|
||||
private void label1_Click(object sender, EventArgs e) {
|
||||
textBox2.Focus();
|
||||
}
|
||||
|
||||
private void label2_Click(object sender, EventArgs e) {
|
||||
textBox2.Focus();
|
||||
}
|
||||
|
||||
private void panel1_Click(object sender, EventArgs e) {
|
||||
textBox2.Focus();
|
||||
}
|
||||
|
||||
public void FocusTextBar() {
|
||||
textBox2.Focus();
|
||||
}
|
||||
|
||||
private void button2_Click(object sender, EventArgs e) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
120
GamerServices/Systems/Forms/FormChat.resx
Normal file
120
GamerServices/Systems/Forms/FormChat.resx
Normal file
@ -0,0 +1,120 @@
|
||||
<?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>
|
||||
</root>
|
272
GamerServices/Systems/Forms/FormChecksum.Designer.cs
generated
Normal file
272
GamerServices/Systems/Forms/FormChecksum.Designer.cs
generated
Normal file
@ -0,0 +1,272 @@
|
||||
namespace GamerServices
|
||||
{
|
||||
partial class FormChecksum
|
||||
{
|
||||
/// <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(FormChecksum));
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
this.textLastWriteTime = new System.Windows.Forms.TextBox();
|
||||
this.label8 = new System.Windows.Forms.Label();
|
||||
this.label7 = new System.Windows.Forms.Label();
|
||||
this.textLastAccessTime = new System.Windows.Forms.TextBox();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.textCreationTime = new System.Windows.Forms.TextBox();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.textFileHash = new System.Windows.Forms.TextBox();
|
||||
this.textFileSize = new System.Windows.Forms.TextBox();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.buttonView = new System.Windows.Forms.Button();
|
||||
this.comboBox1 = new System.Windows.Forms.ComboBox();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(12, 15);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(26, 13);
|
||||
this.label1.TabIndex = 1;
|
||||
this.label1.Text = "File:";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(41, 35);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(259, 13);
|
||||
this.label2.TabIndex = 2;
|
||||
this.label2.Text = "(The filename is relative to the Games/AppID/ folder.)";
|
||||
//
|
||||
// groupBox1
|
||||
//
|
||||
this.groupBox1.Controls.Add(this.textLastWriteTime);
|
||||
this.groupBox1.Controls.Add(this.label8);
|
||||
this.groupBox1.Controls.Add(this.label7);
|
||||
this.groupBox1.Controls.Add(this.textLastAccessTime);
|
||||
this.groupBox1.Controls.Add(this.label6);
|
||||
this.groupBox1.Controls.Add(this.textCreationTime);
|
||||
this.groupBox1.Controls.Add(this.label5);
|
||||
this.groupBox1.Controls.Add(this.textFileHash);
|
||||
this.groupBox1.Controls.Add(this.textFileSize);
|
||||
this.groupBox1.Controls.Add(this.label4);
|
||||
this.groupBox1.Controls.Add(this.label3);
|
||||
this.groupBox1.Location = new System.Drawing.Point(12, 63);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(443, 147);
|
||||
this.groupBox1.TabIndex = 3;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "File information";
|
||||
//
|
||||
// textLastWriteTime
|
||||
//
|
||||
this.textLastWriteTime.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.textLastWriteTime.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.textLastWriteTime.Enabled = false;
|
||||
this.textLastWriteTime.HideSelection = false;
|
||||
this.textLastWriteTime.Location = new System.Drawing.Point(111, 108);
|
||||
this.textLastWriteTime.Name = "textLastWriteTime";
|
||||
this.textLastWriteTime.ReadOnly = true;
|
||||
this.textLastWriteTime.Size = new System.Drawing.Size(251, 13);
|
||||
this.textLastWriteTime.TabIndex = 11;
|
||||
this.textLastWriteTime.Text = "Never";
|
||||
//
|
||||
// label8
|
||||
//
|
||||
this.label8.AutoSize = true;
|
||||
this.label8.Location = new System.Drawing.Point(28, 108);
|
||||
this.label8.Name = "label8";
|
||||
this.label8.Size = new System.Drawing.Size(77, 13);
|
||||
this.label8.TabIndex = 10;
|
||||
this.label8.Text = "Last write time:";
|
||||
//
|
||||
// label7
|
||||
//
|
||||
this.label7.AutoSize = true;
|
||||
this.label7.Location = new System.Drawing.Point(108, 126);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(105, 13);
|
||||
this.label7.TabIndex = 9;
|
||||
this.label7.Text = "(All times are in UTC)";
|
||||
//
|
||||
// textLastAccessTime
|
||||
//
|
||||
this.textLastAccessTime.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.textLastAccessTime.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.textLastAccessTime.Enabled = false;
|
||||
this.textLastAccessTime.HideSelection = false;
|
||||
this.textLastAccessTime.Location = new System.Drawing.Point(111, 89);
|
||||
this.textLastAccessTime.Name = "textLastAccessTime";
|
||||
this.textLastAccessTime.ReadOnly = true;
|
||||
this.textLastAccessTime.Size = new System.Drawing.Size(251, 13);
|
||||
this.textLastAccessTime.TabIndex = 8;
|
||||
this.textLastAccessTime.Text = "Never";
|
||||
//
|
||||
// label6
|
||||
//
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.Location = new System.Drawing.Point(16, 89);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(89, 13);
|
||||
this.label6.TabIndex = 7;
|
||||
this.label6.Text = "Last access time:";
|
||||
//
|
||||
// textCreationTime
|
||||
//
|
||||
this.textCreationTime.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.textCreationTime.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.textCreationTime.Enabled = false;
|
||||
this.textCreationTime.HideSelection = false;
|
||||
this.textCreationTime.Location = new System.Drawing.Point(111, 70);
|
||||
this.textCreationTime.Name = "textCreationTime";
|
||||
this.textCreationTime.ReadOnly = true;
|
||||
this.textCreationTime.Size = new System.Drawing.Size(251, 13);
|
||||
this.textCreationTime.TabIndex = 6;
|
||||
this.textCreationTime.Text = "Never";
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(34, 70);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(71, 13);
|
||||
this.label5.TabIndex = 5;
|
||||
this.label5.Text = "Creation time:";
|
||||
//
|
||||
// textFileHash
|
||||
//
|
||||
this.textFileHash.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.textFileHash.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.textFileHash.Enabled = false;
|
||||
this.textFileHash.HideSelection = false;
|
||||
this.textFileHash.Location = new System.Drawing.Point(111, 38);
|
||||
this.textFileHash.Name = "textFileHash";
|
||||
this.textFileHash.ReadOnly = true;
|
||||
this.textFileHash.Size = new System.Drawing.Size(251, 13);
|
||||
this.textFileHash.TabIndex = 4;
|
||||
this.textFileHash.Text = "00000000000000000000000000000000";
|
||||
//
|
||||
// textFileSize
|
||||
//
|
||||
this.textFileSize.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.textFileSize.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.textFileSize.Enabled = false;
|
||||
this.textFileSize.HideSelection = false;
|
||||
this.textFileSize.Location = new System.Drawing.Point(111, 19);
|
||||
this.textFileSize.Name = "textFileSize";
|
||||
this.textFileSize.ReadOnly = true;
|
||||
this.textFileSize.Size = new System.Drawing.Size(251, 13);
|
||||
this.textFileSize.TabIndex = 3;
|
||||
this.textFileSize.Text = "0 bytes";
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(46, 38);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(59, 13);
|
||||
this.label4.TabIndex = 2;
|
||||
this.label4.Text = "MD5 hash:";
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(61, 19);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(44, 13);
|
||||
this.label3.TabIndex = 0;
|
||||
this.label3.Text = "Filesize:";
|
||||
//
|
||||
// buttonView
|
||||
//
|
||||
this.buttonView.Location = new System.Drawing.Point(380, 10);
|
||||
this.buttonView.Name = "buttonView";
|
||||
this.buttonView.Size = new System.Drawing.Size(75, 21);
|
||||
this.buttonView.TabIndex = 4;
|
||||
this.buttonView.Text = "Refresh";
|
||||
this.buttonView.UseVisualStyleBackColor = true;
|
||||
this.buttonView.Click += new System.EventHandler(this.buttonView_Click);
|
||||
//
|
||||
// comboBox1
|
||||
//
|
||||
this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.comboBox1.FormattingEnabled = true;
|
||||
this.comboBox1.Location = new System.Drawing.Point(43, 10);
|
||||
this.comboBox1.Name = "comboBox1";
|
||||
this.comboBox1.Size = new System.Drawing.Size(331, 21);
|
||||
this.comboBox1.TabIndex = 5;
|
||||
this.comboBox1.SelectedValueChanged += new System.EventHandler(this.comboBox1_SelectedValueChanged);
|
||||
//
|
||||
// FormChecksum
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(467, 217);
|
||||
this.Controls.Add(this.comboBox1);
|
||||
this.Controls.Add(this.buttonView);
|
||||
this.Controls.Add(this.groupBox1);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.label1);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "FormChecksum";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "Checksum";
|
||||
this.Load += new System.EventHandler(this.FormChecksum_Load);
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.groupBox1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.GroupBox groupBox1;
|
||||
private System.Windows.Forms.TextBox textFileSize;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.TextBox textFileHash;
|
||||
private System.Windows.Forms.Button buttonView;
|
||||
private System.Windows.Forms.TextBox textCreationTime;
|
||||
private System.Windows.Forms.Label label5;
|
||||
private System.Windows.Forms.TextBox textLastWriteTime;
|
||||
private System.Windows.Forms.Label label8;
|
||||
private System.Windows.Forms.Label label7;
|
||||
private System.Windows.Forms.TextBox textLastAccessTime;
|
||||
private System.Windows.Forms.Label label6;
|
||||
private System.Windows.Forms.ComboBox comboBox1;
|
||||
}
|
||||
}
|
72
GamerServices/Systems/Forms/FormChecksum.cs
Normal file
72
GamerServices/Systems/Forms/FormChecksum.cs
Normal file
@ -0,0 +1,72 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
|
||||
namespace GamerServices
|
||||
{
|
||||
public partial class FormChecksum : Form
|
||||
{
|
||||
public int GameID = 0;
|
||||
|
||||
public FormChecksum()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void buttonView_Click(object sender, EventArgs e)
|
||||
{
|
||||
comboBox1.Items.Clear();
|
||||
adddir("");
|
||||
}
|
||||
|
||||
private void FormChecksum_Load(object sender, EventArgs e)
|
||||
{
|
||||
adddir("");
|
||||
}
|
||||
|
||||
private void comboBox1_SelectedValueChanged(object sender, EventArgs e) {
|
||||
String Filename = "Games/" + this.GameID.ToString() + "/" + this.comboBox1.Text;
|
||||
|
||||
if (File.Exists(Filename))
|
||||
{
|
||||
MrAG.Checksum.FileInfo Checksum = MrAG.Checksum.GetInfo(Filename);
|
||||
|
||||
this.textFileSize.Text = Checksum.Size + " bytes";
|
||||
this.textFileHash.Text = Checksum.Hash;
|
||||
|
||||
this.textCreationTime.Text = Checksum.DateCreated;
|
||||
this.textLastAccessTime.Text = Checksum.LastAccessed;
|
||||
this.textLastWriteTime.Text = Checksum.LastWritten;
|
||||
}
|
||||
}
|
||||
|
||||
private void adddir(string addpath) {
|
||||
string startdir = Directory.GetCurrentDirectory() + "/Games/" + GameID + addpath;
|
||||
string reppath = Directory.GetCurrentDirectory() + "/Games/" + GameID;
|
||||
int startpos = reppath.Length;
|
||||
|
||||
|
||||
foreach (string file in Directory.GetFiles(startdir)) {
|
||||
string f = file.Substring(startpos + 1);
|
||||
|
||||
if (f != "version.txt")
|
||||
comboBox1.Items.Add(f);
|
||||
}
|
||||
|
||||
|
||||
foreach (string dir in Directory.GetDirectories(startdir)) {
|
||||
adddir(dir.Substring(startpos));
|
||||
}
|
||||
|
||||
if (comboBox1.Text == "") {
|
||||
comboBox1.SelectedIndex = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
1253
GamerServices/Systems/Forms/FormChecksum.resx
Normal file
1253
GamerServices/Systems/Forms/FormChecksum.resx
Normal file
File diff suppressed because it is too large
Load Diff
636
GamerServices/Systems/Forms/FormDevUpdate.Designer.cs
generated
Normal file
636
GamerServices/Systems/Forms/FormDevUpdate.Designer.cs
generated
Normal file
@ -0,0 +1,636 @@
|
||||
namespace GamerServices {
|
||||
partial class FormDevUpdate {
|
||||
/// <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.components = new System.ComponentModel.Container();
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
this.button6 = new System.Windows.Forms.Button();
|
||||
this.button2 = new System.Windows.Forms.Button();
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.listBox2 = new System.Windows.Forms.ListBox();
|
||||
this.listBox1 = new System.Windows.Forms.ListBox();
|
||||
this.button3 = new System.Windows.Forms.Button();
|
||||
this.progressBar1 = new System.Windows.Forms.ProgressBar();
|
||||
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
||||
this.button4 = new System.Windows.Forms.Button();
|
||||
this.labelHelp = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.textPath = new System.Windows.Forms.TextBox();
|
||||
this.comboCommand = new System.Windows.Forms.ComboBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.labelInfo = new System.Windows.Forms.Label();
|
||||
this.radioButton1 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton2 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton3 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton4 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton5 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton6 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton7 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton8 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton9 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton10 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton11 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton12 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton13 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton14 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton15 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton16 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton17 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton18 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton19 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton20 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton21 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton22 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton23 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton24 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton25 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton26 = new System.Windows.Forms.RadioButton();
|
||||
this.timer1 = new System.Windows.Forms.Timer(this.components);
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.groupBox2.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// groupBox1
|
||||
//
|
||||
this.groupBox1.Controls.Add(this.button6);
|
||||
this.groupBox1.Controls.Add(this.button2);
|
||||
this.groupBox1.Controls.Add(this.button1);
|
||||
this.groupBox1.Controls.Add(this.listBox2);
|
||||
this.groupBox1.Controls.Add(this.listBox1);
|
||||
this.groupBox1.Location = new System.Drawing.Point(12, 12);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(480, 292);
|
||||
this.groupBox1.TabIndex = 0;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "Files";
|
||||
//
|
||||
// button6
|
||||
//
|
||||
this.button6.Location = new System.Drawing.Point(247, 263);
|
||||
this.button6.Name = "button6";
|
||||
this.button6.Size = new System.Drawing.Size(111, 23);
|
||||
this.button6.TabIndex = 4;
|
||||
this.button6.Text = "Add Empty";
|
||||
this.button6.UseVisualStyleBackColor = true;
|
||||
this.button6.Click += new System.EventHandler(this.button6_Click);
|
||||
//
|
||||
// button2
|
||||
//
|
||||
this.button2.Location = new System.Drawing.Point(364, 263);
|
||||
this.button2.Name = "button2";
|
||||
this.button2.Size = new System.Drawing.Size(111, 23);
|
||||
this.button2.TabIndex = 3;
|
||||
this.button2.Text = "Remove";
|
||||
this.button2.UseVisualStyleBackColor = true;
|
||||
this.button2.Click += new System.EventHandler(this.button2_Click);
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Location = new System.Drawing.Point(6, 263);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(235, 23);
|
||||
this.button1.TabIndex = 2;
|
||||
this.button1.Text = "Add";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||
//
|
||||
// listBox2
|
||||
//
|
||||
this.listBox2.FormattingEnabled = true;
|
||||
this.listBox2.Location = new System.Drawing.Point(247, 19);
|
||||
this.listBox2.Name = "listBox2";
|
||||
this.listBox2.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
|
||||
this.listBox2.Size = new System.Drawing.Size(228, 238);
|
||||
this.listBox2.TabIndex = 1;
|
||||
this.listBox2.SelectedIndexChanged += new System.EventHandler(this.listBox2_SelectedIndexChanged);
|
||||
//
|
||||
// listBox1
|
||||
//
|
||||
this.listBox1.FormattingEnabled = true;
|
||||
this.listBox1.Location = new System.Drawing.Point(6, 19);
|
||||
this.listBox1.Name = "listBox1";
|
||||
this.listBox1.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
|
||||
this.listBox1.Size = new System.Drawing.Size(235, 238);
|
||||
this.listBox1.TabIndex = 0;
|
||||
this.listBox1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.listBox1_MouseDoubleClick);
|
||||
//
|
||||
// button3
|
||||
//
|
||||
this.button3.Enabled = false;
|
||||
this.button3.Location = new System.Drawing.Point(689, 242);
|
||||
this.button3.Name = "button3";
|
||||
this.button3.Size = new System.Drawing.Size(120, 62);
|
||||
this.button3.TabIndex = 4;
|
||||
this.button3.Text = "Create patch";
|
||||
this.button3.UseVisualStyleBackColor = true;
|
||||
this.button3.Click += new System.EventHandler(this.button3_Click);
|
||||
//
|
||||
// progressBar1
|
||||
//
|
||||
this.progressBar1.Location = new System.Drawing.Point(498, 242);
|
||||
this.progressBar1.Name = "progressBar1";
|
||||
this.progressBar1.Size = new System.Drawing.Size(182, 27);
|
||||
this.progressBar1.TabIndex = 1;
|
||||
//
|
||||
// groupBox2
|
||||
//
|
||||
this.groupBox2.Controls.Add(this.button4);
|
||||
this.groupBox2.Controls.Add(this.labelHelp);
|
||||
this.groupBox2.Controls.Add(this.label3);
|
||||
this.groupBox2.Controls.Add(this.label2);
|
||||
this.groupBox2.Controls.Add(this.textPath);
|
||||
this.groupBox2.Controls.Add(this.comboCommand);
|
||||
this.groupBox2.Controls.Add(this.label1);
|
||||
this.groupBox2.Enabled = false;
|
||||
this.groupBox2.Location = new System.Drawing.Point(498, 12);
|
||||
this.groupBox2.Name = "groupBox2";
|
||||
this.groupBox2.Size = new System.Drawing.Size(313, 182);
|
||||
this.groupBox2.TabIndex = 5;
|
||||
this.groupBox2.TabStop = false;
|
||||
this.groupBox2.Text = "Special Propreties";
|
||||
//
|
||||
// button4
|
||||
//
|
||||
this.button4.Location = new System.Drawing.Point(6, 152);
|
||||
this.button4.Name = "button4";
|
||||
this.button4.Size = new System.Drawing.Size(292, 23);
|
||||
this.button4.TabIndex = 6;
|
||||
this.button4.Text = "Save path change";
|
||||
this.button4.UseVisualStyleBackColor = true;
|
||||
this.button4.Click += new System.EventHandler(this.button4_Click);
|
||||
//
|
||||
// labelHelp
|
||||
//
|
||||
this.labelHelp.Location = new System.Drawing.Point(145, 45);
|
||||
this.labelHelp.Name = "labelHelp";
|
||||
this.labelHelp.Size = new System.Drawing.Size(153, 70);
|
||||
this.labelHelp.TabIndex = 5;
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(38, 40);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(32, 13);
|
||||
this.label3.TabIndex = 4;
|
||||
this.label3.Text = "Help:";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(13, 129);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(29, 13);
|
||||
this.label2.TabIndex = 3;
|
||||
this.label2.Text = "Path";
|
||||
//
|
||||
// textPath
|
||||
//
|
||||
this.textPath.Location = new System.Drawing.Point(70, 126);
|
||||
this.textPath.Name = "textPath";
|
||||
this.textPath.Size = new System.Drawing.Size(228, 20);
|
||||
this.textPath.TabIndex = 2;
|
||||
//
|
||||
// comboCommand
|
||||
//
|
||||
this.comboCommand.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.comboCommand.FormattingEnabled = true;
|
||||
this.comboCommand.Items.AddRange(new object[] {
|
||||
"ADD",
|
||||
"DEL",
|
||||
"MDR",
|
||||
"MNF"});
|
||||
this.comboCommand.Location = new System.Drawing.Point(145, 16);
|
||||
this.comboCommand.Name = "comboCommand";
|
||||
this.comboCommand.Size = new System.Drawing.Size(153, 21);
|
||||
this.comboCommand.TabIndex = 1;
|
||||
this.comboCommand.SelectedIndexChanged += new System.EventHandler(this.comboCommand_SelectedIndexChanged);
|
||||
this.comboCommand.SelectionChangeCommitted += new System.EventHandler(this.comboCommand_SelectionChangeCommitted);
|
||||
this.comboCommand.SelectedValueChanged += new System.EventHandler(this.comboCommand_SelectedValueChanged);
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(21, 19);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(54, 13);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "Command";
|
||||
//
|
||||
// labelInfo
|
||||
//
|
||||
this.labelInfo.AutoSize = true;
|
||||
this.labelInfo.Location = new System.Drawing.Point(496, 217);
|
||||
this.labelInfo.Name = "labelInfo";
|
||||
this.labelInfo.Size = new System.Drawing.Size(0, 13);
|
||||
this.labelInfo.TabIndex = 6;
|
||||
//
|
||||
// radioButton1
|
||||
//
|
||||
this.radioButton1.AutoSize = true;
|
||||
this.radioButton1.Enabled = false;
|
||||
this.radioButton1.Location = new System.Drawing.Point(498, 275);
|
||||
this.radioButton1.Name = "radioButton1";
|
||||
this.radioButton1.Size = new System.Drawing.Size(14, 13);
|
||||
this.radioButton1.TabIndex = 9;
|
||||
this.radioButton1.TabStop = true;
|
||||
this.radioButton1.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButton2
|
||||
//
|
||||
this.radioButton2.AutoSize = true;
|
||||
this.radioButton2.Enabled = false;
|
||||
this.radioButton2.Location = new System.Drawing.Point(512, 275);
|
||||
this.radioButton2.Name = "radioButton2";
|
||||
this.radioButton2.Size = new System.Drawing.Size(14, 13);
|
||||
this.radioButton2.TabIndex = 10;
|
||||
this.radioButton2.TabStop = true;
|
||||
this.radioButton2.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButton3
|
||||
//
|
||||
this.radioButton3.AutoSize = true;
|
||||
this.radioButton3.Enabled = false;
|
||||
this.radioButton3.Location = new System.Drawing.Point(526, 275);
|
||||
this.radioButton3.Name = "radioButton3";
|
||||
this.radioButton3.Size = new System.Drawing.Size(14, 13);
|
||||
this.radioButton3.TabIndex = 11;
|
||||
this.radioButton3.TabStop = true;
|
||||
this.radioButton3.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButton4
|
||||
//
|
||||
this.radioButton4.AutoSize = true;
|
||||
this.radioButton4.Enabled = false;
|
||||
this.radioButton4.Location = new System.Drawing.Point(540, 275);
|
||||
this.radioButton4.Name = "radioButton4";
|
||||
this.radioButton4.Size = new System.Drawing.Size(14, 13);
|
||||
this.radioButton4.TabIndex = 12;
|
||||
this.radioButton4.TabStop = true;
|
||||
this.radioButton4.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButton5
|
||||
//
|
||||
this.radioButton5.AutoSize = true;
|
||||
this.radioButton5.Enabled = false;
|
||||
this.radioButton5.Location = new System.Drawing.Point(554, 275);
|
||||
this.radioButton5.Name = "radioButton5";
|
||||
this.radioButton5.Size = new System.Drawing.Size(14, 13);
|
||||
this.radioButton5.TabIndex = 13;
|
||||
this.radioButton5.TabStop = true;
|
||||
this.radioButton5.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButton6
|
||||
//
|
||||
this.radioButton6.AutoSize = true;
|
||||
this.radioButton6.Enabled = false;
|
||||
this.radioButton6.Location = new System.Drawing.Point(568, 275);
|
||||
this.radioButton6.Name = "radioButton6";
|
||||
this.radioButton6.Size = new System.Drawing.Size(14, 13);
|
||||
this.radioButton6.TabIndex = 14;
|
||||
this.radioButton6.TabStop = true;
|
||||
this.radioButton6.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButton7
|
||||
//
|
||||
this.radioButton7.AutoSize = true;
|
||||
this.radioButton7.Enabled = false;
|
||||
this.radioButton7.Location = new System.Drawing.Point(582, 275);
|
||||
this.radioButton7.Name = "radioButton7";
|
||||
this.radioButton7.Size = new System.Drawing.Size(14, 13);
|
||||
this.radioButton7.TabIndex = 15;
|
||||
this.radioButton7.TabStop = true;
|
||||
this.radioButton7.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButton8
|
||||
//
|
||||
this.radioButton8.AutoSize = true;
|
||||
this.radioButton8.Enabled = false;
|
||||
this.radioButton8.Location = new System.Drawing.Point(596, 275);
|
||||
this.radioButton8.Name = "radioButton8";
|
||||
this.radioButton8.Size = new System.Drawing.Size(14, 13);
|
||||
this.radioButton8.TabIndex = 16;
|
||||
this.radioButton8.TabStop = true;
|
||||
this.radioButton8.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButton9
|
||||
//
|
||||
this.radioButton9.AutoSize = true;
|
||||
this.radioButton9.Enabled = false;
|
||||
this.radioButton9.Location = new System.Drawing.Point(610, 275);
|
||||
this.radioButton9.Name = "radioButton9";
|
||||
this.radioButton9.Size = new System.Drawing.Size(14, 13);
|
||||
this.radioButton9.TabIndex = 17;
|
||||
this.radioButton9.TabStop = true;
|
||||
this.radioButton9.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButton10
|
||||
//
|
||||
this.radioButton10.AutoSize = true;
|
||||
this.radioButton10.Enabled = false;
|
||||
this.radioButton10.Location = new System.Drawing.Point(624, 275);
|
||||
this.radioButton10.Name = "radioButton10";
|
||||
this.radioButton10.Size = new System.Drawing.Size(14, 13);
|
||||
this.radioButton10.TabIndex = 18;
|
||||
this.radioButton10.TabStop = true;
|
||||
this.radioButton10.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButton11
|
||||
//
|
||||
this.radioButton11.AutoSize = true;
|
||||
this.radioButton11.Enabled = false;
|
||||
this.radioButton11.Location = new System.Drawing.Point(638, 275);
|
||||
this.radioButton11.Name = "radioButton11";
|
||||
this.radioButton11.Size = new System.Drawing.Size(14, 13);
|
||||
this.radioButton11.TabIndex = 19;
|
||||
this.radioButton11.TabStop = true;
|
||||
this.radioButton11.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButton12
|
||||
//
|
||||
this.radioButton12.AutoSize = true;
|
||||
this.radioButton12.Enabled = false;
|
||||
this.radioButton12.Location = new System.Drawing.Point(652, 275);
|
||||
this.radioButton12.Name = "radioButton12";
|
||||
this.radioButton12.Size = new System.Drawing.Size(14, 13);
|
||||
this.radioButton12.TabIndex = 20;
|
||||
this.radioButton12.TabStop = true;
|
||||
this.radioButton12.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButton13
|
||||
//
|
||||
this.radioButton13.AutoSize = true;
|
||||
this.radioButton13.Enabled = false;
|
||||
this.radioButton13.Location = new System.Drawing.Point(666, 275);
|
||||
this.radioButton13.Name = "radioButton13";
|
||||
this.radioButton13.Size = new System.Drawing.Size(14, 13);
|
||||
this.radioButton13.TabIndex = 21;
|
||||
this.radioButton13.TabStop = true;
|
||||
this.radioButton13.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButton14
|
||||
//
|
||||
this.radioButton14.AutoSize = true;
|
||||
this.radioButton14.Enabled = false;
|
||||
this.radioButton14.Location = new System.Drawing.Point(666, 291);
|
||||
this.radioButton14.Name = "radioButton14";
|
||||
this.radioButton14.Size = new System.Drawing.Size(14, 13);
|
||||
this.radioButton14.TabIndex = 34;
|
||||
this.radioButton14.TabStop = true;
|
||||
this.radioButton14.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButton15
|
||||
//
|
||||
this.radioButton15.AutoSize = true;
|
||||
this.radioButton15.Enabled = false;
|
||||
this.radioButton15.Location = new System.Drawing.Point(652, 291);
|
||||
this.radioButton15.Name = "radioButton15";
|
||||
this.radioButton15.Size = new System.Drawing.Size(14, 13);
|
||||
this.radioButton15.TabIndex = 33;
|
||||
this.radioButton15.TabStop = true;
|
||||
this.radioButton15.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButton16
|
||||
//
|
||||
this.radioButton16.AutoSize = true;
|
||||
this.radioButton16.Enabled = false;
|
||||
this.radioButton16.Location = new System.Drawing.Point(638, 291);
|
||||
this.radioButton16.Name = "radioButton16";
|
||||
this.radioButton16.Size = new System.Drawing.Size(14, 13);
|
||||
this.radioButton16.TabIndex = 32;
|
||||
this.radioButton16.TabStop = true;
|
||||
this.radioButton16.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButton17
|
||||
//
|
||||
this.radioButton17.AutoSize = true;
|
||||
this.radioButton17.Enabled = false;
|
||||
this.radioButton17.Location = new System.Drawing.Point(624, 291);
|
||||
this.radioButton17.Name = "radioButton17";
|
||||
this.radioButton17.Size = new System.Drawing.Size(14, 13);
|
||||
this.radioButton17.TabIndex = 31;
|
||||
this.radioButton17.TabStop = true;
|
||||
this.radioButton17.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButton18
|
||||
//
|
||||
this.radioButton18.AutoSize = true;
|
||||
this.radioButton18.Enabled = false;
|
||||
this.radioButton18.Location = new System.Drawing.Point(610, 291);
|
||||
this.radioButton18.Name = "radioButton18";
|
||||
this.radioButton18.Size = new System.Drawing.Size(14, 13);
|
||||
this.radioButton18.TabIndex = 30;
|
||||
this.radioButton18.TabStop = true;
|
||||
this.radioButton18.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButton19
|
||||
//
|
||||
this.radioButton19.AutoSize = true;
|
||||
this.radioButton19.Enabled = false;
|
||||
this.radioButton19.Location = new System.Drawing.Point(596, 291);
|
||||
this.radioButton19.Name = "radioButton19";
|
||||
this.radioButton19.Size = new System.Drawing.Size(14, 13);
|
||||
this.radioButton19.TabIndex = 29;
|
||||
this.radioButton19.TabStop = true;
|
||||
this.radioButton19.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButton20
|
||||
//
|
||||
this.radioButton20.AutoSize = true;
|
||||
this.radioButton20.Enabled = false;
|
||||
this.radioButton20.Location = new System.Drawing.Point(582, 291);
|
||||
this.radioButton20.Name = "radioButton20";
|
||||
this.radioButton20.Size = new System.Drawing.Size(14, 13);
|
||||
this.radioButton20.TabIndex = 28;
|
||||
this.radioButton20.TabStop = true;
|
||||
this.radioButton20.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButton21
|
||||
//
|
||||
this.radioButton21.AutoSize = true;
|
||||
this.radioButton21.Enabled = false;
|
||||
this.radioButton21.Location = new System.Drawing.Point(568, 291);
|
||||
this.radioButton21.Name = "radioButton21";
|
||||
this.radioButton21.Size = new System.Drawing.Size(14, 13);
|
||||
this.radioButton21.TabIndex = 27;
|
||||
this.radioButton21.TabStop = true;
|
||||
this.radioButton21.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButton22
|
||||
//
|
||||
this.radioButton22.AutoSize = true;
|
||||
this.radioButton22.Enabled = false;
|
||||
this.radioButton22.Location = new System.Drawing.Point(554, 291);
|
||||
this.radioButton22.Name = "radioButton22";
|
||||
this.radioButton22.Size = new System.Drawing.Size(14, 13);
|
||||
this.radioButton22.TabIndex = 26;
|
||||
this.radioButton22.TabStop = true;
|
||||
this.radioButton22.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButton23
|
||||
//
|
||||
this.radioButton23.AutoSize = true;
|
||||
this.radioButton23.Enabled = false;
|
||||
this.radioButton23.Location = new System.Drawing.Point(540, 291);
|
||||
this.radioButton23.Name = "radioButton23";
|
||||
this.radioButton23.Size = new System.Drawing.Size(14, 13);
|
||||
this.radioButton23.TabIndex = 25;
|
||||
this.radioButton23.TabStop = true;
|
||||
this.radioButton23.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButton24
|
||||
//
|
||||
this.radioButton24.AutoSize = true;
|
||||
this.radioButton24.Enabled = false;
|
||||
this.radioButton24.Location = new System.Drawing.Point(526, 291);
|
||||
this.radioButton24.Name = "radioButton24";
|
||||
this.radioButton24.Size = new System.Drawing.Size(14, 13);
|
||||
this.radioButton24.TabIndex = 24;
|
||||
this.radioButton24.TabStop = true;
|
||||
this.radioButton24.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButton25
|
||||
//
|
||||
this.radioButton25.AutoSize = true;
|
||||
this.radioButton25.Enabled = false;
|
||||
this.radioButton25.Location = new System.Drawing.Point(512, 291);
|
||||
this.radioButton25.Name = "radioButton25";
|
||||
this.radioButton25.Size = new System.Drawing.Size(14, 13);
|
||||
this.radioButton25.TabIndex = 23;
|
||||
this.radioButton25.TabStop = true;
|
||||
this.radioButton25.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButton26
|
||||
//
|
||||
this.radioButton26.AutoSize = true;
|
||||
this.radioButton26.Enabled = false;
|
||||
this.radioButton26.Location = new System.Drawing.Point(498, 291);
|
||||
this.radioButton26.Name = "radioButton26";
|
||||
this.radioButton26.Size = new System.Drawing.Size(14, 13);
|
||||
this.radioButton26.TabIndex = 22;
|
||||
this.radioButton26.TabStop = true;
|
||||
this.radioButton26.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// timer1
|
||||
//
|
||||
this.timer1.Interval = 75;
|
||||
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
|
||||
//
|
||||
// FormDevUpdate
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(823, 312);
|
||||
this.Controls.Add(this.radioButton14);
|
||||
this.Controls.Add(this.radioButton15);
|
||||
this.Controls.Add(this.radioButton16);
|
||||
this.Controls.Add(this.radioButton17);
|
||||
this.Controls.Add(this.radioButton18);
|
||||
this.Controls.Add(this.radioButton19);
|
||||
this.Controls.Add(this.radioButton20);
|
||||
this.Controls.Add(this.radioButton21);
|
||||
this.Controls.Add(this.radioButton22);
|
||||
this.Controls.Add(this.radioButton23);
|
||||
this.Controls.Add(this.radioButton24);
|
||||
this.Controls.Add(this.radioButton25);
|
||||
this.Controls.Add(this.radioButton26);
|
||||
this.Controls.Add(this.radioButton13);
|
||||
this.Controls.Add(this.radioButton12);
|
||||
this.Controls.Add(this.radioButton11);
|
||||
this.Controls.Add(this.radioButton10);
|
||||
this.Controls.Add(this.radioButton9);
|
||||
this.Controls.Add(this.radioButton8);
|
||||
this.Controls.Add(this.radioButton7);
|
||||
this.Controls.Add(this.radioButton6);
|
||||
this.Controls.Add(this.radioButton5);
|
||||
this.Controls.Add(this.radioButton4);
|
||||
this.Controls.Add(this.radioButton3);
|
||||
this.Controls.Add(this.radioButton2);
|
||||
this.Controls.Add(this.radioButton1);
|
||||
this.Controls.Add(this.labelInfo);
|
||||
this.Controls.Add(this.groupBox2);
|
||||
this.Controls.Add(this.button3);
|
||||
this.Controls.Add(this.progressBar1);
|
||||
this.Controls.Add(this.groupBox1);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
|
||||
this.Name = "FormDevUpdate";
|
||||
this.Text = "Update manager";
|
||||
this.Load += new System.EventHandler(this.FormDevUpdate_Load);
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.groupBox2.ResumeLayout(false);
|
||||
this.groupBox2.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.GroupBox groupBox1;
|
||||
private System.Windows.Forms.Button button3;
|
||||
private System.Windows.Forms.Button button2;
|
||||
private System.Windows.Forms.Button button1;
|
||||
private System.Windows.Forms.ListBox listBox2;
|
||||
private System.Windows.Forms.ListBox listBox1;
|
||||
private System.Windows.Forms.ProgressBar progressBar1;
|
||||
private System.Windows.Forms.GroupBox groupBox2;
|
||||
private System.Windows.Forms.Button button6;
|
||||
private System.Windows.Forms.Button button4;
|
||||
private System.Windows.Forms.Label labelHelp;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.TextBox textPath;
|
||||
private System.Windows.Forms.ComboBox comboCommand;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label labelInfo;
|
||||
private System.Windows.Forms.RadioButton radioButton1;
|
||||
private System.Windows.Forms.RadioButton radioButton2;
|
||||
private System.Windows.Forms.RadioButton radioButton3;
|
||||
private System.Windows.Forms.RadioButton radioButton4;
|
||||
private System.Windows.Forms.RadioButton radioButton5;
|
||||
private System.Windows.Forms.RadioButton radioButton6;
|
||||
private System.Windows.Forms.RadioButton radioButton7;
|
||||
private System.Windows.Forms.RadioButton radioButton8;
|
||||
private System.Windows.Forms.RadioButton radioButton9;
|
||||
private System.Windows.Forms.RadioButton radioButton10;
|
||||
private System.Windows.Forms.RadioButton radioButton11;
|
||||
private System.Windows.Forms.RadioButton radioButton12;
|
||||
private System.Windows.Forms.RadioButton radioButton13;
|
||||
private System.Windows.Forms.RadioButton radioButton14;
|
||||
private System.Windows.Forms.RadioButton radioButton15;
|
||||
private System.Windows.Forms.RadioButton radioButton16;
|
||||
private System.Windows.Forms.RadioButton radioButton17;
|
||||
private System.Windows.Forms.RadioButton radioButton18;
|
||||
private System.Windows.Forms.RadioButton radioButton19;
|
||||
private System.Windows.Forms.RadioButton radioButton20;
|
||||
private System.Windows.Forms.RadioButton radioButton21;
|
||||
private System.Windows.Forms.RadioButton radioButton22;
|
||||
private System.Windows.Forms.RadioButton radioButton23;
|
||||
private System.Windows.Forms.RadioButton radioButton24;
|
||||
private System.Windows.Forms.RadioButton radioButton25;
|
||||
private System.Windows.Forms.RadioButton radioButton26;
|
||||
private System.Windows.Forms.Timer timer1;
|
||||
}
|
||||
}
|
867
GamerServices/Systems/Forms/FormDevUpdate.cs
Normal file
867
GamerServices/Systems/Forms/FormDevUpdate.cs
Normal file
@ -0,0 +1,867 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
using System.IO.Compression;
|
||||
|
||||
using ICSharpCode.SharpZipLib.Tar;
|
||||
using System.Net;
|
||||
using System.Collections.Specialized;
|
||||
|
||||
namespace GamerServices {
|
||||
public partial class FormDevUpdate : Form {
|
||||
class Prop{
|
||||
public String Path;
|
||||
public String Action;
|
||||
}
|
||||
|
||||
private Game G;
|
||||
private String CurPath = "";
|
||||
private List<Prop> Props = new List<Prop>();
|
||||
|
||||
public FormDevUpdate(Game g) {
|
||||
G = g;
|
||||
|
||||
CurPath = "";
|
||||
|
||||
CheckForIllegalCrossThreadCalls = false;
|
||||
|
||||
this.Icon = G.Main.Icon;
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void FormDevUpdate_Load(object sender, EventArgs e) {
|
||||
listBox1.Items.Clear();
|
||||
listBox2.Items.Clear();
|
||||
|
||||
Browse();
|
||||
}
|
||||
|
||||
private void Browse() {
|
||||
try {
|
||||
string startdir = Directory.GetCurrentDirectory() + "/Games/" + G.GameID + "/";
|
||||
int startpos = startdir.Length;
|
||||
|
||||
listBox1.Items.Clear();
|
||||
|
||||
|
||||
int slashes = 0;
|
||||
int lastshalsh = CurPath.IndexOf("/");
|
||||
while(lastshalsh > -1){
|
||||
slashes++;
|
||||
lastshalsh = CurPath.IndexOf("/", lastshalsh + 1);
|
||||
}
|
||||
|
||||
if (slashes > 0) {
|
||||
listBox1.Items.Add("...");
|
||||
}
|
||||
|
||||
foreach (string dir in Directory.GetDirectories(startdir + CurPath)) {
|
||||
listBox1.Items.Add(dir.Substring(startpos + CurPath.Length));
|
||||
}
|
||||
|
||||
foreach (string file in Directory.GetFiles(startdir + CurPath)) {
|
||||
if (!(CurPath == "" && file.Substring(startpos + CurPath.Length) == "version.txt")) {
|
||||
listBox1.Items.Add(file.Substring(startpos + CurPath.Length));
|
||||
}
|
||||
}
|
||||
} catch(Exception e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void listBox1_MouseDoubleClick(object sender, MouseEventArgs e) {
|
||||
if ((string)listBox1.SelectedItem == "...") {
|
||||
string[] splited = CurPath.Split('/');
|
||||
CurPath = "";
|
||||
if (splited.Length > 1) {
|
||||
for (int i = 0; i < splited.Length - 2; i++ ) {
|
||||
CurPath += splited[i] + "/";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (Directory.Exists(Directory.GetCurrentDirectory() + "/Games/" + G.GameID + "/" + CurPath + (string)listBox1.SelectedItem))
|
||||
CurPath += (string)listBox1.SelectedItem + "/";
|
||||
else
|
||||
additem(CurPath + (string)listBox1.SelectedItem);
|
||||
}
|
||||
|
||||
Browse();
|
||||
}
|
||||
|
||||
private void button3_Click(object sender, EventArgs e) {
|
||||
groupBox1.Enabled = false;
|
||||
groupBox2.Enabled = false;
|
||||
button3.Enabled = false;
|
||||
timer1.Enabled = true;
|
||||
|
||||
new System.Threading.Thread(new System.Threading.ThreadStart(TarMaker)).Start();
|
||||
}
|
||||
|
||||
private void TarMaker() {
|
||||
progressBar1.Value = 0;
|
||||
|
||||
|
||||
string updatedata = "";
|
||||
string root = Directory.GetCurrentDirectory() + "/Games/" + G.GameID + "/";
|
||||
string newver = "";
|
||||
|
||||
labelInfo.Text = "Recieving latest version info...";
|
||||
|
||||
try {
|
||||
System.Net.WebClient client = new System.Net.WebClient();
|
||||
client.Proxy = null;
|
||||
string[] verdata = new StreamReader(client.OpenRead("http://" + "gs.mrag.nl/download.php?gid=" + G.GameID + "&file=updates.txt")).ReadToEnd().Replace("\r", "").Split('\n');
|
||||
|
||||
foreach (string line in verdata){
|
||||
if (line.Length > 0) {
|
||||
string[] args = null;
|
||||
if (line.Contains("=")) args = line.Split('=');
|
||||
|
||||
if (line.TrimStart('\t', ' ').StartsWith("#")){
|
||||
}else if (args[0] == "VER"){
|
||||
short[] splitver = new short[4];
|
||||
string[] tmp = args[1].Split('.');
|
||||
|
||||
for (int i = 0; i < tmp.Length; i++)
|
||||
splitver[i] = byte.Parse(tmp[i]);
|
||||
|
||||
splitver[3]++;
|
||||
for (int i = 2; i > -1; i--) {
|
||||
if (splitver[i + 1] > 255) {
|
||||
splitver[i]++;
|
||||
splitver[i + 1] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
newver = splitver[0] + "." + splitver[1] + "." + splitver[2] + "." + splitver[3];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch {
|
||||
newver = "0.0.0.0";
|
||||
}
|
||||
|
||||
labelInfo.Text = "Initializing version " + newver;
|
||||
string newverfile = root + "update-" + newver.Replace('.', '_');
|
||||
updatedata = "VER=" + newver;
|
||||
|
||||
labelInfo.Text = "Removing old files...";
|
||||
while (true) {
|
||||
try {
|
||||
if (File.Exists(newverfile + ".tar"))
|
||||
File.Delete(newverfile + ".tar");
|
||||
|
||||
if (File.Exists(newverfile + ".txt"))
|
||||
File.Delete(newverfile + ".txt");
|
||||
|
||||
break;
|
||||
} catch (Exception e){
|
||||
if (MessageBox.Show(e.Message, "Error while removing old version files!", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error) != DialogResult.Retry) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
labelInfo.Text = "Counting total file size...";
|
||||
int totalsize = 0;
|
||||
for (int i = 0; i < Props.Count; i++) {
|
||||
if (Props[i].Action == "ADD") {
|
||||
while (true) {
|
||||
try {
|
||||
totalsize += (int)new FileInfo(root + (string)listBox2.Items[i]).Length;
|
||||
updatedata += "\r\n" + Props[i].Action + "=" + Props[i].Path;
|
||||
break;
|
||||
} catch(Exception e) {
|
||||
if (MessageBox.Show(e.Message, "Error while reading filesize!", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error) != DialogResult.Retry) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}else
|
||||
updatedata += "\r\n" + Props[i].Action + "=" + Props[i].Path;
|
||||
}
|
||||
|
||||
progressBar1.Minimum = 0;
|
||||
progressBar1.Maximum = totalsize;
|
||||
|
||||
using (TarOutputStream tarOutputStream = new TarOutputStream(File.Create(newverfile + ".tar"))) {
|
||||
while (Props.Count > 0) {
|
||||
labelInfo.Text = "Writing tar file... " + Props[0].Path;
|
||||
listBox2.ClearSelected();
|
||||
listBox2.SetSelected(0, true);
|
||||
listBox2.SetSelected(0, false);
|
||||
|
||||
if (Props[0].Action == "ADD") {
|
||||
while (true) {
|
||||
try {
|
||||
FileInfo info = new FileInfo(root + Props[0].Path);
|
||||
|
||||
using (Stream inputStream = File.OpenRead(root + Props[0].Path)) {
|
||||
long fileSize = inputStream.Length;
|
||||
TarEntry entry = TarEntry.CreateTarEntry(Props[0].Path.Replace("\\", "/"));
|
||||
entry.Size = fileSize;
|
||||
|
||||
tarOutputStream.PutNextEntry(entry);
|
||||
|
||||
byte[ ] localBuffer = new byte[32 * 1024];
|
||||
while (true) {
|
||||
int numRead = inputStream.Read(localBuffer, 0, localBuffer.Length);
|
||||
if (numRead <= 0) {
|
||||
break;
|
||||
}
|
||||
tarOutputStream.Write(localBuffer, 0, numRead);
|
||||
}
|
||||
}
|
||||
|
||||
tarOutputStream.CloseEntry();
|
||||
|
||||
progressBar1.Increment((int)info.Length);
|
||||
break;
|
||||
} catch(Exception e) {
|
||||
if (MessageBox.Show(e.Message, "Error while parsing file!", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error) != DialogResult.Retry) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
listBox2.Items.RemoveAt(0);
|
||||
Props.RemoveAt(0);
|
||||
}
|
||||
labelInfo.Text = "Saving tar file... ";
|
||||
}
|
||||
|
||||
labelInfo.Text = "Writing patch config...";
|
||||
File.WriteAllText(newverfile + ".txt", updatedata);
|
||||
|
||||
labelInfo.Text = "Initializing upload...";
|
||||
button2.Tag = Math.Round((double)new FileInfo(newverfile + ".tar").Length / 1024 / 1024, 3).ToString();
|
||||
button3.Tag = newver;
|
||||
|
||||
new System.Threading.Thread(new System.Threading.ThreadStart(Upload)).Start();
|
||||
}
|
||||
|
||||
private void button2_Click(object sender, EventArgs e) {
|
||||
for (int i = 0; i < listBox2.SelectedItems.Count; i++){
|
||||
for (int i2 = 0; i2 < Props.Count; i2++) {
|
||||
if (Props[i2].Path == (string)listBox2.SelectedItems[i]){
|
||||
Props.RemoveAt(i2);
|
||||
break;
|
||||
}
|
||||
}
|
||||
listBox2.Items.Remove((string)listBox2.SelectedItems[i]);
|
||||
i--;
|
||||
}
|
||||
|
||||
if (listBox2.Items.Count == 0)
|
||||
button3.Enabled = false;
|
||||
}
|
||||
|
||||
private void button1_Click(object sender, EventArgs e) {
|
||||
foreach (object obj in listBox1.SelectedItems) {
|
||||
additem(CurPath + (string)obj);
|
||||
|
||||
if (Directory.Exists(Directory.GetCurrentDirectory() + "/Games/" + G.GameID + "/" + CurPath + (string)obj)) {
|
||||
adddir(CurPath + (string)obj);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void adddir(string addpath) {
|
||||
string startdir = Directory.GetCurrentDirectory() + "/Games/" + G.GameID + "/" + addpath;
|
||||
string reppath = Directory.GetCurrentDirectory() + "/Games/" + G.GameID + "/";
|
||||
int startpos = reppath.Length;
|
||||
|
||||
foreach (string dir in Directory.GetDirectories(startdir)) {
|
||||
additem(dir.Substring(startpos));
|
||||
adddir(dir.Substring(startpos));
|
||||
}
|
||||
|
||||
foreach (string file in Directory.GetFiles(startdir)) {
|
||||
additem(file.Substring(startpos));
|
||||
}
|
||||
}
|
||||
|
||||
private void additem(string item) {
|
||||
if (!listBox2.Items.Contains(item)) {
|
||||
string itempath = Directory.GetCurrentDirectory() + "/Games/" + G.GameID + "/" + item;
|
||||
|
||||
Prop p = new Prop();
|
||||
p.Path = item;
|
||||
p.Action = Directory.Exists(itempath) ? "MDR" : File.Exists(itempath) ? "ADD" : "MNF";
|
||||
Props.Add(p);
|
||||
|
||||
|
||||
listBox2.Items.Add(item);
|
||||
listBox2.ClearSelected();
|
||||
listBox2.SetSelected(listBox2.Items.Count - 1, true);
|
||||
listBox2.SetSelected(listBox2.Items.Count - 1, false);
|
||||
|
||||
button3.Enabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void listBox2_SelectedIndexChanged(object sender, EventArgs e) {
|
||||
if (listBox2.SelectedItems.Count > 0){
|
||||
string defcmd = "";
|
||||
foreach (Prop p in Props) {
|
||||
if ((string)listBox2.SelectedItems[0] == p.Path) {
|
||||
defcmd = p.Action;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (listBox2.SelectedItems.Count > 1) {
|
||||
foreach (string itm in listBox2.SelectedItems) {
|
||||
foreach (Prop p in Props) {
|
||||
if (itm == p.Path) {
|
||||
if (p.Action != defcmd) {
|
||||
defcmd = "*";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (defcmd == "*")
|
||||
break;
|
||||
}
|
||||
|
||||
comboCommand.Text = defcmd;
|
||||
textPath.Text = "*";
|
||||
} else {
|
||||
comboCommand.Text = Props[listBox2.Items.IndexOf((string)listBox2.SelectedItems[0])].Action;
|
||||
textPath.Text = (string)listBox2.SelectedItems[0];
|
||||
}
|
||||
|
||||
switch (comboCommand.Text) {
|
||||
case "ADD":
|
||||
labelHelp.Text = "Adds a new file to the folder, if it already exists it wil be overwritten.";
|
||||
break;
|
||||
|
||||
case "DEL":
|
||||
labelHelp.Text = "Deletes a file/folder.";
|
||||
break;
|
||||
|
||||
case "MNF":
|
||||
labelHelp.Text = "Creates a new empty file.";
|
||||
break;
|
||||
|
||||
case "MDR":
|
||||
labelHelp.Text = "Creates an folder.";
|
||||
break;
|
||||
}
|
||||
|
||||
groupBox2.Enabled = true;
|
||||
}else
|
||||
groupBox2.Enabled = false;
|
||||
}
|
||||
|
||||
private void button6_Click(object sender, EventArgs e) {
|
||||
additem("Empty");
|
||||
}
|
||||
|
||||
private void button4_Click(object sender, EventArgs e) {
|
||||
Props[listBox2.SelectedIndex].Action = comboCommand.Text;
|
||||
Props[listBox2.SelectedIndex].Path = textPath.Text;
|
||||
listBox2.Items[listBox2.SelectedIndex] = textPath.Text;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void comboCommand_SelectionChangeCommitted(object sender, EventArgs e) {
|
||||
foreach (string itm in listBox2.SelectedItems) {
|
||||
foreach (Prop p in Props) {
|
||||
if (itm == p.Path) {
|
||||
p.Action = comboCommand.Text;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void comboCommand_SelectedIndexChanged(object sender, EventArgs e) {
|
||||
|
||||
}
|
||||
|
||||
private void Upload(){
|
||||
WebClient wClient = new WebClient();
|
||||
wClient.Proxy = null;
|
||||
|
||||
labelInfo.Text = "Uploading new version file...";
|
||||
string[] txt = null;
|
||||
int failsafe = 0;
|
||||
while (failsafe < 3) {
|
||||
try {
|
||||
txt = MyUploader(Directory.GetCurrentDirectory() + "/Games/" + G.GameID + "/" + "update-" + (button3.Tag as string).Replace('.', '_') + ".txt", "http://" + "gs.mrag.nl/api/" + G.Main.Sessionkey + "/txt/" + G.GameID).Split('\n');
|
||||
break;
|
||||
} catch {
|
||||
failsafe++;
|
||||
}
|
||||
}
|
||||
|
||||
if (failsafe > 2) {
|
||||
G.Main.Error(txt[1]);
|
||||
labelInfo.Text = "Failed to upload new patch, the WebRequest was rejected by the server.";
|
||||
|
||||
groupBox1.Enabled = true;
|
||||
groupBox2.Enabled = true;
|
||||
timer1.Enabled = false;
|
||||
|
||||
timeranimation = 0;
|
||||
radioButton1.Checked = false;
|
||||
radioButton2.Checked = false;
|
||||
radioButton3.Checked = false;
|
||||
radioButton4.Checked = false;
|
||||
radioButton5.Checked = false;
|
||||
radioButton6.Checked = false;
|
||||
radioButton7.Checked = false;
|
||||
radioButton8.Checked = false;
|
||||
radioButton9.Checked = false;
|
||||
radioButton10.Checked = false;
|
||||
radioButton11.Checked = false;
|
||||
radioButton12.Checked = false;
|
||||
radioButton13.Checked = false;
|
||||
radioButton14.Checked = false;
|
||||
radioButton15.Checked = false;
|
||||
radioButton16.Checked = false;
|
||||
radioButton17.Checked = false;
|
||||
radioButton18.Checked = false;
|
||||
radioButton19.Checked = false;
|
||||
radioButton20.Checked = false;
|
||||
radioButton21.Checked = false;
|
||||
radioButton22.Checked = false;
|
||||
radioButton23.Checked = false;
|
||||
radioButton24.Checked = false;
|
||||
radioButton25.Checked = false;
|
||||
radioButton26.Checked = false;
|
||||
return;
|
||||
}
|
||||
|
||||
if (txt[0] == "no") {
|
||||
G.Main.Error(txt[1]);
|
||||
labelInfo.Text = "Failed!";
|
||||
|
||||
groupBox1.Enabled = true;
|
||||
groupBox2.Enabled = true;
|
||||
timer1.Enabled = false;
|
||||
|
||||
timeranimation = 0;
|
||||
radioButton1.Checked = false;
|
||||
radioButton2.Checked = false;
|
||||
radioButton3.Checked = false;
|
||||
radioButton4.Checked = false;
|
||||
radioButton5.Checked = false;
|
||||
radioButton6.Checked = false;
|
||||
radioButton7.Checked = false;
|
||||
radioButton8.Checked = false;
|
||||
radioButton9.Checked = false;
|
||||
radioButton10.Checked = false;
|
||||
radioButton11.Checked = false;
|
||||
radioButton12.Checked = false;
|
||||
radioButton13.Checked = false;
|
||||
radioButton14.Checked = false;
|
||||
radioButton15.Checked = false;
|
||||
radioButton16.Checked = false;
|
||||
radioButton17.Checked = false;
|
||||
radioButton18.Checked = false;
|
||||
radioButton19.Checked = false;
|
||||
radioButton20.Checked = false;
|
||||
radioButton21.Checked = false;
|
||||
radioButton22.Checked = false;
|
||||
radioButton23.Checked = false;
|
||||
radioButton24.Checked = false;
|
||||
radioButton25.Checked = false;
|
||||
radioButton26.Checked = false;
|
||||
return;
|
||||
}
|
||||
|
||||
labelInfo.Text = "Uploading new patch...";
|
||||
string[] tar = null;
|
||||
failsafe = 0;
|
||||
while (failsafe < 3) {
|
||||
try {
|
||||
tar = MyUploader(Directory.GetCurrentDirectory() + "/Games/" + G.GameID + "/" + "update-" + (button3.Tag as string).Replace('.', '_') + ".tar", "http://" + "gs.mrag.nl/api/" + G.Main.Sessionkey + "/tar/" + G.GameID).Split('\n');
|
||||
break;
|
||||
} catch {
|
||||
failsafe++;
|
||||
}
|
||||
}
|
||||
|
||||
if (failsafe > 2) {
|
||||
G.Main.Error(txt[1]);
|
||||
labelInfo.Text = "Failed to upload new patch, the WebRequest was rejected by the server.";
|
||||
|
||||
groupBox1.Enabled = true;
|
||||
groupBox2.Enabled = true;
|
||||
timer1.Enabled = false;
|
||||
|
||||
timeranimation = 0;
|
||||
radioButton1.Checked = false;
|
||||
radioButton2.Checked = false;
|
||||
radioButton3.Checked = false;
|
||||
radioButton4.Checked = false;
|
||||
radioButton5.Checked = false;
|
||||
radioButton6.Checked = false;
|
||||
radioButton7.Checked = false;
|
||||
radioButton8.Checked = false;
|
||||
radioButton9.Checked = false;
|
||||
radioButton10.Checked = false;
|
||||
radioButton11.Checked = false;
|
||||
radioButton12.Checked = false;
|
||||
radioButton13.Checked = false;
|
||||
radioButton14.Checked = false;
|
||||
radioButton15.Checked = false;
|
||||
radioButton16.Checked = false;
|
||||
radioButton17.Checked = false;
|
||||
radioButton18.Checked = false;
|
||||
radioButton19.Checked = false;
|
||||
radioButton20.Checked = false;
|
||||
radioButton21.Checked = false;
|
||||
radioButton22.Checked = false;
|
||||
radioButton23.Checked = false;
|
||||
radioButton24.Checked = false;
|
||||
radioButton25.Checked = false;
|
||||
radioButton26.Checked = false;
|
||||
return;
|
||||
}
|
||||
if (tar[0] == "no") {
|
||||
G.Main.Error(txt[1]);
|
||||
labelInfo.Text = "Failed!";
|
||||
|
||||
groupBox1.Enabled = true;
|
||||
groupBox2.Enabled = true;
|
||||
timer1.Enabled = false;
|
||||
|
||||
timeranimation = 0;
|
||||
radioButton1.Checked = false;
|
||||
radioButton2.Checked = false;
|
||||
radioButton3.Checked = false;
|
||||
radioButton4.Checked = false;
|
||||
radioButton5.Checked = false;
|
||||
radioButton6.Checked = false;
|
||||
radioButton7.Checked = false;
|
||||
radioButton8.Checked = false;
|
||||
radioButton9.Checked = false;
|
||||
radioButton10.Checked = false;
|
||||
radioButton11.Checked = false;
|
||||
radioButton12.Checked = false;
|
||||
radioButton13.Checked = false;
|
||||
radioButton14.Checked = false;
|
||||
radioButton15.Checked = false;
|
||||
radioButton16.Checked = false;
|
||||
radioButton17.Checked = false;
|
||||
radioButton18.Checked = false;
|
||||
radioButton19.Checked = false;
|
||||
radioButton20.Checked = false;
|
||||
radioButton21.Checked = false;
|
||||
radioButton22.Checked = false;
|
||||
radioButton23.Checked = false;
|
||||
radioButton24.Checked = false;
|
||||
radioButton25.Checked = false;
|
||||
radioButton26.Checked = false;
|
||||
return;
|
||||
}
|
||||
|
||||
labelInfo.Text = "Removing temp update files...";
|
||||
while (true) {
|
||||
try {
|
||||
File.Delete(Directory.GetCurrentDirectory() + "/Games/" + G.GameID + "/" + "update-" + (button3.Tag as string).Replace('.', '_') + ".tar");
|
||||
break;
|
||||
} catch (Exception e) {
|
||||
if (MessageBox.Show(e.Message, "Error while removing temp files!", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error) != DialogResult.Retry) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
while (true) {
|
||||
try {
|
||||
File.Delete(Directory.GetCurrentDirectory() + "/Games/" + G.GameID + "/" + "update-" + (button3.Tag as string).Replace('.', '_') + ".txt");
|
||||
break;
|
||||
} catch (Exception e) {
|
||||
if (MessageBox.Show(e.Message, "Error while removing temp files!", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error) != DialogResult.Retry) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
labelInfo.Text = "Updateing local version file...";
|
||||
while (true) {
|
||||
try {
|
||||
File.WriteAllText(Directory.GetCurrentDirectory() + "/Games/" + G.GameID + "/version.txt", (string)button3.Tag);
|
||||
break;
|
||||
} catch (Exception e) {
|
||||
if (MessageBox.Show(e.Message, "Error while writing local version file!", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error) != DialogResult.Retry) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
labelInfo.Text = "Done!";
|
||||
|
||||
groupBox1.Enabled = true;
|
||||
groupBox2.Enabled = true;
|
||||
timer1.Enabled = false;
|
||||
|
||||
timeranimation = 0;
|
||||
radioButton1.Checked = false;
|
||||
radioButton2.Checked = false;
|
||||
radioButton3.Checked = false;
|
||||
radioButton4.Checked = false;
|
||||
radioButton5.Checked = false;
|
||||
radioButton6.Checked = false;
|
||||
radioButton7.Checked = false;
|
||||
radioButton8.Checked = false;
|
||||
radioButton9.Checked = false;
|
||||
radioButton10.Checked = false;
|
||||
radioButton11.Checked = false;
|
||||
radioButton12.Checked = false;
|
||||
radioButton13.Checked = false;
|
||||
radioButton14.Checked = false;
|
||||
radioButton15.Checked = false;
|
||||
radioButton16.Checked = false;
|
||||
radioButton17.Checked = false;
|
||||
radioButton18.Checked = false;
|
||||
radioButton19.Checked = false;
|
||||
radioButton20.Checked = false;
|
||||
radioButton21.Checked = false;
|
||||
radioButton22.Checked = false;
|
||||
radioButton23.Checked = false;
|
||||
radioButton24.Checked = false;
|
||||
radioButton25.Checked = false;
|
||||
radioButton26.Checked = false;
|
||||
MessageBox.Show("Uploaded patch for version " + button3.Tag + "!\nFile size: " + button2.Tag + " MB", "Done!", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
}
|
||||
|
||||
public static string MyUploader(string strFileToUpload, string strUrl)
|
||||
{
|
||||
string strFileFormName = "file";
|
||||
Uri oUri = new Uri(strUrl);
|
||||
string strBoundary = "----------" + DateTime.Now.Ticks.ToString("x");
|
||||
|
||||
// The trailing boundary string
|
||||
byte[] boundaryBytes = Encoding.ASCII.GetBytes("\r\n--" + strBoundary + "\r\n");
|
||||
|
||||
// The post message header
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.Append("--");
|
||||
sb.Append(strBoundary);
|
||||
sb.Append("\r\n");
|
||||
sb.Append("Content-Disposition: form-data; name=\"");
|
||||
sb.Append(strFileFormName);
|
||||
sb.Append("\"; filename=\"");
|
||||
sb.Append(Path.GetFileName(strFileToUpload));
|
||||
sb.Append("\"");
|
||||
sb.Append("\r\n");
|
||||
sb.Append("Content-Type: ");
|
||||
sb.Append("application/octet-stream");
|
||||
sb.Append("\r\n");
|
||||
sb.Append("\r\n");
|
||||
string strPostHeader = sb.ToString();
|
||||
byte[] postHeaderBytes = Encoding.UTF8.GetBytes(strPostHeader);
|
||||
|
||||
|
||||
// The WebRequest
|
||||
HttpWebRequest oWebrequest = (HttpWebRequest)WebRequest.Create(oUri);
|
||||
oWebrequest.ContentType = "multipart/form-data; boundary=" + strBoundary;
|
||||
oWebrequest.Method = "POST";
|
||||
|
||||
// This is important, otherwise the whole file will be read to memory anyway...
|
||||
oWebrequest.AllowWriteStreamBuffering = false;
|
||||
|
||||
// Get a FileStream and set the final properties of the WebRequest
|
||||
FileStream oFileStream = new FileStream(strFileToUpload, FileMode.Open, FileAccess.Read);
|
||||
long length = postHeaderBytes.Length + oFileStream.Length + boundaryBytes.Length;
|
||||
oWebrequest.ContentLength = length;
|
||||
Stream oRequestStream = oWebrequest.GetRequestStream();
|
||||
|
||||
// Write the post header
|
||||
oRequestStream.Write(postHeaderBytes, 0, postHeaderBytes.Length);
|
||||
|
||||
// Stream the file contents in small pieces (4096 bytes, max).
|
||||
byte[] buffer = new Byte[checked((uint)Math.Min(4096, (int)oFileStream.Length))];
|
||||
int bytesRead = 0;
|
||||
|
||||
while ((bytesRead = oFileStream.Read(buffer, 0, buffer.Length)) != 0)
|
||||
oRequestStream.Write(buffer, 0, bytesRead);
|
||||
oFileStream.Close();
|
||||
|
||||
// Add the trailing boundary
|
||||
oRequestStream.Write(boundaryBytes, 0, boundaryBytes.Length);
|
||||
|
||||
WebResponse oWResponse = oWebrequest.GetResponse();
|
||||
Stream s = oWResponse.GetResponseStream();
|
||||
StreamReader sr = new StreamReader(s);
|
||||
String sReturnString = sr.ReadToEnd();
|
||||
|
||||
// Clean up
|
||||
oFileStream.Close();
|
||||
oRequestStream.Close();
|
||||
s.Close();
|
||||
sr.Close();
|
||||
|
||||
return sReturnString;
|
||||
}
|
||||
|
||||
private byte timeranimation = 0;
|
||||
private void timer1_Tick(object sender, EventArgs e) {
|
||||
switch (timeranimation) {
|
||||
case 0:
|
||||
radioButton1.Checked = false;
|
||||
radioButton2.Checked = true;
|
||||
break;
|
||||
|
||||
case 1:
|
||||
radioButton2.Checked = false;
|
||||
radioButton3.Checked = true;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
radioButton3.Checked = false;
|
||||
radioButton4.Checked = true;
|
||||
break;
|
||||
|
||||
case 3:
|
||||
radioButton4.Checked = false;
|
||||
radioButton5.Checked = true;
|
||||
break;
|
||||
|
||||
case 4:
|
||||
radioButton5.Checked = false;
|
||||
radioButton6.Checked = true;
|
||||
break;
|
||||
|
||||
case 5:
|
||||
radioButton6.Checked = false;
|
||||
radioButton7.Checked = true;
|
||||
break;
|
||||
|
||||
case 6:
|
||||
radioButton7.Checked = false;
|
||||
radioButton8.Checked = true;
|
||||
break;
|
||||
|
||||
case 7:
|
||||
radioButton8.Checked = false;
|
||||
radioButton9.Checked = true;
|
||||
break;
|
||||
|
||||
case 8:
|
||||
radioButton9.Checked = false;
|
||||
radioButton10.Checked = true;
|
||||
break;
|
||||
|
||||
case 9:
|
||||
radioButton11.Checked = false;
|
||||
radioButton12.Checked = true;
|
||||
break;
|
||||
|
||||
case 10:
|
||||
radioButton12.Checked = false;
|
||||
radioButton13.Checked = true;
|
||||
break;
|
||||
|
||||
case 11:
|
||||
radioButton13.Checked = false;
|
||||
radioButton14.Checked = true;
|
||||
break;
|
||||
|
||||
case 12:
|
||||
radioButton14.Checked = false;
|
||||
radioButton15.Checked = true;
|
||||
break;
|
||||
|
||||
case 13:
|
||||
radioButton15.Checked = false;
|
||||
radioButton16.Checked = true;
|
||||
break;
|
||||
|
||||
case 14:
|
||||
radioButton16.Checked = false;
|
||||
radioButton17.Checked = true;
|
||||
break;
|
||||
|
||||
case 15:
|
||||
radioButton17.Checked = false;
|
||||
radioButton18.Checked = true;
|
||||
break;
|
||||
|
||||
case 16:
|
||||
radioButton18.Checked = false;
|
||||
radioButton19.Checked = true;
|
||||
break;
|
||||
|
||||
case 17:
|
||||
radioButton19.Checked = false;
|
||||
radioButton20.Checked = true;
|
||||
break;
|
||||
|
||||
case 18:
|
||||
radioButton20.Checked = false;
|
||||
radioButton21.Checked = true;
|
||||
break;
|
||||
|
||||
case 19:
|
||||
radioButton21.Checked = false;
|
||||
radioButton22.Checked = true;
|
||||
break;
|
||||
|
||||
case 20:
|
||||
radioButton22.Checked = false;
|
||||
radioButton23.Checked = true;
|
||||
break;
|
||||
|
||||
case 21:
|
||||
radioButton23.Checked = false;
|
||||
radioButton24.Checked = true;
|
||||
break;
|
||||
|
||||
case 22:
|
||||
radioButton24.Checked = false;
|
||||
radioButton25.Checked = true;
|
||||
break;
|
||||
|
||||
case 23:
|
||||
radioButton25.Checked = false;
|
||||
radioButton26.Checked = true;
|
||||
break;
|
||||
|
||||
case 24:
|
||||
radioButton26.Checked = false;
|
||||
radioButton1.Checked = true;
|
||||
break;
|
||||
}
|
||||
|
||||
timeranimation++;
|
||||
if (timeranimation > 24)
|
||||
timeranimation = 0;
|
||||
}
|
||||
|
||||
private void comboCommand_SelectedValueChanged(object sender, EventArgs e) {
|
||||
switch (comboCommand.Text) {
|
||||
case "ADD":
|
||||
labelHelp.Text = "Adds a new file to the folder, if it already exists it wil be overwritten.";
|
||||
break;
|
||||
|
||||
case "DEL":
|
||||
labelHelp.Text = "Deletes an file/folder.";
|
||||
break;
|
||||
|
||||
case "MNF":
|
||||
labelHelp.Text = "Creates an new empty file.";
|
||||
break;
|
||||
|
||||
case "MDR":
|
||||
labelHelp.Text = "Creates an folder.";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
123
GamerServices/Systems/Forms/FormDevUpdate.resx
Normal file
123
GamerServices/Systems/Forms/FormDevUpdate.resx
Normal file
@ -0,0 +1,123 @@
|
||||
<?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>
|
||||
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>15, 17</value>
|
||||
</metadata>
|
||||
</root>
|
53
GamerServices/Systems/Forms/FormFileDownloader.Designer.cs
generated
Normal file
53
GamerServices/Systems/Forms/FormFileDownloader.Designer.cs
generated
Normal file
@ -0,0 +1,53 @@
|
||||
namespace GamerServices {
|
||||
partial class FormFileDownloader {
|
||||
/// <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.progressBar1 = new System.Windows.Forms.ProgressBar();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// progressBar1
|
||||
//
|
||||
this.progressBar1.Location = new System.Drawing.Point(0, 0);
|
||||
this.progressBar1.Name = "progressBar1";
|
||||
this.progressBar1.Size = new System.Drawing.Size(392, 23);
|
||||
this.progressBar1.TabIndex = 0;
|
||||
//
|
||||
// FormXNADownloader
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(392, 24);
|
||||
this.Controls.Add(this.progressBar1);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
|
||||
this.Name = "FormXNADownloader";
|
||||
this.Text = "File Downloader";
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.ProgressBar progressBar1;
|
||||
}
|
||||
}
|
51
GamerServices/Systems/Forms/FormFileDownloader.cs
Normal file
51
GamerServices/Systems/Forms/FormFileDownloader.cs
Normal file
@ -0,0 +1,51 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Net;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace GamerServices {
|
||||
public partial class FormFileDownloader : Form {
|
||||
public string URL = "";
|
||||
public string FilePath = "";
|
||||
public bool AutoExec = false;
|
||||
public bool Completed = false;
|
||||
|
||||
|
||||
public FormFileDownloader() {
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public void StartDownload() {
|
||||
WebClient c = new WebClient();
|
||||
c.Proxy = null;
|
||||
|
||||
c.DownloadProgressChanged += new DownloadProgressChangedEventHandler(c_DownloadProgressChanged);
|
||||
c.DownloadFileCompleted += new AsyncCompletedEventHandler(c_DownloadFileCompleted);
|
||||
c.DownloadFileAsync(new Uri(URL), FilePath);
|
||||
}
|
||||
|
||||
void c_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e) {
|
||||
this.Completed = true;
|
||||
|
||||
if (e.Cancelled) {
|
||||
MessageBox.Show("Error while downloading file: \"" + URL + "\" to \"" + FilePath + "\"");
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.AutoExec)
|
||||
System.Diagnostics.Process.Start(FilePath);
|
||||
|
||||
this.Close();
|
||||
}
|
||||
|
||||
void c_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e) {
|
||||
if (e.ProgressPercentage > -1 && e.ProgressPercentage < 101)
|
||||
this.progressBar1.Value = e.ProgressPercentage;
|
||||
}
|
||||
}
|
||||
}
|
120
GamerServices/Systems/Forms/FormFileDownloader.resx
Normal file
120
GamerServices/Systems/Forms/FormFileDownloader.resx
Normal file
@ -0,0 +1,120 @@
|
||||
<?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>
|
||||
</root>
|
386
GamerServices/Systems/Forms/FormGameDev.Designer.cs
generated
Normal file
386
GamerServices/Systems/Forms/FormGameDev.Designer.cs
generated
Normal file
@ -0,0 +1,386 @@
|
||||
namespace GamerServices {
|
||||
partial class FormGameDev {
|
||||
/// <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(FormGameDev));
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
this.label_proc_threads = new System.Windows.Forms.Label();
|
||||
this.label_proc_RAM = new System.Windows.Forms.Label();
|
||||
this.label_proc_cpu = new System.Windows.Forms.Label();
|
||||
this.label_proc_name = new System.Windows.Forms.Label();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
||||
this.label_traf_avo = new System.Windows.Forms.Label();
|
||||
this.label_traf_avi = new System.Windows.Forms.Label();
|
||||
this.label_traf_toto = new System.Windows.Forms.Label();
|
||||
this.label_traf_totin = new System.Windows.Forms.Label();
|
||||
this.label8 = new System.Windows.Forms.Label();
|
||||
this.label7 = new System.Windows.Forms.Label();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.textlog = new System.Windows.Forms.TextBox();
|
||||
this.button2 = new System.Windows.Forms.Button();
|
||||
this.groupBox3 = new System.Windows.Forms.GroupBox();
|
||||
this.label9 = new System.Windows.Forms.Label();
|
||||
this.checkBox1 = new System.Windows.Forms.CheckBox();
|
||||
this.comboBox1 = new System.Windows.Forms.ComboBox();
|
||||
this.button4 = new System.Windows.Forms.Button();
|
||||
this.textBox1 = new System.Windows.Forms.TextBox();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.groupBox2.SuspendLayout();
|
||||
this.groupBox3.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(15, 16);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(41, 13);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "Name: ";
|
||||
//
|
||||
// groupBox1
|
||||
//
|
||||
this.groupBox1.Controls.Add(this.label_proc_threads);
|
||||
this.groupBox1.Controls.Add(this.label_proc_RAM);
|
||||
this.groupBox1.Controls.Add(this.label_proc_cpu);
|
||||
this.groupBox1.Controls.Add(this.label_proc_name);
|
||||
this.groupBox1.Controls.Add(this.label4);
|
||||
this.groupBox1.Controls.Add(this.label3);
|
||||
this.groupBox1.Controls.Add(this.label2);
|
||||
this.groupBox1.Controls.Add(this.label1);
|
||||
this.groupBox1.Location = new System.Drawing.Point(12, 12);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(172, 108);
|
||||
this.groupBox1.TabIndex = 1;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "Process";
|
||||
//
|
||||
// label_proc_threads
|
||||
//
|
||||
this.label_proc_threads.AutoSize = true;
|
||||
this.label_proc_threads.Location = new System.Drawing.Point(70, 87);
|
||||
this.label_proc_threads.Name = "label_proc_threads";
|
||||
this.label_proc_threads.Size = new System.Drawing.Size(47, 13);
|
||||
this.label_proc_threads.TabIndex = 7;
|
||||
this.label_proc_threads.Text = "Dancing";
|
||||
//
|
||||
// label_proc_RAM
|
||||
//
|
||||
this.label_proc_RAM.AutoSize = true;
|
||||
this.label_proc_RAM.Location = new System.Drawing.Point(70, 63);
|
||||
this.label_proc_RAM.Name = "label_proc_RAM";
|
||||
this.label_proc_RAM.Size = new System.Drawing.Size(49, 13);
|
||||
this.label_proc_RAM.TabIndex = 6;
|
||||
this.label_proc_RAM.Text = "Unicorns";
|
||||
//
|
||||
// label_proc_cpu
|
||||
//
|
||||
this.label_proc_cpu.AutoSize = true;
|
||||
this.label_proc_cpu.Location = new System.Drawing.Point(70, 39);
|
||||
this.label_proc_cpu.Name = "label_proc_cpu";
|
||||
this.label_proc_cpu.Size = new System.Drawing.Size(32, 13);
|
||||
this.label_proc_cpu.TabIndex = 5;
|
||||
this.label_proc_cpu.Text = "Fluffy";
|
||||
//
|
||||
// label_proc_name
|
||||
//
|
||||
this.label_proc_name.AutoSize = true;
|
||||
this.label_proc_name.Location = new System.Drawing.Point(70, 16);
|
||||
this.label_proc_name.Name = "label_proc_name";
|
||||
this.label_proc_name.Size = new System.Drawing.Size(28, 13);
|
||||
this.label_proc_name.TabIndex = 4;
|
||||
this.label_proc_name.Text = "Pink";
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(15, 87);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(49, 13);
|
||||
this.label4.TabIndex = 3;
|
||||
this.label4.Text = "Threads:";
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(15, 63);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(34, 13);
|
||||
this.label3.TabIndex = 2;
|
||||
this.label3.Text = "RAM:";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(15, 39);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(32, 13);
|
||||
this.label2.TabIndex = 1;
|
||||
this.label2.Text = "CPU:";
|
||||
//
|
||||
// groupBox2
|
||||
//
|
||||
this.groupBox2.Controls.Add(this.label_traf_avo);
|
||||
this.groupBox2.Controls.Add(this.label_traf_avi);
|
||||
this.groupBox2.Controls.Add(this.label_traf_toto);
|
||||
this.groupBox2.Controls.Add(this.label_traf_totin);
|
||||
this.groupBox2.Controls.Add(this.label8);
|
||||
this.groupBox2.Controls.Add(this.label7);
|
||||
this.groupBox2.Controls.Add(this.label6);
|
||||
this.groupBox2.Controls.Add(this.label5);
|
||||
this.groupBox2.Location = new System.Drawing.Point(190, 12);
|
||||
this.groupBox2.Name = "groupBox2";
|
||||
this.groupBox2.Size = new System.Drawing.Size(188, 109);
|
||||
this.groupBox2.TabIndex = 2;
|
||||
this.groupBox2.TabStop = false;
|
||||
this.groupBox2.Text = "Trafic";
|
||||
//
|
||||
// label_traf_avo
|
||||
//
|
||||
this.label_traf_avo.AutoSize = true;
|
||||
this.label_traf_avo.Location = new System.Drawing.Point(92, 87);
|
||||
this.label_traf_avo.Name = "label_traf_avo";
|
||||
this.label_traf_avo.Size = new System.Drawing.Size(32, 13);
|
||||
this.label_traf_avo.TabIndex = 11;
|
||||
this.label_traf_avo.Text = "Night";
|
||||
//
|
||||
// label_traf_avi
|
||||
//
|
||||
this.label_traf_avi.AutoSize = true;
|
||||
this.label_traf_avi.Location = new System.Drawing.Point(92, 63);
|
||||
this.label_traf_avi.Name = "label_traf_avi";
|
||||
this.label_traf_avi.Size = new System.Drawing.Size(34, 13);
|
||||
this.label_traf_avi.TabIndex = 10;
|
||||
this.label_traf_avi.Text = "Every";
|
||||
//
|
||||
// label_traf_toto
|
||||
//
|
||||
this.label_traf_toto.AutoSize = true;
|
||||
this.label_traf_toto.Location = new System.Drawing.Point(92, 39);
|
||||
this.label_traf_toto.Name = "label_traf_toto";
|
||||
this.label_traf_toto.Size = new System.Drawing.Size(54, 13);
|
||||
this.label_traf_toto.TabIndex = 9;
|
||||
this.label_traf_toto.Text = "Rainbows";
|
||||
//
|
||||
// label_traf_totin
|
||||
//
|
||||
this.label_traf_totin.AutoSize = true;
|
||||
this.label_traf_totin.Location = new System.Drawing.Point(92, 16);
|
||||
this.label_traf_totin.Name = "label_traf_totin";
|
||||
this.label_traf_totin.Size = new System.Drawing.Size(21, 13);
|
||||
this.label_traf_totin.TabIndex = 8;
|
||||
this.label_traf_totin.Text = "On";
|
||||
//
|
||||
// label8
|
||||
//
|
||||
this.label8.AutoSize = true;
|
||||
this.label8.Location = new System.Drawing.Point(15, 87);
|
||||
this.label8.Name = "label8";
|
||||
this.label8.Size = new System.Drawing.Size(43, 13);
|
||||
this.label8.TabIndex = 3;
|
||||
this.label8.Text = "Av Out:";
|
||||
//
|
||||
// label7
|
||||
//
|
||||
this.label7.AutoSize = true;
|
||||
this.label7.Location = new System.Drawing.Point(15, 63);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(35, 13);
|
||||
this.label7.TabIndex = 2;
|
||||
this.label7.Text = "Av In:";
|
||||
//
|
||||
// label6
|
||||
//
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.Location = new System.Drawing.Point(15, 39);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(54, 13);
|
||||
this.label6.TabIndex = 1;
|
||||
this.label6.Text = "Total Out:";
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(15, 16);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(46, 13);
|
||||
this.label5.TabIndex = 0;
|
||||
this.label5.Text = "Total In:";
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Location = new System.Drawing.Point(190, 293);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(188, 29);
|
||||
this.button1.TabIndex = 3;
|
||||
this.button1.Text = "Stop Game Developer service";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||
//
|
||||
// textlog
|
||||
//
|
||||
this.textlog.Location = new System.Drawing.Point(12, 126);
|
||||
this.textlog.Multiline = true;
|
||||
this.textlog.Name = "textlog";
|
||||
this.textlog.ScrollBars = System.Windows.Forms.ScrollBars.Both;
|
||||
this.textlog.Size = new System.Drawing.Size(366, 161);
|
||||
this.textlog.TabIndex = 4;
|
||||
//
|
||||
// button2
|
||||
//
|
||||
this.button2.Location = new System.Drawing.Point(13, 293);
|
||||
this.button2.Name = "button2";
|
||||
this.button2.Size = new System.Drawing.Size(171, 29);
|
||||
this.button2.TabIndex = 5;
|
||||
this.button2.Text = "Reset recorded data";
|
||||
this.button2.UseVisualStyleBackColor = true;
|
||||
this.button2.Click += new System.EventHandler(this.button2_Click);
|
||||
//
|
||||
// groupBox3
|
||||
//
|
||||
this.groupBox3.Controls.Add(this.label9);
|
||||
this.groupBox3.Controls.Add(this.checkBox1);
|
||||
this.groupBox3.Controls.Add(this.comboBox1);
|
||||
this.groupBox3.Controls.Add(this.button4);
|
||||
this.groupBox3.Controls.Add(this.textBox1);
|
||||
this.groupBox3.Location = new System.Drawing.Point(384, 12);
|
||||
this.groupBox3.Name = "groupBox3";
|
||||
this.groupBox3.Size = new System.Drawing.Size(258, 310);
|
||||
this.groupBox3.TabIndex = 6;
|
||||
this.groupBox3.TabStop = false;
|
||||
this.groupBox3.Text = "Advanced Packet Sender";
|
||||
//
|
||||
// label9
|
||||
//
|
||||
this.label9.AutoSize = true;
|
||||
this.label9.Location = new System.Drawing.Point(7, 20);
|
||||
this.label9.Name = "label9";
|
||||
this.label9.Size = new System.Drawing.Size(225, 13);
|
||||
this.label9.TabIndex = 7;
|
||||
this.label9.Text = "Using this wrongly can freeze your application!";
|
||||
//
|
||||
// checkBox1
|
||||
//
|
||||
this.checkBox1.AutoSize = true;
|
||||
this.checkBox1.Location = new System.Drawing.Point(10, 36);
|
||||
this.checkBox1.Name = "checkBox1";
|
||||
this.checkBox1.Size = new System.Drawing.Size(85, 17);
|
||||
this.checkBox1.TabIndex = 6;
|
||||
this.checkBox1.Text = "I understand";
|
||||
this.checkBox1.UseVisualStyleBackColor = true;
|
||||
this.checkBox1.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged);
|
||||
//
|
||||
// comboBox1
|
||||
//
|
||||
this.comboBox1.FormattingEnabled = true;
|
||||
this.comboBox1.Location = new System.Drawing.Point(6, 283);
|
||||
this.comboBox1.Name = "comboBox1";
|
||||
this.comboBox1.Size = new System.Drawing.Size(84, 21);
|
||||
this.comboBox1.TabIndex = 5;
|
||||
this.comboBox1.Text = "Examples";
|
||||
this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged);
|
||||
//
|
||||
// button4
|
||||
//
|
||||
this.button4.Location = new System.Drawing.Point(177, 283);
|
||||
this.button4.Name = "button4";
|
||||
this.button4.Size = new System.Drawing.Size(75, 23);
|
||||
this.button4.TabIndex = 4;
|
||||
this.button4.Text = "Send";
|
||||
this.button4.UseVisualStyleBackColor = true;
|
||||
this.button4.Click += new System.EventHandler(this.button4_Click);
|
||||
//
|
||||
// textBox1
|
||||
//
|
||||
this.textBox1.Location = new System.Drawing.Point(6, 55);
|
||||
this.textBox1.Multiline = true;
|
||||
this.textBox1.Name = "textBox1";
|
||||
this.textBox1.Size = new System.Drawing.Size(246, 222);
|
||||
this.textBox1.TabIndex = 0;
|
||||
this.textBox1.Text = resources.GetString("textBox1.Text");
|
||||
//
|
||||
// FormGameDev
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(649, 334);
|
||||
this.ControlBox = false;
|
||||
this.Controls.Add(this.groupBox3);
|
||||
this.Controls.Add(this.button2);
|
||||
this.Controls.Add(this.textlog);
|
||||
this.Controls.Add(this.button1);
|
||||
this.Controls.Add(this.groupBox2);
|
||||
this.Controls.Add(this.groupBox1);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
|
||||
this.Name = "FormGameDev";
|
||||
this.Text = "Developer Tool (SADWTPBDR)";
|
||||
this.Load += new System.EventHandler(this.FormGameDev_Load);
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.groupBox1.PerformLayout();
|
||||
this.groupBox2.ResumeLayout(false);
|
||||
this.groupBox2.PerformLayout();
|
||||
this.groupBox3.ResumeLayout(false);
|
||||
this.groupBox3.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.GroupBox groupBox1;
|
||||
private System.Windows.Forms.GroupBox groupBox2;
|
||||
private System.Windows.Forms.Button button1;
|
||||
private System.Windows.Forms.Label label_proc_threads;
|
||||
private System.Windows.Forms.Label label_proc_RAM;
|
||||
private System.Windows.Forms.Label label_proc_cpu;
|
||||
private System.Windows.Forms.Label label_proc_name;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label label_traf_avo;
|
||||
private System.Windows.Forms.Label label_traf_avi;
|
||||
private System.Windows.Forms.Label label_traf_toto;
|
||||
private System.Windows.Forms.Label label_traf_totin;
|
||||
private System.Windows.Forms.Label label8;
|
||||
private System.Windows.Forms.Label label7;
|
||||
private System.Windows.Forms.Label label6;
|
||||
private System.Windows.Forms.Label label5;
|
||||
private System.Windows.Forms.TextBox textlog;
|
||||
private System.Windows.Forms.Button button2;
|
||||
private System.Windows.Forms.GroupBox groupBox3;
|
||||
private System.Windows.Forms.ComboBox comboBox1;
|
||||
private System.Windows.Forms.Button button4;
|
||||
private System.Windows.Forms.TextBox textBox1;
|
||||
private System.Windows.Forms.Label label9;
|
||||
private System.Windows.Forms.CheckBox checkBox1;
|
||||
}
|
||||
}
|
266
GamerServices/Systems/Forms/FormGameDev.cs
Normal file
266
GamerServices/Systems/Forms/FormGameDev.cs
Normal file
@ -0,0 +1,266 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace GamerServices {
|
||||
public partial class FormGameDev : Form {
|
||||
|
||||
private int TotalIn = 0;
|
||||
private int TotalOut = 0;
|
||||
|
||||
private double[] AvIn = new double[30];
|
||||
private double[] AvOut = new double[30];
|
||||
|
||||
private int curin = 0;
|
||||
private int curout = 0;
|
||||
private Game G;
|
||||
|
||||
private PerformanceCounter prefcounter;
|
||||
private PerformanceCounter memcounter;
|
||||
|
||||
public FormGameDev(Game g) {
|
||||
G = g;
|
||||
|
||||
CheckForIllegalCrossThreadCalls = false;
|
||||
this.Icon = G.Main.Icon;
|
||||
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public void AddIn(int val) {
|
||||
TotalIn += val;
|
||||
curin += val;
|
||||
|
||||
this.label_traf_totin.Text = TotalIn.ToString();
|
||||
}
|
||||
|
||||
public void AddOut(int val) {
|
||||
TotalOut += val;
|
||||
curout += val;
|
||||
this.label_traf_toto.Text = TotalOut.ToString();
|
||||
}
|
||||
|
||||
public void UpdateAv() {
|
||||
if (G.ForceStop){
|
||||
this.Close();
|
||||
return;
|
||||
}
|
||||
|
||||
double curavin = 0;
|
||||
double curavout = 0;
|
||||
|
||||
for (int i = 1; i < AvIn.Length; i++) {
|
||||
curavin += AvIn[i];
|
||||
curavout += AvOut[i];
|
||||
|
||||
AvIn[i - 1] = AvIn[i];
|
||||
AvOut[i - 1] = AvOut[i];
|
||||
}
|
||||
|
||||
AvIn[AvIn.Length - 1] = curin;
|
||||
AvOut[AvOut.Length - 1] = curout;
|
||||
curavin += curin;
|
||||
curavout += curout;
|
||||
|
||||
curin = 0;
|
||||
curout = 0;
|
||||
|
||||
bool foundproc = false;
|
||||
Process[] procs = Process.GetProcessesByName(G.MainExe.Substring(0, G.MainExe.Length - 4));
|
||||
foreach (Process proc in procs) {
|
||||
foundproc = true;
|
||||
|
||||
if (prefcounter == null){
|
||||
prefcounter = new PerformanceCounter("Process", "% Processor Time", proc.ProcessName);
|
||||
memcounter = new PerformanceCounter("Process", "Working Set", proc.ProcessName);
|
||||
AddMessage("Starting process monitor");
|
||||
}else{
|
||||
this.label_proc_cpu.Text = (prefcounter.NextValue() / 100).ToString() + "%";
|
||||
this.label_proc_RAM.Text = ((memcounter.NextValue() / 1024) / 1024).ToString() + " MB";
|
||||
}
|
||||
|
||||
if (this.label_proc_name.Text != proc.ProcessName) this.label_proc_name.Text = proc.ProcessName;
|
||||
if (this.label_proc_threads.Text != proc.Threads.Count.ToString()) this.label_proc_threads.Text = proc.Threads.Count.ToString();
|
||||
break;
|
||||
}
|
||||
|
||||
if (!foundproc) {
|
||||
if (prefcounter != null)
|
||||
AddMessage("Lost game proccess.");
|
||||
|
||||
prefcounter = null;
|
||||
memcounter = null;
|
||||
this.label_proc_name.Text = "";
|
||||
this.label_proc_cpu.Text = "";
|
||||
this.label_proc_RAM.Text = "";
|
||||
this.label_proc_threads.Text = "";
|
||||
}
|
||||
|
||||
curavin /= AvIn.Length;
|
||||
curavout /= AvOut.Length;
|
||||
|
||||
curavin = curavin - curavin % 0.1;
|
||||
curavout = curavout - curavout % 0.1;
|
||||
|
||||
this.label_traf_avi.Text = curavin.ToString();
|
||||
this.label_traf_avo.Text = curavout.ToString();
|
||||
}
|
||||
|
||||
public void AddMessage(string msg) {
|
||||
textlog.Text += msg + "\r\n";
|
||||
|
||||
textlog.SelectionStart = textlog.Text.Length;
|
||||
textlog.ScrollToCaret();
|
||||
textlog.Refresh();
|
||||
}
|
||||
|
||||
private void button2_Click(object sender, EventArgs e) {
|
||||
TotalIn = 0;
|
||||
TotalOut = 0;
|
||||
this.label_traf_totin.Text = "0";
|
||||
this.label_traf_toto.Text = "0";
|
||||
this.label_traf_avi.Text = "0";
|
||||
this.label_traf_avo.Text = "0";
|
||||
|
||||
AvIn = new double[30];
|
||||
AvOut = new double[30];
|
||||
|
||||
curin = 0;
|
||||
curout = 0;
|
||||
|
||||
textlog.Text = "";
|
||||
}
|
||||
|
||||
private void button1_Click(object sender, EventArgs e) {
|
||||
G.DevStop();
|
||||
}
|
||||
|
||||
private void FormGameDev_Load(object sender, EventArgs e) {
|
||||
button2_Click(null, null);
|
||||
checkBox1.Checked = false;
|
||||
|
||||
button4.Enabled = checkBox1.Checked;
|
||||
textBox1.Enabled = checkBox1.Checked;
|
||||
comboBox1.Enabled = checkBox1.Checked;
|
||||
|
||||
comboBox1.Items.Add("Notice");
|
||||
comboBox1.Items.Add("General");
|
||||
}
|
||||
|
||||
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) {
|
||||
switch(comboBox1.Text){
|
||||
case "Notice":
|
||||
textBox1.Text = "# Example of a notice popup\r\n\r\n# The byte 5 is for the inital packet type, leave it alone\r\n(byte)5\r\n(string)Title\r\n(string)Message\r\n\r\n# This is the icon type wich should be displayed whit the message!\r\n(byte)0";
|
||||
break;
|
||||
|
||||
case "General":
|
||||
textBox1.Text = "# Example of a packet\r\n# This is extremely useful for debugging purposes\r\n# If your game hooks into MrAG.Gamerservices.IncomingTCPPacket,\r\n# you can use this to manually send packets to trigger events for debugging results\r\n# Available packets are 6-254, below 5 are reservated for the tunneling service\r\n(byte)6\r\n";
|
||||
break;
|
||||
}
|
||||
|
||||
comboBox1.Text = "Examples";
|
||||
}
|
||||
|
||||
private void checkBox1_CheckedChanged(object sender, EventArgs e) {
|
||||
button4.Enabled = checkBox1.Checked;
|
||||
textBox1.Enabled = checkBox1.Checked;
|
||||
comboBox1.Enabled = checkBox1.Checked;
|
||||
}
|
||||
|
||||
private void button4_Click(object sender, EventArgs e) {
|
||||
string[] tosend = textBox1.Text.Replace("\r", "").Split('\n');
|
||||
|
||||
MrAG.Networking.TCPClient c = G.GetAPIConnection();
|
||||
if (c == null) {
|
||||
MessageBox.Show("No connection yet!", "Error");
|
||||
return;
|
||||
}
|
||||
|
||||
bool packetIDSend = false;
|
||||
c.Connection.Start_Send();
|
||||
foreach(string line in tosend){
|
||||
if (line.StartsWith("#")) {
|
||||
} else if (line.Length > 0) {
|
||||
string type = line.Substring(1, line.IndexOf(")") - 1);
|
||||
string data = line.Substring(type.Length + 2);
|
||||
|
||||
switch (type) {
|
||||
case "string":
|
||||
if (!packetIDSend) {
|
||||
MessageBox.Show("Error, must send packetID (a byte) first!", "Error");
|
||||
c.Connection.Finish_Send();
|
||||
return;
|
||||
}
|
||||
c.Connection.AddString(data);
|
||||
break;
|
||||
|
||||
case "byte":
|
||||
byte byettosend = byte.Parse(data);
|
||||
if (!packetIDSend && (byettosend < 5 || byettosend == 6)) {
|
||||
|
||||
MessageBox.Show("Error, Packet 0-6 is reserved for internal use!", "Error");
|
||||
c.Connection.Finish_Send();
|
||||
return;
|
||||
}
|
||||
packetIDSend = true;
|
||||
c.Connection.AddByte(byettosend);
|
||||
break;
|
||||
|
||||
case "short":
|
||||
if (!packetIDSend) {
|
||||
MessageBox.Show("Error, must send packetID (a byte) first!", "Error");
|
||||
c.Connection.Finish_Send();
|
||||
return;
|
||||
}
|
||||
c.Connection.AddByte(short.Parse(data));
|
||||
break;
|
||||
|
||||
case "int":
|
||||
if (!packetIDSend) {
|
||||
MessageBox.Show("Error, must send packetID (a byte) first!", "Error");
|
||||
c.Connection.Finish_Send();
|
||||
return;
|
||||
}
|
||||
c.Connection.AddInt(int.Parse(data));
|
||||
break;
|
||||
|
||||
case "float":
|
||||
if (!packetIDSend) {
|
||||
MessageBox.Show("Error, must send packetID (a byte) first!", "Error");
|
||||
c.Connection.Finish_Send();
|
||||
return;
|
||||
}
|
||||
c.Connection.AddFloat(float.Parse(data));
|
||||
break;
|
||||
|
||||
case "long":
|
||||
if (!packetIDSend) {
|
||||
MessageBox.Show("Error, must send packetID (a byte) first!", "Error");
|
||||
c.Connection.Finish_Send();
|
||||
return;
|
||||
}
|
||||
c.Connection.AddLong(long.Parse(data));
|
||||
break;
|
||||
|
||||
case "double":
|
||||
if (!packetIDSend) {
|
||||
MessageBox.Show("Error, must send packetID (a byte) first!", "Error");
|
||||
c.Connection.Finish_Send();
|
||||
return;
|
||||
}
|
||||
c.Connection.AddDouble(double.Parse(data));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
c.Connection.Finish_Send();
|
||||
MessageBox.Show("Sent!", "Packet has been sent.");
|
||||
}
|
||||
}
|
||||
}
|
134
GamerServices/Systems/Forms/FormGameDev.resx
Normal file
134
GamerServices/Systems/Forms/FormGameDev.resx
Normal file
@ -0,0 +1,134 @@
|
||||
<?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>
|
||||
<data name="textBox1.Text" xml:space="preserve">
|
||||
<value>#These are comments.
|
||||
# empty lines wil be ignored
|
||||
#Format: (type)value
|
||||
#Types: string, byte, short, int, float, long, double
|
||||
|
||||
#For example, if you press Send now,
|
||||
#I'm quite sure you crash your game.
|
||||
|
||||
(string)Hello World
|
||||
(byte)254
|
||||
(string)Some more text
|
||||
(int)1234</value>
|
||||
</data>
|
||||
</root>
|
188
GamerServices/Systems/Forms/FormLogin.Designer.cs
generated
Normal file
188
GamerServices/Systems/Forms/FormLogin.Designer.cs
generated
Normal file
@ -0,0 +1,188 @@
|
||||
namespace GamerServices
|
||||
{
|
||||
partial class FormLogin
|
||||
{
|
||||
/// <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.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormLogin));
|
||||
this.buttonLogin = new System.Windows.Forms.Button();
|
||||
this.buttonCancel = new System.Windows.Forms.Button();
|
||||
this.checkRememberMe = new System.Windows.Forms.CheckBox();
|
||||
this.textUsername = new System.Windows.Forms.TextBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.textPassword = new System.Windows.Forms.TextBox();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.buttonSignup = new System.Windows.Forms.Button();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.pictureBox1 = new System.Windows.Forms.PictureBox();
|
||||
this.timer1 = new System.Windows.Forms.Timer(this.components);
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// buttonLogin
|
||||
//
|
||||
this.buttonLogin.Location = new System.Drawing.Point(127, 171);
|
||||
this.buttonLogin.Name = "buttonLogin";
|
||||
this.buttonLogin.Size = new System.Drawing.Size(124, 23);
|
||||
this.buttonLogin.TabIndex = 3;
|
||||
this.buttonLogin.Text = "Login";
|
||||
this.buttonLogin.UseVisualStyleBackColor = true;
|
||||
this.buttonLogin.Click += new System.EventHandler(this.button1_Click);
|
||||
//
|
||||
// buttonCancel
|
||||
//
|
||||
this.buttonCancel.Location = new System.Drawing.Point(257, 171);
|
||||
this.buttonCancel.Name = "buttonCancel";
|
||||
this.buttonCancel.Size = new System.Drawing.Size(75, 23);
|
||||
this.buttonCancel.TabIndex = 4;
|
||||
this.buttonCancel.Text = "Cancel";
|
||||
this.buttonCancel.UseVisualStyleBackColor = true;
|
||||
this.buttonCancel.Click += new System.EventHandler(this.button2_Click);
|
||||
//
|
||||
// checkRememberMe
|
||||
//
|
||||
this.checkRememberMe.AutoSize = true;
|
||||
this.checkRememberMe.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
this.checkRememberMe.Location = new System.Drawing.Point(127, 148);
|
||||
this.checkRememberMe.Name = "checkRememberMe";
|
||||
this.checkRememberMe.Size = new System.Drawing.Size(15, 14);
|
||||
this.checkRememberMe.TabIndex = 2;
|
||||
this.checkRememberMe.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// textUsername
|
||||
//
|
||||
this.textUsername.Location = new System.Drawing.Point(128, 96);
|
||||
this.textUsername.Name = "textUsername";
|
||||
this.textUsername.Size = new System.Drawing.Size(205, 20);
|
||||
this.textUsername.TabIndex = 0;
|
||||
this.textUsername.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textUsername_KeyPress);
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(46, 99);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(76, 13);
|
||||
this.label1.TabIndex = 7;
|
||||
this.label1.Text = "Account name";
|
||||
//
|
||||
// textPassword
|
||||
//
|
||||
this.textPassword.Location = new System.Drawing.Point(128, 122);
|
||||
this.textPassword.Name = "textPassword";
|
||||
this.textPassword.Size = new System.Drawing.Size(205, 20);
|
||||
this.textPassword.TabIndex = 1;
|
||||
this.textPassword.UseSystemPasswordChar = true;
|
||||
this.textPassword.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textPassword_KeyPress);
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(69, 125);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(53, 13);
|
||||
this.label2.TabIndex = 6;
|
||||
this.label2.Text = "Password";
|
||||
//
|
||||
// buttonSignup
|
||||
//
|
||||
this.buttonSignup.Location = new System.Drawing.Point(127, 200);
|
||||
this.buttonSignup.Name = "buttonSignup";
|
||||
this.buttonSignup.Size = new System.Drawing.Size(205, 23);
|
||||
this.buttonSignup.TabIndex = 5;
|
||||
this.buttonSignup.Text = "Signup";
|
||||
this.buttonSignup.UseVisualStyleBackColor = true;
|
||||
this.buttonSignup.Click += new System.EventHandler(this.button3_Click);
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(47, 149);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(75, 13);
|
||||
this.label3.TabIndex = 8;
|
||||
this.label3.Text = "Remember me";
|
||||
//
|
||||
// pictureBox1
|
||||
//
|
||||
this.pictureBox1.Image = global::GamerServices.Properties.Resources.Gamerservices_Small;
|
||||
this.pictureBox1.Location = new System.Drawing.Point(0, 0);
|
||||
this.pictureBox1.Name = "pictureBox1";
|
||||
this.pictureBox1.Size = new System.Drawing.Size(388, 77);
|
||||
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
|
||||
this.pictureBox1.TabIndex = 9;
|
||||
this.pictureBox1.TabStop = false;
|
||||
//
|
||||
// timer1
|
||||
//
|
||||
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
|
||||
//
|
||||
// FormLogin
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(388, 255);
|
||||
this.ControlBox = false;
|
||||
this.Controls.Add(this.pictureBox1);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.buttonSignup);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.textPassword);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.textUsername);
|
||||
this.Controls.Add(this.checkRememberMe);
|
||||
this.Controls.Add(this.buttonCancel);
|
||||
this.Controls.Add(this.buttonLogin);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MaximizeBox = false;
|
||||
this.Name = "FormLogin";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "Login";
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Button buttonLogin;
|
||||
private System.Windows.Forms.Button buttonCancel;
|
||||
public System.Windows.Forms.CheckBox checkRememberMe;
|
||||
public System.Windows.Forms.TextBox textUsername;
|
||||
private System.Windows.Forms.Label label1;
|
||||
public System.Windows.Forms.TextBox textPassword;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Button buttonSignup;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.PictureBox pictureBox1;
|
||||
private System.Windows.Forms.Timer timer1;
|
||||
}
|
||||
}
|
||||
|
161
GamerServices/Systems/Forms/FormLogin.cs
Normal file
161
GamerServices/Systems/Forms/FormLogin.cs
Normal file
@ -0,0 +1,161 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace GamerServices
|
||||
{
|
||||
public partial class FormLogin : Form
|
||||
{
|
||||
public FormMain Main;
|
||||
|
||||
public FormLogin()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
bool hasXNA = true;
|
||||
try {
|
||||
MrAG.Gamerservices.GetUser();
|
||||
} catch {
|
||||
hasXNA = false;
|
||||
}
|
||||
|
||||
if (!hasXNA) {
|
||||
if (MessageBox.Show("Missing XNA Framework redistributables shal we download it for you?", "Missing XNA", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) {
|
||||
FormFileDownloader ffd = new FormFileDownloader();
|
||||
ffd.URL = "http://" + "gs.mrag.nl/download.php?gid=-1&file=XNA_4.0_redist.msi";
|
||||
ffd.FilePath = "XNA_4.0_redist.msi";
|
||||
ffd.AutoExec = true;
|
||||
|
||||
ffd.Show();
|
||||
ffd.StartDownload();
|
||||
|
||||
timer1.Tag = ffd;
|
||||
}
|
||||
timer1.Enabled = true;
|
||||
return;
|
||||
}
|
||||
|
||||
this.Main = new FormMain(this);
|
||||
|
||||
this.textUsername.Focus();
|
||||
|
||||
if (Main.Settings_Username.Length > 0) {
|
||||
this.textUsername.Text = Main.Settings_Username;
|
||||
}
|
||||
|
||||
if (Main.Settings_Password.Length > 0) {
|
||||
checkRememberMe.Checked = true;
|
||||
this.textPassword.Text = Main.Settings_Password;
|
||||
}
|
||||
|
||||
if (this.textPassword.Text.Length > 0){
|
||||
this.Enabled = false;
|
||||
conn();
|
||||
if (Main.Connected) {
|
||||
this.Main.Networker.Login(this.textUsername.Text, this.textPassword.Text);
|
||||
} else {
|
||||
this.textPassword.Text = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public FormLogin(FormMain MainForm)
|
||||
{
|
||||
this.Main = MainForm;
|
||||
|
||||
InitializeComponent();
|
||||
|
||||
this.textUsername.Focus();
|
||||
|
||||
if (Main.Settings_Username.Length > 0) {
|
||||
this.textUsername.Text = Main.Settings_Username;
|
||||
}
|
||||
|
||||
if (Main.Settings_Password.Length > 0) {
|
||||
checkRememberMe.Checked = true;
|
||||
this.textPassword.Text = Main.Settings_Password;
|
||||
}
|
||||
|
||||
if (this.textPassword.Text.Length > 0){
|
||||
this.Enabled = false;
|
||||
conn();
|
||||
if (Main.Connected) {
|
||||
this.Main.Networker.Login(this.textUsername.Text, this.textPassword.Text);
|
||||
} else {
|
||||
this.textPassword.Text = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void button2_Click(object sender, EventArgs e)
|
||||
{
|
||||
System.Diagnostics.Process.GetCurrentProcess().Kill();
|
||||
}
|
||||
|
||||
private void button3_Click(object sender, EventArgs e)
|
||||
{
|
||||
Process.Start("http://" + "gs.mrag.nl/signup");
|
||||
}
|
||||
|
||||
private void button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.Enabled = false;
|
||||
|
||||
conn();
|
||||
if (Main.Connected) {
|
||||
this.textPassword.Text = this.Main.Networker.MD5(this.textPassword.Text + "MrAG.Gameservices" + "http://" + "gs.mrag.nl/");
|
||||
this.Main.Networker.Login(this.textUsername.Text, this.textPassword.Text);
|
||||
} else {
|
||||
Enabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
public bool connected = false;
|
||||
private void conn() {
|
||||
if (connected)
|
||||
return;
|
||||
|
||||
connected = true;
|
||||
|
||||
if (!this.Main.Networker.Initialize()) {
|
||||
Main.Error("Can't connect to the GamerServices server! The server might be offline. Check http://" + "gs.mrag.nl/status for the server status. Otherwise, check your internet connection.");
|
||||
Enabled = true;
|
||||
connected = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void textUsername_KeyPress(object sender, KeyPressEventArgs e) {
|
||||
if (e.KeyChar == 13) {
|
||||
textPassword.Focus();
|
||||
}
|
||||
}
|
||||
|
||||
private void textPassword_KeyPress(object sender, KeyPressEventArgs e) {
|
||||
if (e.KeyChar == 13) {
|
||||
button1_Click(null, null);
|
||||
}
|
||||
}
|
||||
|
||||
private void timer1_Tick(object sender, EventArgs e) {
|
||||
if (timer1.Tag == null){
|
||||
this.Close();
|
||||
Application.Exit();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
this.Hide();
|
||||
|
||||
if ((timer1.Tag as FormFileDownloader).Completed) {
|
||||
this.Close();
|
||||
Application.Exit();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
1256
GamerServices/Systems/Forms/FormLogin.resx
Normal file
1256
GamerServices/Systems/Forms/FormLogin.resx
Normal file
File diff suppressed because it is too large
Load Diff
543
GamerServices/Systems/Forms/FormMain.Designer.cs
generated
Normal file
543
GamerServices/Systems/Forms/FormMain.Designer.cs
generated
Normal file
@ -0,0 +1,543 @@
|
||||
namespace GamerServices
|
||||
{
|
||||
partial class FormMain
|
||||
{
|
||||
/// <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.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormMain));
|
||||
this.menuStrip = new System.Windows.Forms.MenuStrip();
|
||||
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.logoutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.friendsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.onlineToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.offlineToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.requestsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.addToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.trayIcon = new System.Windows.Forms.NotifyIcon(this.components);
|
||||
this.timerUpdate = new System.Windows.Forms.Timer(this.components);
|
||||
this.listGames = new System.Windows.Forms.ListView();
|
||||
this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.gameIconList = new System.Windows.Forms.ImageList(this.components);
|
||||
this.labelGameDescription = new System.Windows.Forms.Label();
|
||||
this.labelGameName = new System.Windows.Forms.Label();
|
||||
this.PingTimer = new System.Windows.Forms.Timer(this.components);
|
||||
this.tabControl1 = new System.Windows.Forms.TabControl();
|
||||
this.tabPage1 = new System.Windows.Forms.TabPage();
|
||||
this.buttonUninstall = new System.Windows.Forms.Button();
|
||||
this.buttonUpdate = new System.Windows.Forms.Button();
|
||||
this.buttonPlay = new System.Windows.Forms.Button();
|
||||
this.groupDeveloperToolBox = new System.Windows.Forms.GroupBox();
|
||||
this.groupBox3 = new System.Windows.Forms.GroupBox();
|
||||
this.buttonChecksumTool = new System.Windows.Forms.Button();
|
||||
this.textExecuteblePath = new System.Windows.Forms.TextBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.groupBox2 = new System.Windows.Forms.GroupBox();
|
||||
this.labelVersion = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.picGameIcon = new System.Windows.Forms.PictureBox();
|
||||
this.tabPage2 = new System.Windows.Forms.TabPage();
|
||||
this.listAchievements = new System.Windows.Forms.ListView();
|
||||
this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.columnHeader3 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.columnHeader5 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.tabPage3 = new System.Windows.Forms.TabPage();
|
||||
this.menuStrip.SuspendLayout();
|
||||
this.tabControl1.SuspendLayout();
|
||||
this.tabPage1.SuspendLayout();
|
||||
this.groupDeveloperToolBox.SuspendLayout();
|
||||
this.groupBox3.SuspendLayout();
|
||||
this.groupBox2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.picGameIcon)).BeginInit();
|
||||
this.tabPage2.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// menuStrip
|
||||
//
|
||||
this.menuStrip.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.menuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.fileToolStripMenuItem,
|
||||
this.helpToolStripMenuItem,
|
||||
this.friendsToolStripMenuItem});
|
||||
this.menuStrip.Location = new System.Drawing.Point(0, 0);
|
||||
this.menuStrip.Name = "menuStrip";
|
||||
this.menuStrip.Size = new System.Drawing.Size(846, 24);
|
||||
this.menuStrip.TabIndex = 0;
|
||||
this.menuStrip.Text = "menuStrip1";
|
||||
//
|
||||
// fileToolStripMenuItem
|
||||
//
|
||||
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.settingsToolStripMenuItem,
|
||||
this.toolStripSeparator1,
|
||||
this.logoutToolStripMenuItem,
|
||||
this.exitToolStripMenuItem});
|
||||
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
|
||||
this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
|
||||
this.fileToolStripMenuItem.Text = "File";
|
||||
//
|
||||
// settingsToolStripMenuItem
|
||||
//
|
||||
this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem";
|
||||
this.settingsToolStripMenuItem.Size = new System.Drawing.Size(116, 22);
|
||||
this.settingsToolStripMenuItem.Text = "Settings";
|
||||
//
|
||||
// toolStripSeparator1
|
||||
//
|
||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||
this.toolStripSeparator1.Size = new System.Drawing.Size(113, 6);
|
||||
//
|
||||
// logoutToolStripMenuItem
|
||||
//
|
||||
this.logoutToolStripMenuItem.Name = "logoutToolStripMenuItem";
|
||||
this.logoutToolStripMenuItem.Size = new System.Drawing.Size(116, 22);
|
||||
this.logoutToolStripMenuItem.Text = "Logout";
|
||||
this.logoutToolStripMenuItem.Click += new System.EventHandler(this.logoutToolStripMenuItem_Click);
|
||||
//
|
||||
// exitToolStripMenuItem
|
||||
//
|
||||
this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
|
||||
this.exitToolStripMenuItem.Size = new System.Drawing.Size(116, 22);
|
||||
this.exitToolStripMenuItem.Text = "Exit";
|
||||
this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
|
||||
//
|
||||
// helpToolStripMenuItem
|
||||
//
|
||||
this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.aboutToolStripMenuItem});
|
||||
this.helpToolStripMenuItem.Name = "helpToolStripMenuItem";
|
||||
this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20);
|
||||
this.helpToolStripMenuItem.Text = "Help";
|
||||
//
|
||||
// aboutToolStripMenuItem
|
||||
//
|
||||
this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem";
|
||||
this.aboutToolStripMenuItem.Size = new System.Drawing.Size(187, 22);
|
||||
this.aboutToolStripMenuItem.Text = "About GamerServices";
|
||||
this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click);
|
||||
//
|
||||
// friendsToolStripMenuItem
|
||||
//
|
||||
this.friendsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.onlineToolStripMenuItem,
|
||||
this.offlineToolStripMenuItem,
|
||||
this.requestsToolStripMenuItem,
|
||||
this.addToolStripMenuItem});
|
||||
this.friendsToolStripMenuItem.Name = "friendsToolStripMenuItem";
|
||||
this.friendsToolStripMenuItem.Size = new System.Drawing.Size(57, 20);
|
||||
this.friendsToolStripMenuItem.Text = "Friends";
|
||||
//
|
||||
// onlineToolStripMenuItem
|
||||
//
|
||||
this.onlineToolStripMenuItem.Name = "onlineToolStripMenuItem";
|
||||
this.onlineToolStripMenuItem.Size = new System.Drawing.Size(130, 22);
|
||||
this.onlineToolStripMenuItem.Text = "Online";
|
||||
//
|
||||
// offlineToolStripMenuItem
|
||||
//
|
||||
this.offlineToolStripMenuItem.Name = "offlineToolStripMenuItem";
|
||||
this.offlineToolStripMenuItem.Size = new System.Drawing.Size(130, 22);
|
||||
this.offlineToolStripMenuItem.Text = "Offline";
|
||||
//
|
||||
// requestsToolStripMenuItem
|
||||
//
|
||||
this.requestsToolStripMenuItem.Name = "requestsToolStripMenuItem";
|
||||
this.requestsToolStripMenuItem.Size = new System.Drawing.Size(130, 22);
|
||||
this.requestsToolStripMenuItem.Text = "Requests";
|
||||
//
|
||||
// addToolStripMenuItem
|
||||
//
|
||||
this.addToolStripMenuItem.Name = "addToolStripMenuItem";
|
||||
this.addToolStripMenuItem.Size = new System.Drawing.Size(130, 22);
|
||||
this.addToolStripMenuItem.Text = "Add friend";
|
||||
this.addToolStripMenuItem.Click += new System.EventHandler(this.addToolStripMenuItem_Click);
|
||||
//
|
||||
// trayIcon
|
||||
//
|
||||
this.trayIcon.Icon = ((System.Drawing.Icon)(resources.GetObject("trayIcon.Icon")));
|
||||
this.trayIcon.Text = "GamerServices";
|
||||
this.trayIcon.BalloonTipClicked += new System.EventHandler(this.trayIcon_BalloonTipClicked);
|
||||
this.trayIcon.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.trayIcon_MouseDoubleClick);
|
||||
//
|
||||
// timerUpdate
|
||||
//
|
||||
this.timerUpdate.Enabled = true;
|
||||
this.timerUpdate.Interval = 10;
|
||||
this.timerUpdate.Tick += new System.EventHandler(this.timerUpdate_Tick);
|
||||
//
|
||||
// listGames
|
||||
//
|
||||
this.listGames.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.listGames.BackColor = System.Drawing.Color.White;
|
||||
this.listGames.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.columnHeader1});
|
||||
this.listGames.FullRowSelect = true;
|
||||
this.listGames.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
|
||||
this.listGames.HideSelection = false;
|
||||
this.listGames.LabelWrap = false;
|
||||
this.listGames.Location = new System.Drawing.Point(12, 33);
|
||||
this.listGames.MultiSelect = false;
|
||||
this.listGames.Name = "listGames";
|
||||
this.listGames.Size = new System.Drawing.Size(193, 484);
|
||||
this.listGames.SmallImageList = this.gameIconList;
|
||||
this.listGames.TabIndex = 1;
|
||||
this.listGames.UseCompatibleStateImageBehavior = false;
|
||||
this.listGames.View = System.Windows.Forms.View.List;
|
||||
this.listGames.SelectedIndexChanged += new System.EventHandler(this.listGames_SelectedIndexChanged);
|
||||
this.listGames.MouseClick += new System.Windows.Forms.MouseEventHandler(this.listGames_MouseClick);
|
||||
//
|
||||
// columnHeader1
|
||||
//
|
||||
this.columnHeader1.Text = "";
|
||||
this.columnHeader1.Width = 193;
|
||||
//
|
||||
// gameIconList
|
||||
//
|
||||
this.gameIconList.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("gameIconList.ImageStream")));
|
||||
this.gameIconList.TransparentColor = System.Drawing.Color.Transparent;
|
||||
this.gameIconList.Images.SetKeyName(0, "wireless_mouse.ico");
|
||||
this.gameIconList.Images.SetKeyName(1, "wireless_mouse.png");
|
||||
this.gameIconList.Images.SetKeyName(2, "wireless_mouse_grayed.png");
|
||||
this.gameIconList.Images.SetKeyName(3, "wireless_mouse_yellow.png");
|
||||
//
|
||||
// labelGameDescription
|
||||
//
|
||||
this.labelGameDescription.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.labelGameDescription.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||
this.labelGameDescription.Font = new System.Drawing.Font("Calibri", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.labelGameDescription.Location = new System.Drawing.Point(6, 70);
|
||||
this.labelGameDescription.Name = "labelGameDescription";
|
||||
this.labelGameDescription.Size = new System.Drawing.Size(610, 161);
|
||||
this.labelGameDescription.TabIndex = 1;
|
||||
this.labelGameDescription.Text = "labelGameDescription";
|
||||
//
|
||||
// labelGameName
|
||||
//
|
||||
this.labelGameName.AutoSize = true;
|
||||
this.labelGameName.Font = new System.Drawing.Font("Calibri", 21.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.labelGameName.Location = new System.Drawing.Point(44, 3);
|
||||
this.labelGameName.Name = "labelGameName";
|
||||
this.labelGameName.Size = new System.Drawing.Size(211, 36);
|
||||
this.labelGameName.TabIndex = 0;
|
||||
this.labelGameName.Text = "labelGameName";
|
||||
//
|
||||
// PingTimer
|
||||
//
|
||||
this.PingTimer.Enabled = true;
|
||||
this.PingTimer.Interval = 30000;
|
||||
this.PingTimer.Tick += new System.EventHandler(this.PingTimer_Tick);
|
||||
//
|
||||
// tabControl1
|
||||
//
|
||||
this.tabControl1.Appearance = System.Windows.Forms.TabAppearance.FlatButtons;
|
||||
this.tabControl1.Controls.Add(this.tabPage1);
|
||||
this.tabControl1.Controls.Add(this.tabPage2);
|
||||
this.tabControl1.Controls.Add(this.tabPage3);
|
||||
this.tabControl1.Location = new System.Drawing.Point(208, 33);
|
||||
this.tabControl1.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.tabControl1.Name = "tabControl1";
|
||||
this.tabControl1.SelectedIndex = 0;
|
||||
this.tabControl1.Size = new System.Drawing.Size(630, 484);
|
||||
this.tabControl1.TabIndex = 3;
|
||||
//
|
||||
// tabPage1
|
||||
//
|
||||
this.tabPage1.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.tabPage1.Controls.Add(this.buttonUninstall);
|
||||
this.tabPage1.Controls.Add(this.buttonUpdate);
|
||||
this.tabPage1.Controls.Add(this.buttonPlay);
|
||||
this.tabPage1.Controls.Add(this.groupDeveloperToolBox);
|
||||
this.tabPage1.Controls.Add(this.picGameIcon);
|
||||
this.tabPage1.Controls.Add(this.labelGameName);
|
||||
this.tabPage1.Controls.Add(this.labelGameDescription);
|
||||
this.tabPage1.Location = new System.Drawing.Point(4, 25);
|
||||
this.tabPage1.Name = "tabPage1";
|
||||
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPage1.Size = new System.Drawing.Size(622, 455);
|
||||
this.tabPage1.TabIndex = 0;
|
||||
this.tabPage1.Text = "Info";
|
||||
//
|
||||
// buttonUninstall
|
||||
//
|
||||
this.buttonUninstall.Location = new System.Drawing.Point(168, 44);
|
||||
this.buttonUninstall.Name = "buttonUninstall";
|
||||
this.buttonUninstall.Size = new System.Drawing.Size(75, 23);
|
||||
this.buttonUninstall.TabIndex = 6;
|
||||
this.buttonUninstall.Text = "Uninstall";
|
||||
this.buttonUninstall.UseVisualStyleBackColor = true;
|
||||
this.buttonUninstall.Visible = false;
|
||||
this.buttonUninstall.Click += new System.EventHandler(this.buttonUninstall_Click);
|
||||
//
|
||||
// buttonUpdate
|
||||
//
|
||||
this.buttonUpdate.Location = new System.Drawing.Point(87, 44);
|
||||
this.buttonUpdate.Name = "buttonUpdate";
|
||||
this.buttonUpdate.Size = new System.Drawing.Size(75, 23);
|
||||
this.buttonUpdate.TabIndex = 5;
|
||||
this.buttonUpdate.Text = "Update";
|
||||
this.buttonUpdate.UseVisualStyleBackColor = true;
|
||||
this.buttonUpdate.Visible = false;
|
||||
this.buttonUpdate.Click += new System.EventHandler(this.buttonUpdate_Click);
|
||||
//
|
||||
// buttonPlay
|
||||
//
|
||||
this.buttonPlay.Location = new System.Drawing.Point(6, 44);
|
||||
this.buttonPlay.Name = "buttonPlay";
|
||||
this.buttonPlay.Size = new System.Drawing.Size(75, 23);
|
||||
this.buttonPlay.TabIndex = 4;
|
||||
this.buttonPlay.Text = "Play";
|
||||
this.buttonPlay.UseVisualStyleBackColor = true;
|
||||
this.buttonPlay.Visible = false;
|
||||
this.buttonPlay.Click += new System.EventHandler(this.buttonPlay_Click);
|
||||
//
|
||||
// groupDeveloperToolBox
|
||||
//
|
||||
this.groupDeveloperToolBox.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.groupDeveloperToolBox.Controls.Add(this.groupBox3);
|
||||
this.groupDeveloperToolBox.Controls.Add(this.groupBox2);
|
||||
this.groupDeveloperToolBox.Location = new System.Drawing.Point(6, 234);
|
||||
this.groupDeveloperToolBox.Name = "groupDeveloperToolBox";
|
||||
this.groupDeveloperToolBox.Size = new System.Drawing.Size(610, 215);
|
||||
this.groupDeveloperToolBox.TabIndex = 3;
|
||||
this.groupDeveloperToolBox.TabStop = false;
|
||||
this.groupDeveloperToolBox.Text = "Developer Settings";
|
||||
this.groupDeveloperToolBox.Visible = false;
|
||||
//
|
||||
// groupBox3
|
||||
//
|
||||
this.groupBox3.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.groupBox3.Controls.Add(this.buttonChecksumTool);
|
||||
this.groupBox3.Controls.Add(this.textExecuteblePath);
|
||||
this.groupBox3.Controls.Add(this.label1);
|
||||
this.groupBox3.Location = new System.Drawing.Point(6, 19);
|
||||
this.groupBox3.Name = "groupBox3";
|
||||
this.groupBox3.Size = new System.Drawing.Size(383, 190);
|
||||
this.groupBox3.TabIndex = 4;
|
||||
this.groupBox3.TabStop = false;
|
||||
this.groupBox3.Text = "Settings";
|
||||
//
|
||||
// buttonChecksumTool
|
||||
//
|
||||
this.buttonChecksumTool.Location = new System.Drawing.Point(9, 161);
|
||||
this.buttonChecksumTool.Name = "buttonChecksumTool";
|
||||
this.buttonChecksumTool.Size = new System.Drawing.Size(112, 23);
|
||||
this.buttonChecksumTool.TabIndex = 4;
|
||||
this.buttonChecksumTool.Text = "Checksum tool";
|
||||
this.buttonChecksumTool.UseVisualStyleBackColor = true;
|
||||
this.buttonChecksumTool.Click += new System.EventHandler(this.buttonChecksumTool_Click);
|
||||
//
|
||||
// textExecuteblePath
|
||||
//
|
||||
this.textExecuteblePath.Location = new System.Drawing.Point(221, 13);
|
||||
this.textExecuteblePath.Name = "textExecuteblePath";
|
||||
this.textExecuteblePath.Size = new System.Drawing.Size(156, 20);
|
||||
this.textExecuteblePath.TabIndex = 3;
|
||||
this.textExecuteblePath.TextChanged += new System.EventHandler(this.textExecuteblePath_TextChanged);
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(6, 16);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(126, 13);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "Current executeble path: ";
|
||||
//
|
||||
// groupBox2
|
||||
//
|
||||
this.groupBox2.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.groupBox2.Controls.Add(this.labelVersion);
|
||||
this.groupBox2.Controls.Add(this.label3);
|
||||
this.groupBox2.Location = new System.Drawing.Point(404, 19);
|
||||
this.groupBox2.Name = "groupBox2";
|
||||
this.groupBox2.Size = new System.Drawing.Size(200, 190);
|
||||
this.groupBox2.TabIndex = 3;
|
||||
this.groupBox2.TabStop = false;
|
||||
this.groupBox2.Text = "Updating";
|
||||
//
|
||||
// labelVersion
|
||||
//
|
||||
this.labelVersion.Location = new System.Drawing.Point(103, 16);
|
||||
this.labelVersion.Name = "labelVersion";
|
||||
this.labelVersion.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
|
||||
this.labelVersion.Size = new System.Drawing.Size(91, 13);
|
||||
this.labelVersion.TabIndex = 3;
|
||||
this.labelVersion.Text = "0.0.0.0";
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(6, 16);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(76, 13);
|
||||
this.label3.TabIndex = 2;
|
||||
this.label3.Text = "Local version: ";
|
||||
//
|
||||
// picGameIcon
|
||||
//
|
||||
this.picGameIcon.Location = new System.Drawing.Point(6, 6);
|
||||
this.picGameIcon.Name = "picGameIcon";
|
||||
this.picGameIcon.Size = new System.Drawing.Size(32, 32);
|
||||
this.picGameIcon.TabIndex = 2;
|
||||
this.picGameIcon.TabStop = false;
|
||||
//
|
||||
// tabPage2
|
||||
//
|
||||
this.tabPage2.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.tabPage2.Controls.Add(this.listAchievements);
|
||||
this.tabPage2.Location = new System.Drawing.Point(4, 25);
|
||||
this.tabPage2.Name = "tabPage2";
|
||||
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPage2.Size = new System.Drawing.Size(622, 455);
|
||||
this.tabPage2.TabIndex = 1;
|
||||
this.tabPage2.Text = "Achievements";
|
||||
//
|
||||
// listAchievements
|
||||
//
|
||||
this.listAchievements.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.columnHeader2,
|
||||
this.columnHeader3,
|
||||
this.columnHeader5});
|
||||
this.listAchievements.FullRowSelect = true;
|
||||
this.listAchievements.LabelWrap = false;
|
||||
this.listAchievements.Location = new System.Drawing.Point(6, 6);
|
||||
this.listAchievements.Name = "listAchievements";
|
||||
this.listAchievements.Size = new System.Drawing.Size(610, 443);
|
||||
this.listAchievements.TabIndex = 0;
|
||||
this.listAchievements.UseCompatibleStateImageBehavior = false;
|
||||
this.listAchievements.View = System.Windows.Forms.View.Details;
|
||||
this.listAchievements.SelectedIndexChanged += new System.EventHandler(this.listAchievements_SelectedIndexChanged);
|
||||
//
|
||||
// columnHeader2
|
||||
//
|
||||
this.columnHeader2.Text = "Name";
|
||||
this.columnHeader2.Width = 200;
|
||||
//
|
||||
// columnHeader3
|
||||
//
|
||||
this.columnHeader3.Text = "Points";
|
||||
//
|
||||
// columnHeader5
|
||||
//
|
||||
this.columnHeader5.Text = "Description";
|
||||
this.columnHeader5.Width = 224;
|
||||
//
|
||||
// tabPage3
|
||||
//
|
||||
this.tabPage3.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.tabPage3.Location = new System.Drawing.Point(4, 25);
|
||||
this.tabPage3.Name = "tabPage3";
|
||||
this.tabPage3.Size = new System.Drawing.Size(622, 455);
|
||||
this.tabPage3.TabIndex = 2;
|
||||
this.tabPage3.Text = "Leaderboard";
|
||||
//
|
||||
// FormMain
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.ClientSize = new System.Drawing.Size(846, 523);
|
||||
this.Controls.Add(this.tabControl1);
|
||||
this.Controls.Add(this.listGames);
|
||||
this.Controls.Add(this.menuStrip);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MainMenuStrip = this.menuStrip;
|
||||
this.MaximizeBox = false;
|
||||
this.Name = "FormMain";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "GamerServices";
|
||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FormMain_FormClosing);
|
||||
this.Load += new System.EventHandler(this.FormMain_Load);
|
||||
this.menuStrip.ResumeLayout(false);
|
||||
this.menuStrip.PerformLayout();
|
||||
this.tabControl1.ResumeLayout(false);
|
||||
this.tabPage1.ResumeLayout(false);
|
||||
this.tabPage1.PerformLayout();
|
||||
this.groupDeveloperToolBox.ResumeLayout(false);
|
||||
this.groupBox3.ResumeLayout(false);
|
||||
this.groupBox3.PerformLayout();
|
||||
this.groupBox2.ResumeLayout(false);
|
||||
this.groupBox2.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.picGameIcon)).EndInit();
|
||||
this.tabPage2.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.MenuStrip menuStrip;
|
||||
private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem settingsToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
|
||||
private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem friendsToolStripMenuItem;
|
||||
public System.Windows.Forms.NotifyIcon trayIcon;
|
||||
private System.Windows.Forms.Timer timerUpdate;
|
||||
private System.Windows.Forms.ListView listGames;
|
||||
private System.Windows.Forms.ImageList gameIconList;
|
||||
private System.Windows.Forms.Label labelGameName;
|
||||
private System.Windows.Forms.Label labelGameDescription;
|
||||
private System.Windows.Forms.PictureBox picGameIcon;
|
||||
private System.Windows.Forms.Timer PingTimer;
|
||||
private System.Windows.Forms.ColumnHeader columnHeader1;
|
||||
private System.Windows.Forms.ToolStripMenuItem onlineToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem offlineToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem requestsToolStripMenuItem;
|
||||
private System.Windows.Forms.TabControl tabControl1;
|
||||
private System.Windows.Forms.TabPage tabPage1;
|
||||
private System.Windows.Forms.TabPage tabPage2;
|
||||
private System.Windows.Forms.TabPage tabPage3;
|
||||
private System.Windows.Forms.ListView listAchievements;
|
||||
private System.Windows.Forms.ColumnHeader columnHeader2;
|
||||
private System.Windows.Forms.ColumnHeader columnHeader3;
|
||||
private System.Windows.Forms.ColumnHeader columnHeader5;
|
||||
private System.Windows.Forms.ToolStripMenuItem logoutToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem addToolStripMenuItem;
|
||||
private System.Windows.Forms.GroupBox groupDeveloperToolBox;
|
||||
private System.Windows.Forms.GroupBox groupBox3;
|
||||
private System.Windows.Forms.TextBox textExecuteblePath;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.GroupBox groupBox2;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label labelVersion;
|
||||
private System.Windows.Forms.Button buttonPlay;
|
||||
private System.Windows.Forms.Button buttonUninstall;
|
||||
private System.Windows.Forms.Button buttonUpdate;
|
||||
private System.Windows.Forms.Button buttonChecksumTool;
|
||||
}
|
||||
}
|
777
GamerServices/Systems/Forms/FormMain.cs
Normal file
777
GamerServices/Systems/Forms/FormMain.cs
Normal file
@ -0,0 +1,777 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
using System.Windows.Shell;
|
||||
|
||||
namespace GamerServices
|
||||
{
|
||||
public partial class FormMain : Form {
|
||||
#region Varibles
|
||||
public String GamerServicesVersion;
|
||||
public Networker Networker;
|
||||
public Downloader Downloader;
|
||||
|
||||
public FormLogin FormLogin;
|
||||
|
||||
public String Username = "Bromvlieg";
|
||||
public String Sessionkey = "";
|
||||
public bool Connected = false;
|
||||
public byte PopupAction = 0;
|
||||
|
||||
public Game[] Games;
|
||||
public Game CurrentPlayingGame;
|
||||
public List<Friend> Friends = new List<Friend>();
|
||||
public Font DefaultFont;
|
||||
|
||||
Properties.Settings settings = new Properties.Settings();
|
||||
|
||||
public String Settings_Username {
|
||||
get { return settings.Username; }
|
||||
set { settings.Username = value; }
|
||||
}
|
||||
|
||||
public String Settings_Password {
|
||||
get { return settings.Password; }
|
||||
set { settings.Password = value; }
|
||||
}
|
||||
#endregion
|
||||
|
||||
public FormMain(FormLogin log)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
Networker = new GamerServices.Networker(this);
|
||||
Downloader = new Downloader(this);
|
||||
|
||||
FormLogin = log;
|
||||
|
||||
bool changed = false;
|
||||
MrAG.Config.Read("config.gs");
|
||||
|
||||
if (!MrAG.Config.Section_Exists("Main")) {
|
||||
System.Collections.Hashtable maintbl = new System.Collections.Hashtable();
|
||||
|
||||
maintbl["Version"] = "0.0.0.0";
|
||||
maintbl["Language"] = "English";
|
||||
|
||||
MrAG.Config.Section_Set("Main", maintbl);
|
||||
|
||||
changed = true;
|
||||
}
|
||||
|
||||
if (!MrAG.Config.Section_Exists("Fonts")) {
|
||||
System.Collections.Hashtable maintbl = new System.Collections.Hashtable();
|
||||
|
||||
maintbl["General"] = "Microsoft Sans Serif";
|
||||
maintbl["General_Size"] = "8.25";
|
||||
maintbl["General_Style"] = "Regular";
|
||||
maintbl["GameDesc"] = "Calibri";
|
||||
maintbl["GameDesc_Size"] = "9.75";
|
||||
maintbl["GameDesc_Style"] = "Regular";
|
||||
maintbl["Chat"] = "Microsoft Sans Serif";
|
||||
maintbl["Chat_Size"] = "8.25";
|
||||
maintbl["Chat_Style"] = "Regular";
|
||||
maintbl["Chat_Header"] = "Calibri";
|
||||
maintbl["Chat_Header_Size"] = "14.25";
|
||||
maintbl["Chat_Header_Style"] = "Bold";
|
||||
maintbl["Chat_Sub"] = "Calibri";
|
||||
maintbl["Chat_Sub_Size"] = "9";
|
||||
maintbl["Chat_Sub_Style"] = "Regular";
|
||||
|
||||
MrAG.Config.Section_Set("Fonts", maintbl);
|
||||
|
||||
changed = true;
|
||||
}
|
||||
|
||||
if (!MrAG.Config.Section_Exists("Settings")) {
|
||||
System.Collections.Hashtable maintbl = new System.Collections.Hashtable();
|
||||
|
||||
maintbl["ChatSound"] = "true";
|
||||
maintbl["ChatPopup"] = "true";
|
||||
maintbl["ChatPopupIngame"] = "true";
|
||||
maintbl["ChatFlash"] = "true";
|
||||
maintbl["IngamePopups"] = "true";
|
||||
|
||||
MrAG.Config.Section_Set("Settings", maintbl);
|
||||
|
||||
changed = true;
|
||||
}
|
||||
|
||||
if (!MrAG.Config.Section_Exists("Friends_Blocked")) {
|
||||
MrAG.Config.Section_Set("Friends_Blocked", new System.Collections.Hashtable());
|
||||
|
||||
changed = true;
|
||||
}
|
||||
|
||||
if (!MrAG.Config.Section_Exists("Friends_Renamed")) {
|
||||
MrAG.Config.Section_Set("Friends_Renamed", new System.Collections.Hashtable());
|
||||
|
||||
changed = true;
|
||||
}
|
||||
|
||||
if (changed)
|
||||
MrAG.Config.Write("config.gs");
|
||||
|
||||
this.GamerServicesVersion = MrAG.Config.Value_Get("Main", "Version");
|
||||
|
||||
DefaultFont = GetFont("General");
|
||||
|
||||
labelGameDescription.Font = GetFont("GameDesc");
|
||||
fileToolStripMenuItem.Font = DefaultFont;
|
||||
helpToolStripMenuItem.Font = DefaultFont;
|
||||
friendsToolStripMenuItem.Font = DefaultFont;
|
||||
tabControl1.Font = DefaultFont;
|
||||
listAchievements.Font = DefaultFont;
|
||||
listGames.Font = DefaultFont;
|
||||
}
|
||||
|
||||
public Font GetFont(string configname) {
|
||||
string name = MrAG.Config.Value_Get("Fonts", configname, "Calibri");
|
||||
float size = float.Parse(MrAG.Config.Value_Get("Fonts", configname + "_Size", "8.5"), System.Globalization.CultureInfo.InvariantCulture.NumberFormat);
|
||||
FontStyle style = FontStyle.Regular;
|
||||
|
||||
switch(MrAG.Config.Value_Get("Fonts", configname + "_Style", "Regular")){
|
||||
case "Bold":
|
||||
style = FontStyle.Bold;
|
||||
break;
|
||||
|
||||
case "Italic":
|
||||
style = FontStyle.Italic;
|
||||
break;
|
||||
|
||||
case "Regular":
|
||||
style = FontStyle.Regular;
|
||||
break;
|
||||
|
||||
case "Strikeout":
|
||||
style = FontStyle.Strikeout;
|
||||
break;
|
||||
|
||||
case "Underline":
|
||||
style = FontStyle.Underline;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return new Font(name, size, style);
|
||||
}
|
||||
|
||||
#region Public functions
|
||||
public void Die(String Reason)
|
||||
{
|
||||
if (Sessionkey != "")
|
||||
Networker.Logout();
|
||||
|
||||
this.trayIcon.Dispose();
|
||||
MessageBox.Show(Reason, "Fatal error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
System.Diagnostics.Process.GetCurrentProcess().Kill();
|
||||
}
|
||||
|
||||
public void Error(String Reason)
|
||||
{
|
||||
MessageBox.Show(Reason, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
|
||||
public void Error(String title, String Reason, MessageBoxIcon icon)
|
||||
{
|
||||
MessageBox.Show(Reason, title, MessageBoxButtons.OK, icon);
|
||||
}
|
||||
|
||||
public void PlaceholderText()
|
||||
{
|
||||
picGameIcon.Image = new Bitmap(32, 32);
|
||||
labelGameName.Text = "...";
|
||||
labelGameDescription.Text = "...";
|
||||
}
|
||||
|
||||
public Game GetGame(short ID) {
|
||||
foreach (Game g in Games) {
|
||||
if (g.GameID == ID)
|
||||
return g;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public Friend GetFriend(string username) {
|
||||
foreach (Friend f in Friends) {
|
||||
if (f.Username == username)
|
||||
return f;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public Friend GetFriend(int userID) {
|
||||
foreach (Friend f in Friends) {
|
||||
if (f.UserID == userID)
|
||||
return f;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public void Popup(string title, string msg, byte action) {
|
||||
if (this.CurrentPlayingGame != null && this.CurrentPlayingGame.GetAPIConnection() != null) {
|
||||
this.CurrentPlayingGame.GetAPIConnection().Send(5, 9 + msg.Length + title.Length, title, msg, (byte)0);
|
||||
} else {
|
||||
this.PopupAction = action;
|
||||
this.trayIcon.BalloonTipTitle = title;
|
||||
this.trayIcon.ShowBalloonTip(2000, title, msg, ToolTipIcon.Info);
|
||||
}
|
||||
}
|
||||
|
||||
public void Popup(string title, string msg, byte action, byte msgtype) {
|
||||
if (this.CurrentPlayingGame != null && this.CurrentPlayingGame.GetAPIConnection() != null) {
|
||||
if (msgtype == 1) {
|
||||
Friend f = GetFriend(title);
|
||||
if (f != null){
|
||||
string url = "http://" + "www.gravatar.com/avatar/" + f.AvatarURL + "?s=64";
|
||||
this.CurrentPlayingGame.GetAPIConnection().Send(6, 9 + url.Length + title.Length, title, url);
|
||||
}
|
||||
}
|
||||
this.CurrentPlayingGame.GetAPIConnection().Send(5, 9 + msg.Length + title.Length, title, msg, msgtype);
|
||||
} else {
|
||||
this.PopupAction = action;
|
||||
this.trayIcon.BalloonTipTitle = title;
|
||||
this.trayIcon.ShowBalloonTip(2000, title, msg, ToolTipIcon.Info);
|
||||
}
|
||||
}
|
||||
|
||||
public void SetGameData(short gameID, string text, Game.GameStatus status) {
|
||||
for (int i = 0; i < this.listGames.Items.Count; i++) {
|
||||
if ((short)this.listGames.Items[i].Tag == gameID) {
|
||||
this.listGames.Items[i].Text = text;
|
||||
this.listGames.Items[i].ImageIndex = (int)status;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void SortGames() {
|
||||
lock (Games) {
|
||||
Games = Games.OrderBy(Game => Game.Status).ToArray<Game>();
|
||||
UpdateGamesList();
|
||||
}
|
||||
}
|
||||
|
||||
public void LoadRemainingDownloads() {
|
||||
if (!File.Exists("downloading.txt"))
|
||||
return;
|
||||
|
||||
string[] data = File.ReadAllText("downloading.txt").Replace("\t", "").Split('\n');
|
||||
|
||||
if (data.Length > 0 && data[0].Length > 0) {
|
||||
lock (Downloader.FilesToDownload) {
|
||||
for (int i = 0; i < data.Length; i++) {
|
||||
string[] verngameid = data[i].Split(' ');
|
||||
short GameID = short.Parse(verngameid[0]);
|
||||
int actions = 0;
|
||||
Game g = GetGame(GameID);
|
||||
g.Status = Game.GameStatus.DOWNLOADING;
|
||||
g.Version = verngameid[1];
|
||||
|
||||
if (data[i + 1] == "{") {
|
||||
i += 2;
|
||||
while (data[i] != "}") {
|
||||
Downloader.DownloadInfo info = new Downloader.DownloadInfo();
|
||||
info.Path = data[i + 0];
|
||||
info.URL = "http://" + "gs.mrag.nl/download.php?gid=" + GameID + "&file=" + data[i + 0];
|
||||
info.Action = byte.Parse(data[i + 1]);
|
||||
info.GameID = GameID;
|
||||
info.Version = g.Version;
|
||||
|
||||
Downloader.FilesToDownload.Add(info);
|
||||
actions++;
|
||||
i += 2;
|
||||
}
|
||||
}
|
||||
|
||||
for (int i2 = 0; i2 < Downloader.FilesToDownload.Count; i2++) {
|
||||
if (Downloader.FilesToDownload[i2].GameID == GameID) {
|
||||
Downloader.FilesToDownload[i2].TotalActions = actions;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void UpdateGamesList()
|
||||
{
|
||||
lock (this.listGames) {
|
||||
this.listGames.Items.Clear();
|
||||
|
||||
for (int i = 0; i < this.Games.Length; i++) {
|
||||
ListViewItem lvi = new ListViewItem(this.Games[i].Name);
|
||||
lvi.ImageIndex = (int)this.Games[i].Status;
|
||||
this.listGames.Items.Add(lvi);
|
||||
lvi.Tag = this.Games[i].GameID;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void AddFriend(string name, int userID, bool online, string avatar, short curgame) {
|
||||
Friend f = new Friend(this);
|
||||
f.Username = name;
|
||||
f.Online = online;
|
||||
f.UserID = userID;
|
||||
f.AvatarURL = avatar;
|
||||
f.GameID = curgame;
|
||||
|
||||
Friends.Add(f);
|
||||
|
||||
UpdateFriendList();
|
||||
}
|
||||
|
||||
public void AddFriendRequest(string username) {
|
||||
ToolStripMenuItem itm = new ToolStripMenuItem();
|
||||
itm.Text = username;
|
||||
itm.Click += new EventHandler(OpenChat);
|
||||
|
||||
ToolStripMenuItem y = new ToolStripMenuItem();
|
||||
y.Text = "Accept";
|
||||
y.Tag = username;
|
||||
y.Click += new EventHandler(AcceptFriendRequest);
|
||||
|
||||
ToolStripMenuItem n = new ToolStripMenuItem();
|
||||
n.Text = "Decline";
|
||||
n.Tag = username;
|
||||
n.Click += new EventHandler(RefuseFriendRequest);
|
||||
|
||||
itm.DropDownItems.Add(y);
|
||||
itm.DropDownItems.Add(n);
|
||||
|
||||
requestsToolStripMenuItem.DropDownItems.Add(itm);
|
||||
}
|
||||
|
||||
public void UpdateFriendList() {
|
||||
onlineToolStripMenuItem.DropDownItems.Clear();
|
||||
offlineToolStripMenuItem.DropDownItems.Clear();
|
||||
|
||||
foreach (Friend f in Friends) {
|
||||
ToolStripMenuItem itm = new ToolStripMenuItem();
|
||||
itm.Text = f.Username;
|
||||
itm.Enabled = f.Online;
|
||||
itm.Click += new EventHandler(OpenChat);
|
||||
|
||||
if (f.Online) onlineToolStripMenuItem.DropDownItems.Add(itm);
|
||||
else offlineToolStripMenuItem.DropDownItems.Add(itm);
|
||||
}
|
||||
|
||||
onlineToolStripMenuItem.Text = "Online" + (onlineToolStripMenuItem.DropDownItems.Count > 0 ? " (" + onlineToolStripMenuItem.DropDownItems.Count + ")" : "");
|
||||
offlineToolStripMenuItem.Text = "Offline" + (offlineToolStripMenuItem.DropDownItems.Count > 0 ? " (" + offlineToolStripMenuItem.DropDownItems.Count + ")" : "");
|
||||
}
|
||||
|
||||
public void SetFriendOnline(int userID, bool online) {
|
||||
GetFriend(userID).SetOnline(online);
|
||||
UpdateFriendList();
|
||||
}
|
||||
|
||||
public void AcceptFriendRequest(object sender, EventArgs e) {
|
||||
Networker.Connection.Send(6, 0, (string)(sender as ToolStripMenuItem).Tag, true);
|
||||
|
||||
requestsToolStripMenuItem.DropDownItems.Remove((sender as ToolStripMenuItem).OwnerItem);
|
||||
}
|
||||
|
||||
public void RefuseFriendRequest(object sender, EventArgs e) {
|
||||
Networker.Connection.Send(6, 0, (string)(sender as ToolStripMenuItem).Tag, false);
|
||||
|
||||
requestsToolStripMenuItem.DropDownItems.Remove((sender as ToolStripMenuItem).OwnerItem);
|
||||
}
|
||||
|
||||
public void OpenChat(object sender, EventArgs e) {
|
||||
string name = (sender as ToolStripMenuItem).Text;
|
||||
|
||||
foreach (Friend f in Friends) {
|
||||
if (f.Username == name) {
|
||||
f.OpenChat();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Form Functions
|
||||
private void buttonUninstall_Click(object sender, EventArgs e) {
|
||||
if (listGames.SelectedItems.Count == 0)
|
||||
return;
|
||||
|
||||
Game_Uninstall(null, null);
|
||||
|
||||
buttonPlay.Text = "Install";
|
||||
buttonPlay.Visible = true;
|
||||
buttonUpdate.Visible = false;
|
||||
buttonUninstall.Visible = false;
|
||||
}
|
||||
|
||||
private void buttonUpdate_Click(object sender, EventArgs e) {
|
||||
if (listGames.SelectedItems.Count == 0)
|
||||
return;
|
||||
|
||||
Game_Update(null, null);
|
||||
|
||||
buttonPlay.Visible = false;
|
||||
buttonUpdate.Visible = false;
|
||||
buttonUninstall.Visible = false;
|
||||
}
|
||||
|
||||
private void buttonPlay_Click(object sender, EventArgs e) {
|
||||
if (listGames.SelectedItems.Count == 0)
|
||||
return;
|
||||
|
||||
short id = (short)listGames.SelectedItems[0].Tag;
|
||||
|
||||
if (buttonPlay.Text == "Play") {
|
||||
Game_Start(null, null);
|
||||
} else {
|
||||
Game_Install(null, null);
|
||||
}
|
||||
|
||||
Game Game = GetGame(id);
|
||||
if (Game == null)
|
||||
return;
|
||||
|
||||
buttonPlay.Text = Game.Status == GamerServices.Game.GameStatus.INSTALLED ? "Play" : Game.Status == GamerServices.Game.GameStatus.UNINSTALLED ? "Install" : "";
|
||||
buttonPlay.Visible = Game.Status != GamerServices.Game.GameStatus.DOWNLOADING;
|
||||
buttonUpdate.Visible = Game.Status == GamerServices.Game.GameStatus.INSTALLED;
|
||||
buttonUninstall.Visible = Game.Status == GamerServices.Game.GameStatus.INSTALLED;
|
||||
}
|
||||
|
||||
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
settings.Save();
|
||||
Networker.Logout();
|
||||
|
||||
foreach (Friend f in Friends) {
|
||||
if (f.ChatWindow != null) f.ChatWindow.Close();
|
||||
}
|
||||
|
||||
foreach (Game g in Games) {
|
||||
g.ForceStop = true;
|
||||
}
|
||||
|
||||
this.Close();
|
||||
FormLogin.Close();
|
||||
}
|
||||
|
||||
private void FormMain_Load(object sender, EventArgs e)
|
||||
{
|
||||
CheckForIllegalCrossThreadCalls = false;
|
||||
PlaceholderText();
|
||||
|
||||
LoadRemainingDownloads();
|
||||
}
|
||||
|
||||
private void timerUpdate_Tick(object sender, EventArgs e)
|
||||
{
|
||||
if (this.Connected) {
|
||||
Networker.Update();
|
||||
}
|
||||
}
|
||||
|
||||
private void listGames_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
PlaceholderText();
|
||||
|
||||
if (listGames.SelectedItems.Count == 1) {
|
||||
ListViewItem lvi = listGames.SelectedItems[0];
|
||||
Game Game = GetGame((short)lvi.Tag);
|
||||
if (Game != null) {
|
||||
labelGameName.Text = Game.Name;
|
||||
labelGameDescription.Text = Game.Description;
|
||||
buttonPlay.Text = Game.Status == GamerServices.Game.GameStatus.INSTALLED ? "Play" : Game.Status == GamerServices.Game.GameStatus.UNINSTALLED ? "Install" : "";
|
||||
buttonPlay.Visible = Game.Status != GamerServices.Game.GameStatus.DOWNLOADING;
|
||||
buttonUpdate.Visible = Game.Status == GamerServices.Game.GameStatus.INSTALLED;
|
||||
buttonUninstall.Visible = Game.Status == GamerServices.Game.GameStatus.INSTALLED;
|
||||
|
||||
if (Game.Status == GamerServices.Game.GameStatus.INSTALLED && File.Exists("Games/" + Game.GameID.ToString() + "/GameIcon.png"))
|
||||
{
|
||||
picGameIcon.Image = Image.FromFile("Games/" + Game.GameID.ToString() + "/GameIcon.png");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (File.Exists("Media/DefaultGameIcon.png"))
|
||||
picGameIcon.Image = Image.FromFile("Media/DefaultGameIcon.png");
|
||||
else
|
||||
picGameIcon.Image = new Bitmap(32, 32);
|
||||
}
|
||||
|
||||
groupDeveloperToolBox.Visible = Game.IsDevUser;
|
||||
if (Game.IsDevUser) {
|
||||
groupDeveloperToolBox.Text = "Developer Settings - " + Game.Name;
|
||||
textExecuteblePath.Text = Game.MainExe;
|
||||
labelVersion.Text = Game.Version;
|
||||
}
|
||||
|
||||
|
||||
listAchievements.Items.Clear();
|
||||
foreach (Game.Achievement a in Game.Achievements) {
|
||||
ListViewItem itm = new ListViewItem();
|
||||
|
||||
itm.Text = a.Name;
|
||||
itm.BackColor = Color.GreenYellow;
|
||||
itm.SubItems.Add(a.Points.ToString());
|
||||
|
||||
if (a.CurProg < a.TargetProg) {
|
||||
itm.BackColor = Color.OrangeRed;
|
||||
}
|
||||
|
||||
itm.SubItems.Add(a.Desc);
|
||||
|
||||
listAchievements.Items.Add(itm);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
labelGameName.Text = "...";
|
||||
labelGameDescription.Text = "";
|
||||
buttonPlay.Visible = false;
|
||||
buttonUpdate.Visible = false;
|
||||
buttonUninstall.Visible = false;
|
||||
groupDeveloperToolBox.Visible = false;
|
||||
listAchievements.Items.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
private string GetSub(string line, string find_start, string find_end) {
|
||||
int start = line.IndexOf(find_start) + find_start.Length;
|
||||
int end = line.IndexOf(find_end, start) - start;
|
||||
|
||||
return line.Substring(start, end);
|
||||
}
|
||||
|
||||
private void textExecuteblePath_TextChanged(object sender, EventArgs e) {
|
||||
if (listGames.SelectedItems.Count == 1) {
|
||||
Game Game = GetGame((short)listGames.SelectedItems[0].Tag);
|
||||
|
||||
Game.MainExe = textExecuteblePath.Text;
|
||||
}
|
||||
}
|
||||
|
||||
private void listGames_MouseClick(object sender, MouseEventArgs e)
|
||||
{
|
||||
if (listGames.SelectedItems.Count == 0)
|
||||
return;
|
||||
|
||||
if (e.Button == MouseButtons.Right)
|
||||
{
|
||||
Game Game = GetGame((short)listGames.SelectedItems[0].Tag);
|
||||
|
||||
ContextMenu context = new ContextMenu();
|
||||
|
||||
if (Game.Status == Game.GameStatus.UNINSTALLED) {
|
||||
MenuItem InstallItem = new MenuItem("Install");
|
||||
InstallItem.Click += new EventHandler(Game_Install);
|
||||
context.MenuItems.Add(InstallItem);
|
||||
}else if (Game.Status == Game.GameStatus.INSTALLED) {
|
||||
if (Game.IsDevUser) {
|
||||
MenuItem item8 = new MenuItem("Normal Options");
|
||||
item8.Enabled = false;
|
||||
context.MenuItems.Add(item8);
|
||||
}
|
||||
MenuItem item1 = new MenuItem("Start");
|
||||
item1.Click += new EventHandler(Game_Start);
|
||||
item1.Enabled = CurrentPlayingGame == null;
|
||||
context.MenuItems.Add(item1);
|
||||
|
||||
MenuItem item3 = new MenuItem("Update");
|
||||
item3.Click += new EventHandler(Game_Update);
|
||||
item3.Enabled = CurrentPlayingGame != Game;
|
||||
context.MenuItems.Add(item3);
|
||||
|
||||
MenuItem item2 = new MenuItem("Uninstall");
|
||||
item2.Click += new EventHandler(Game_Uninstall);
|
||||
item2.Enabled = CurrentPlayingGame != Game;
|
||||
context.MenuItems.Add(item2);
|
||||
|
||||
if (Game.IsDevUser) {
|
||||
MenuItem item7 = new MenuItem("Developer Options");
|
||||
item7.BarBreak = true;
|
||||
item7.Enabled = false;
|
||||
context.MenuItems.Add(item7);
|
||||
|
||||
MenuItem item5 = new MenuItem("Push update");
|
||||
item5.Click += new EventHandler(Game_DevUpdate);
|
||||
item5.Enabled = CurrentPlayingGame != Game;
|
||||
context.MenuItems.Add(item5);
|
||||
|
||||
MenuItem item4 = new MenuItem("Start");
|
||||
item4.Click += new EventHandler(Game_DevStart);
|
||||
item4.Enabled = CurrentPlayingGame == null;
|
||||
context.MenuItems.Add(item4);
|
||||
|
||||
MenuItem item6 = new MenuItem("Stop");
|
||||
item6.Click += new EventHandler(Game_DevStop);
|
||||
item6.Enabled = CurrentPlayingGame == Game && Game.Devmode;
|
||||
context.MenuItems.Add(item6);
|
||||
}
|
||||
}
|
||||
|
||||
context.Show(listGames, new Point(e.X, e.Y));
|
||||
}
|
||||
}
|
||||
|
||||
void Game_Start(object sender, EventArgs e) {
|
||||
GetGame((short)listGames.SelectedItems[0].Tag).Start();
|
||||
}
|
||||
|
||||
void Game_DevStart(object sender, EventArgs e) {
|
||||
GetGame((short)listGames.SelectedItems[0].Tag).DevStart();
|
||||
}
|
||||
|
||||
void Game_Update(object sender, EventArgs e) {
|
||||
GetGame((short)listGames.SelectedItems[0].Tag).Update();
|
||||
}
|
||||
|
||||
void Game_Install(object sender, EventArgs e)
|
||||
{
|
||||
GetGame((short)listGames.SelectedItems[0].Tag).Install();
|
||||
}
|
||||
|
||||
void Game_DevStop(object sender, EventArgs e) {
|
||||
GetGame((short)listGames.SelectedItems[0].Tag).DevStop();
|
||||
}
|
||||
|
||||
void Game_DevUpdate(object sender, EventArgs e) {
|
||||
GetGame((short)listGames.SelectedItems[0].Tag).DevUpdate();
|
||||
}
|
||||
|
||||
void Game_Uninstall(object sender, EventArgs e)
|
||||
{
|
||||
if (MessageBox.Show("Are you sure you want to uninstall?", "Uninstall", MessageBoxButtons.YesNo, MessageBoxIcon.Error) != DialogResult.Yes) {
|
||||
return;
|
||||
}
|
||||
|
||||
GetGame((short)listGames.SelectedItems[0].Tag).Uninstall();
|
||||
}
|
||||
|
||||
private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
new FormAbout().ShowDialog();
|
||||
}
|
||||
|
||||
private void PingTimer_Tick(object sender, EventArgs e) {
|
||||
if (this.Connected) {
|
||||
Networker.Connection.Send(2, 0);
|
||||
}
|
||||
}
|
||||
|
||||
private void FormMain_FormClosing(object sender, FormClosingEventArgs e) {
|
||||
Networker.Logout();
|
||||
settings.Save();
|
||||
this.trayIcon.Dispose();
|
||||
|
||||
FormLogin.Close();
|
||||
|
||||
if (Downloader != null && Downloader.DownloadThread != null)
|
||||
Downloader.DownloadThread.Abort();
|
||||
}
|
||||
|
||||
private void trayIcon_MouseDoubleClick(object sender, MouseEventArgs e) {
|
||||
this.Show();
|
||||
}
|
||||
|
||||
private void listAchievements_SelectedIndexChanged(object sender, EventArgs e) {
|
||||
foreach (ListViewItem itm in listAchievements.SelectedItems) {
|
||||
itm.Selected = false;
|
||||
}
|
||||
|
||||
listAchievements.SelectedIndices.Clear();
|
||||
}
|
||||
|
||||
private void logoutToolStripMenuItem_Click(object sender, EventArgs e) {
|
||||
Logout();
|
||||
}
|
||||
|
||||
public void Logout() {
|
||||
Networker.Connection.Send(1, 0);
|
||||
Networker.Connection.Connection.Close();
|
||||
|
||||
Networker.Connection = null;
|
||||
Connected = false;
|
||||
|
||||
settings.Username = "";
|
||||
settings.Password = "";
|
||||
settings.Save();
|
||||
|
||||
Username = "";
|
||||
Sessionkey = "";
|
||||
|
||||
foreach (Friend f in Friends) {
|
||||
if (f.ChatWindow != null) f.ChatWindow.Close();
|
||||
}
|
||||
Friends.Clear();
|
||||
|
||||
foreach (Game g in Games) {
|
||||
g.ForceStop = true;
|
||||
}
|
||||
Games = new Game[0];
|
||||
|
||||
this.CurrentPlayingGame = null;
|
||||
|
||||
FormLogin.Enabled = true;
|
||||
FormLogin.textUsername.Text = "";
|
||||
FormLogin.textPassword.Text = "";
|
||||
FormLogin.connected = false;
|
||||
FormLogin.Show();
|
||||
|
||||
Hide();
|
||||
}
|
||||
|
||||
private void addToolStripMenuItem_Click(object sender, EventArgs e) {
|
||||
FormAddFriend f = new FormAddFriend(this);
|
||||
f.ShowDialog(this);
|
||||
}
|
||||
|
||||
void trayIcon_BalloonTipClicked(object sender, EventArgs e) {
|
||||
switch (this.PopupAction) {
|
||||
case 0:
|
||||
break;
|
||||
|
||||
case 1:
|
||||
foreach(Friend f in this.Friends){
|
||||
if (f.Username == trayIcon.BalloonTipTitle) {
|
||||
if (f.ChatWindow != null && !f.ChatWindow.IsDisposed) {
|
||||
f.ChatWindow.FocusTextBar();
|
||||
f.ChatWindow.BringToFront();
|
||||
} else {
|
||||
f.OpenChat();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 2:
|
||||
foreach(Friend f in this.Friends){
|
||||
if (f.Username == trayIcon.BalloonTipTitle) {
|
||||
if (f.ChatWindow != null && !f.ChatWindow.IsDisposed) {
|
||||
f.ChatWindow.FocusTextBar();
|
||||
f.ChatWindow.BringToFront();
|
||||
} else {
|
||||
f.OpenChat();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void buttonChecksumTool_Click(object sender, EventArgs e)
|
||||
{
|
||||
new FormChecksum()
|
||||
{
|
||||
GameID = (short)listGames.SelectedItems[0].Tag
|
||||
}.Show();
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
2474
GamerServices/Systems/Forms/FormMain.resx
Normal file
2474
GamerServices/Systems/Forms/FormMain.resx
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user