From fa6ab8224218f75ea13c28bbd1ba0b52f91f0a73 Mon Sep 17 00:00:00 2001
From: DUB1401 <vlad.milosta@yandex.ru>
Date: Wed, 26 Apr 2023 00:09:35 +0300
Subject: [PATCH] Add: custom resolutions

---
 .../AS2R Resolution Patcher - Backup.csproj   |  44 +
 .../AS2R Resolution Patcher.csproj            |  17 +
 AS2R Resolution Patcher/Form1.Designer.cs     | 996 ++++++++++--------
 AS2R Resolution Patcher/Form1.cs              | 444 ++++----
 AS2R Resolution Patcher/Form1.resx            | 180 ++++
 AS2R Resolution Patcher/Program.cs            |  31 +-
 .../Properties/Settings.Designer.cs           |  26 +
 AS2R Resolution Patcher/Steam.png             | Bin 0 -> 8421 bytes
 README.md                                     |   9 +-
 9 files changed, 1077 insertions(+), 670 deletions(-)
 create mode 100644 AS2R Resolution Patcher/AS2R Resolution Patcher - Backup.csproj
 create mode 100644 AS2R Resolution Patcher/Properties/Settings.Designer.cs
 create mode 100644 AS2R Resolution Patcher/Steam.png

diff --git a/AS2R Resolution Patcher/AS2R Resolution Patcher - Backup.csproj b/AS2R Resolution Patcher/AS2R Resolution Patcher - Backup.csproj
new file mode 100644
index 0000000..d9f5e92
--- /dev/null
+++ b/AS2R Resolution Patcher/AS2R Resolution Patcher - Backup.csproj	
@@ -0,0 +1,44 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>WinExe</OutputType>
+    <TargetFramework>net7.0-windows</TargetFramework>
+    <RootNamespace>AS2R_Resolution_Patcher</RootNamespace>
+    <Nullable>enable</Nullable>
+    <UseWindowsForms>true</UseWindowsForms>
+    <ImplicitUsings>enable</ImplicitUsings>
+    <Version>1.0.1</Version>
+    <Authors>$(AssemblyName)</Authors>
+    <Company>$(Authors)</Company>
+    <Copyright>Copyright © DUB1401. 2023.</Copyright>
+    <Title></Title>
+    <AssemblyName>AS2R-Resolution-Patcher-1.0.1</AssemblyName>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <Compile Update="Properties\Resources.Designer.cs">
+      <DesignTime>True</DesignTime>
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Resources.resx</DependentUpon>
+    </Compile>
+    <Compile Update="Properties\Settings.Designer.cs">
+      <DesignTimeSharedInput>True</DesignTimeSharedInput>
+      <AutoGen>True</AutoGen>
+    </Compile>
+  </ItemGroup>
+
+  <ItemGroup>
+    <EmbeddedResource Update="Properties\Resources.resx">
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+    </EmbeddedResource>
+  </ItemGroup>
+
+  <ItemGroup>
+    <None Update="Properties\Settings.settings">
+      <Generator>SettingsSingleFileGenerator</Generator>
+      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+    </None>
+  </ItemGroup>
+
+</Project>
\ No newline at end of file
diff --git a/AS2R Resolution Patcher/AS2R Resolution Patcher.csproj b/AS2R Resolution Patcher/AS2R Resolution Patcher.csproj
index 1eac1e0..d9f5e92 100644
--- a/AS2R Resolution Patcher/AS2R Resolution Patcher.csproj	
+++ b/AS2R Resolution Patcher/AS2R Resolution Patcher.csproj	
@@ -7,6 +7,12 @@
     <Nullable>enable</Nullable>
     <UseWindowsForms>true</UseWindowsForms>
     <ImplicitUsings>enable</ImplicitUsings>
+    <Version>1.0.1</Version>
+    <Authors>$(AssemblyName)</Authors>
+    <Company>$(Authors)</Company>
+    <Copyright>Copyright © DUB1401. 2023.</Copyright>
+    <Title></Title>
+    <AssemblyName>AS2R-Resolution-Patcher-1.0.1</AssemblyName>
   </PropertyGroup>
 
   <ItemGroup>
@@ -15,6 +21,10 @@
       <AutoGen>True</AutoGen>
       <DependentUpon>Resources.resx</DependentUpon>
     </Compile>
+    <Compile Update="Properties\Settings.Designer.cs">
+      <DesignTimeSharedInput>True</DesignTimeSharedInput>
+      <AutoGen>True</AutoGen>
+    </Compile>
   </ItemGroup>
 
   <ItemGroup>
@@ -24,4 +34,11 @@
     </EmbeddedResource>
   </ItemGroup>
 
+  <ItemGroup>
+    <None Update="Properties\Settings.settings">
+      <Generator>SettingsSingleFileGenerator</Generator>
+      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+    </None>
+  </ItemGroup>
+
 </Project>
\ No newline at end of file
diff --git a/AS2R Resolution Patcher/Form1.Designer.cs b/AS2R Resolution Patcher/Form1.Designer.cs
index 7aafac1..cd7154e 100644
--- a/AS2R Resolution Patcher/Form1.Designer.cs	
+++ b/AS2R Resolution Patcher/Form1.Designer.cs	
@@ -1,474 +1,534 @@
-namespace AS2R_Resolution_Patcher
-{
-    partial class Form1
-    {
-        /// <summary>
-        ///  Required designer variable.
-        /// </summary>
-        private System.ComponentModel.IContainer components = null;
+namespace AS2R_Resolution_Patcher {
+	partial class Form1 {
+		/// <summary>
+		///  Required designer variable.
+		/// </summary>
+		private System.ComponentModel.IContainer components = null;
 
-        /// <summary>
-        ///  Clean up any resources being used.
-        /// </summary>
-        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-        protected override void Dispose(bool disposing)
-        {
-            if (disposing && (components != null))
-            {
-                components.Dispose();
-            }
-            base.Dispose(disposing);
-        }
+		/// <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
+		#region Windows Form Designer generated code
 
-        /// <summary>
-        ///  Required method for Designer support - do not modify
-        ///  the contents of this method with the code editor.
-        /// </summary>
-        private void InitializeComponent()
-        {
-            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
-            label1 = new Label();
-            label2 = new Label();
-            label3 = new Label();
-            label4 = new Label();
-            label5 = new Label();
-            label6 = new Label();
-            groupBox1 = new GroupBox();
-            label24 = new Label();
-            label16 = new Label();
-            label15 = new Label();
-            label14 = new Label();
-            label13 = new Label();
-            label12 = new Label();
-            label11 = new Label();
-            groupBox2 = new GroupBox();
-            label25 = new Label();
-            label17 = new Label();
-            label21 = new Label();
-            label18 = new Label();
-            label22 = new Label();
-            label19 = new Label();
-            label20 = new Label();
-            label7 = new Label();
-            button1 = new Button();
-            label8 = new Label();
-            label9 = new Label();
-            label10 = new Label();
-            comboBox1 = new ComboBox();
-            label23 = new Label();
-            pictureBox1 = new PictureBox();
-            linkLabel1 = new LinkLabel();
-            label26 = new Label();
-            groupBox1.SuspendLayout();
-            groupBox2.SuspendLayout();
-            ((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit();
-            SuspendLayout();
-            // 
-            // label1
-            // 
-            label1.AutoSize = true;
-            label1.Location = new Point(15, 10);
-            label1.Name = "label1";
-            label1.Size = new Size(43, 15);
-            label1.TabIndex = 0;
-            label1.Text = "Steam:";
-            // 
-            // label2
-            // 
-            label2.AutoSize = true;
-            label2.Location = new Point(15, 30);
-            label2.Name = "label2";
-            label2.Size = new Size(76, 15);
-            label2.TabIndex = 1;
-            label2.Text = "Saves folder: ";
-            // 
-            // label3
-            // 
-            label3.AutoSize = true;
-            label3.ForeColor = Color.Red;
-            label3.Location = new Point(90, 10);
-            label3.Name = "label3";
-            label3.Size = new Size(72, 15);
-            label3.TabIndex = 2;
-            label3.Text = "not installed";
-            // 
-            // label4
-            // 
-            label4.AutoSize = true;
-            label4.ForeColor = Color.Red;
-            label4.Location = new Point(90, 30);
-            label4.Name = "label4";
-            label4.Size = new Size(57, 15);
-            label4.TabIndex = 3;
-            label4.Text = "not exists";
-            // 
-            // label5
-            // 
-            label5.AutoSize = true;
-            label5.Location = new Point(15, 50);
-            label5.Name = "label5";
-            label5.Size = new Size(78, 15);
-            label5.TabIndex = 4;
-            label5.Text = "Game folder: ";
-            // 
-            // label6
-            // 
-            label6.AutoSize = true;
-            label6.ForeColor = Color.Red;
-            label6.Location = new Point(90, 50);
-            label6.Name = "label6";
-            label6.Size = new Size(60, 15);
-            label6.TabIndex = 5;
-            label6.Text = "not found";
-            // 
-            // groupBox1
-            // 
-            groupBox1.Controls.Add(label24);
-            groupBox1.Controls.Add(label16);
-            groupBox1.Controls.Add(label15);
-            groupBox1.Controls.Add(label14);
-            groupBox1.Controls.Add(label13);
-            groupBox1.Controls.Add(label12);
-            groupBox1.Controls.Add(label11);
-            groupBox1.Location = new Point(15, 120);
-            groupBox1.Name = "groupBox1";
-            groupBox1.Size = new Size(200, 200);
-            groupBox1.TabIndex = 6;
-            groupBox1.TabStop = false;
-            groupBox1.Text = "Files before";
-            // 
-            // label24
-            // 
-            label24.AutoSize = true;
-            label24.ForeColor = Color.Gray;
-            label24.Location = new Point(5, 140);
-            label24.Name = "label24";
-            label24.Size = new Size(70, 15);
-            label24.TabIndex = 6;
-            label24.Text = "CONST.LGC";
-            // 
-            // label16
-            // 
-            label16.AutoSize = true;
-            label16.ForeColor = Color.Gray;
-            label16.Location = new Point(5, 20);
-            label16.Name = "label16";
-            label16.Size = new Size(132, 15);
-            label16.TabIndex = 5;
-            label16.Text = "damageframe1024.men";
-            // 
-            // label15
-            // 
-            label15.AutoSize = true;
-            label15.ForeColor = Color.Gray;
-            label15.Location = new Point(5, 120);
-            label15.Name = "label15";
-            label15.Size = new Size(78, 15);
-            label15.TabIndex = 4;
-            label15.Text = "nag1024.men";
-            // 
-            // label14
-            // 
-            label14.AutoSize = true;
-            label14.ForeColor = Color.Gray;
-            label14.Location = new Point(5, 100);
-            label14.Name = "label14";
-            label14.Size = new Size(104, 15);
-            label14.TabIndex = 3;
-            label14.Text = "radiotalk1024.men";
-            // 
-            // label13
-            // 
-            label13.AutoSize = true;
-            label13.ForeColor = Color.Gray;
-            label13.Location = new Point(5, 80);
-            label13.Name = "label13";
-            label13.Size = new Size(105, 15);
-            label13.TabIndex = 2;
-            label13.Text = "gamebar1024.men";
-            // 
-            // label12
-            // 
-            label12.AutoSize = true;
-            label12.ForeColor = Color.Gray;
-            label12.Location = new Point(5, 60);
-            label12.Name = "label12";
-            label12.Size = new Size(127, 15);
-            label12.TabIndex = 1;
-            label12.Text = "gamebar_net1024.men";
-            // 
-            // label11
-            // 
-            label11.AutoSize = true;
-            label11.ForeColor = Color.Gray;
-            label11.Location = new Point(5, 40);
-            label11.Name = "label11";
-            label11.Size = new Size(131, 15);
-            label11.TabIndex = 0;
-            label11.Text = "gamebar_gun1024.men";
-            // 
-            // groupBox2
-            // 
-            groupBox2.Controls.Add(label25);
-            groupBox2.Controls.Add(label17);
-            groupBox2.Controls.Add(label21);
-            groupBox2.Controls.Add(label18);
-            groupBox2.Controls.Add(label22);
-            groupBox2.Controls.Add(label19);
-            groupBox2.Controls.Add(label20);
-            groupBox2.Location = new Point(250, 120);
-            groupBox2.Name = "groupBox2";
-            groupBox2.Size = new Size(200, 200);
-            groupBox2.TabIndex = 7;
-            groupBox2.TabStop = false;
-            groupBox2.Text = "Files after";
-            // 
-            // label25
-            // 
-            label25.AutoSize = true;
-            label25.ForeColor = Color.Gray;
-            label25.Location = new Point(5, 140);
-            label25.Name = "label25";
-            label25.Size = new Size(70, 15);
-            label25.TabIndex = 12;
-            label25.Text = "CONST.LGC";
-            // 
-            // label17
-            // 
-            label17.AutoSize = true;
-            label17.ForeColor = Color.Gray;
-            label17.Location = new Point(5, 20);
-            label17.Name = "label17";
-            label17.Size = new Size(132, 15);
-            label17.TabIndex = 11;
-            label17.Text = "damageframe1024.men";
-            // 
-            // label21
-            // 
-            label21.AutoSize = true;
-            label21.ForeColor = Color.Gray;
-            label21.Location = new Point(5, 60);
-            label21.Name = "label21";
-            label21.Size = new Size(127, 15);
-            label21.TabIndex = 7;
-            label21.Text = "gamebar_net1024.men";
-            // 
-            // label18
-            // 
-            label18.AutoSize = true;
-            label18.ForeColor = Color.Gray;
-            label18.Location = new Point(5, 120);
-            label18.Name = "label18";
-            label18.Size = new Size(78, 15);
-            label18.TabIndex = 10;
-            label18.Text = "nag1024.men";
-            // 
-            // label22
-            // 
-            label22.AutoSize = true;
-            label22.ForeColor = Color.Gray;
-            label22.Location = new Point(5, 40);
-            label22.Name = "label22";
-            label22.Size = new Size(131, 15);
-            label22.TabIndex = 6;
-            label22.Text = "gamebar_gun1024.men";
-            // 
-            // label19
-            // 
-            label19.AutoSize = true;
-            label19.ForeColor = Color.Gray;
-            label19.Location = new Point(5, 100);
-            label19.Name = "label19";
-            label19.Size = new Size(104, 15);
-            label19.TabIndex = 9;
-            label19.Text = "radiotalk1024.men";
-            // 
-            // label20
-            // 
-            label20.AutoSize = true;
-            label20.ForeColor = Color.Gray;
-            label20.Location = new Point(5, 80);
-            label20.Name = "label20";
-            label20.Size = new Size(105, 15);
-            label20.TabIndex = 8;
-            label20.Text = "gamebar1024.men";
-            // 
-            // label7
-            // 
-            label7.AutoSize = true;
-            label7.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
-            label7.Location = new Point(10, 420);
-            label7.Name = "label7";
-            label7.Size = new Size(51, 15);
-            label7.TabIndex = 8;
-            label7.Text = "Version:";
-            // 
-            // button1
-            // 
-            button1.Enabled = false;
-            button1.Font = new Font("Segoe UI", 24F, FontStyle.Bold, GraphicsUnit.Point);
-            button1.Location = new Point(10, 335);
-            button1.Name = "button1";
-            button1.Size = new Size(600, 64);
-            button1.TabIndex = 9;
-            button1.Text = "Start patching...";
-            button1.UseVisualStyleBackColor = true;
-            button1.Click += button1_Click;
-            // 
-            // label8
-            // 
-            label8.AutoSize = true;
-            label8.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
-            label8.ForeColor = Color.Green;
-            label8.Location = new Point(60, 420);
-            label8.Name = "label8";
-            label8.Size = new Size(34, 15);
-            label8.TabIndex = 10;
-            label8.Text = "1.0.0";
-            // 
-            // label9
-            // 
-            label9.BorderStyle = BorderStyle.Fixed3D;
-            label9.Location = new Point(0, 415);
-            label9.Name = "label9";
-            label9.Size = new Size(640, 2);
-            label9.TabIndex = 11;
-            // 
-            // label10
-            // 
-            label10.AutoSize = true;
-            label10.Font = new Font("Segoe UI", 9F, FontStyle.Italic, GraphicsUnit.Point);
-            label10.Location = new Point(460, 420);
-            label10.Name = "label10";
-            label10.Size = new Size(157, 15);
-            label10.TabIndex = 12;
-            label10.Text = "Copyright © DUB1401. 2023.";
-            // 
-            // comboBox1
-            // 
-            comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
-            comboBox1.Font = new Font("Segoe UI Variable Display", 9F, FontStyle.Regular, GraphicsUnit.Point);
-            comboBox1.FormattingEnabled = true;
-            comboBox1.Items.AddRange(new object[] { "Ultra HD (3840 × 2160)", "QHD (2560 × 1440)", "Full HD (1920 × 1080)", "HD (1280 × 720)" });
-            comboBox1.Location = new Point(458, 140);
-            comboBox1.Name = "comboBox1";
-            comboBox1.Size = new Size(150, 24);
-            comboBox1.TabIndex = 13;
-            comboBox1.SelectedIndexChanged += comboBox1_SelectedIndexChanged;
-            // 
-            // label23
-            // 
-            label23.AutoSize = true;
-            label23.Location = new Point(455, 120);
-            label23.Name = "label23";
-            label23.Size = new Size(63, 15);
-            label23.TabIndex = 14;
-            label23.Text = "Resolution";
-            // 
-            // pictureBox1
-            // 
-            pictureBox1.BackgroundImage = (Image)resources.GetObject("pictureBox1.BackgroundImage");
-            pictureBox1.BackgroundImageLayout = ImageLayout.Stretch;
-            pictureBox1.Location = new Point(458, 249);
-            pictureBox1.Name = "pictureBox1";
-            pictureBox1.Size = new Size(150, 70);
-            pictureBox1.TabIndex = 15;
-            pictureBox1.TabStop = false;
-            // 
-            // linkLabel1
-            // 
-            linkLabel1.AutoSize = true;
-            linkLabel1.Location = new Point(95, 420);
-            linkLabel1.Name = "linkLabel1";
-            linkLabel1.Size = new Size(45, 15);
-            linkLabel1.TabIndex = 16;
-            linkLabel1.TabStop = true;
-            linkLabel1.Text = "GitHub";
-            linkLabel1.LinkClicked += linkLabel1_LinkClicked;
-            // 
-            // label26
-            // 
-            label26.AutoSize = true;
-            label26.Font = new Font("Segoe UI", 14F, FontStyle.Bold, GraphicsUnit.Point);
-            label26.Location = new Point(217, 205);
-            label26.Name = "label26";
-            label26.Size = new Size(32, 25);
-            label26.TabIndex = 17;
-            label26.Text = "➜";
-            // 
-            // Form1
-            // 
-            AutoScaleDimensions = new SizeF(7F, 15F);
-            AutoScaleMode = AutoScaleMode.Font;
-            BackColor = SystemColors.Control;
-            ClientSize = new Size(624, 441);
-            Controls.Add(label26);
-            Controls.Add(linkLabel1);
-            Controls.Add(pictureBox1);
-            Controls.Add(label23);
-            Controls.Add(comboBox1);
-            Controls.Add(label10);
-            Controls.Add(label9);
-            Controls.Add(label8);
-            Controls.Add(button1);
-            Controls.Add(label7);
-            Controls.Add(groupBox2);
-            Controls.Add(groupBox1);
-            Controls.Add(label6);
-            Controls.Add(label5);
-            Controls.Add(label4);
-            Controls.Add(label3);
-            Controls.Add(label2);
-            Controls.Add(label1);
-            Icon = (Icon)resources.GetObject("$this.Icon");
-            MaximizeBox = false;
-            Name = "Form1";
-            Text = "Alien Shooter 2: Reloaded – Resolution Patcher";
-            Load += Form1_Load;
-            groupBox1.ResumeLayout(false);
-            groupBox1.PerformLayout();
-            groupBox2.ResumeLayout(false);
-            groupBox2.PerformLayout();
-            ((System.ComponentModel.ISupportInitialize)pictureBox1).EndInit();
-            ResumeLayout(false);
-            PerformLayout();
-        }
+		/// <summary>
+		///  Required method for Designer support - do not modify
+		///  the contents of this method with the code editor.
+		/// </summary>
+		private void InitializeComponent() {
+			System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
+			label1 = new Label();
+			label2 = new Label();
+			label3 = new Label();
+			label4 = new Label();
+			label5 = new Label();
+			label6 = new Label();
+			groupBox1 = new GroupBox();
+			label24 = new Label();
+			label16 = new Label();
+			label15 = new Label();
+			label14 = new Label();
+			label13 = new Label();
+			label12 = new Label();
+			label11 = new Label();
+			groupBox2 = new GroupBox();
+			label25 = new Label();
+			label17 = new Label();
+			label21 = new Label();
+			label18 = new Label();
+			label22 = new Label();
+			label19 = new Label();
+			label20 = new Label();
+			label7 = new Label();
+			button1 = new Button();
+			label8 = new Label();
+			label9 = new Label();
+			label10 = new Label();
+			comboBox1 = new ComboBox();
+			label23 = new Label();
+			pictureBox1 = new PictureBox();
+			linkLabel1 = new LinkLabel();
+			label26 = new Label();
+			textBox1 = new TextBox();
+			textBox2 = new TextBox();
+			label27 = new Label();
+			label28 = new Label();
+			pictureBox2 = new PictureBox();
+			groupBox1.SuspendLayout();
+			groupBox2.SuspendLayout();
+			((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit();
+			((System.ComponentModel.ISupportInitialize)pictureBox2).BeginInit();
+			SuspendLayout();
+			// 
+			// label1
+			// 
+			label1.AutoSize = true;
+			label1.Location = new Point(10, 50);
+			label1.Name = "label1";
+			label1.Size = new Size(43, 15);
+			label1.TabIndex = 0;
+			label1.Text = "Steam:";
+			// 
+			// label2
+			// 
+			label2.AutoSize = true;
+			label2.Location = new Point(10, 70);
+			label2.Name = "label2";
+			label2.Size = new Size(76, 15);
+			label2.TabIndex = 1;
+			label2.Text = "Saves folder: ";
+			// 
+			// label3
+			// 
+			label3.AutoSize = true;
+			label3.ForeColor = Color.Red;
+			label3.Location = new Point(85, 50);
+			label3.Name = "label3";
+			label3.Size = new Size(72, 15);
+			label3.TabIndex = 2;
+			label3.Text = "not installed";
+			// 
+			// label4
+			// 
+			label4.AutoSize = true;
+			label4.ForeColor = Color.Red;
+			label4.Location = new Point(85, 70);
+			label4.Name = "label4";
+			label4.Size = new Size(57, 15);
+			label4.TabIndex = 3;
+			label4.Text = "not exists";
+			// 
+			// label5
+			// 
+			label5.AutoSize = true;
+			label5.Location = new Point(10, 90);
+			label5.Name = "label5";
+			label5.Size = new Size(78, 15);
+			label5.TabIndex = 4;
+			label5.Text = "Game folder: ";
+			// 
+			// label6
+			// 
+			label6.AutoSize = true;
+			label6.ForeColor = Color.Red;
+			label6.Location = new Point(85, 90);
+			label6.Name = "label6";
+			label6.Size = new Size(60, 15);
+			label6.TabIndex = 5;
+			label6.Text = "not found";
+			// 
+			// groupBox1
+			// 
+			groupBox1.Controls.Add(label24);
+			groupBox1.Controls.Add(label16);
+			groupBox1.Controls.Add(label15);
+			groupBox1.Controls.Add(label14);
+			groupBox1.Controls.Add(label13);
+			groupBox1.Controls.Add(label12);
+			groupBox1.Controls.Add(label11);
+			groupBox1.Location = new Point(15, 120);
+			groupBox1.Name = "groupBox1";
+			groupBox1.Size = new Size(200, 200);
+			groupBox1.TabIndex = 6;
+			groupBox1.TabStop = false;
+			groupBox1.Text = "Files before";
+			// 
+			// label24
+			// 
+			label24.AutoSize = true;
+			label24.ForeColor = Color.Gray;
+			label24.Location = new Point(5, 140);
+			label24.Name = "label24";
+			label24.Size = new Size(70, 15);
+			label24.TabIndex = 6;
+			label24.Text = "CONST.LGC";
+			// 
+			// label16
+			// 
+			label16.AutoSize = true;
+			label16.ForeColor = Color.Gray;
+			label16.Location = new Point(5, 20);
+			label16.Name = "label16";
+			label16.Size = new Size(132, 15);
+			label16.TabIndex = 5;
+			label16.Text = "damageframe1024.men";
+			// 
+			// label15
+			// 
+			label15.AutoSize = true;
+			label15.ForeColor = Color.Gray;
+			label15.Location = new Point(5, 120);
+			label15.Name = "label15";
+			label15.Size = new Size(78, 15);
+			label15.TabIndex = 4;
+			label15.Text = "nag1024.men";
+			// 
+			// label14
+			// 
+			label14.AutoSize = true;
+			label14.ForeColor = Color.Gray;
+			label14.Location = new Point(5, 100);
+			label14.Name = "label14";
+			label14.Size = new Size(104, 15);
+			label14.TabIndex = 3;
+			label14.Text = "radiotalk1024.men";
+			// 
+			// label13
+			// 
+			label13.AutoSize = true;
+			label13.ForeColor = Color.Gray;
+			label13.Location = new Point(5, 80);
+			label13.Name = "label13";
+			label13.Size = new Size(105, 15);
+			label13.TabIndex = 2;
+			label13.Text = "gamebar1024.men";
+			// 
+			// label12
+			// 
+			label12.AutoSize = true;
+			label12.ForeColor = Color.Gray;
+			label12.Location = new Point(5, 60);
+			label12.Name = "label12";
+			label12.Size = new Size(127, 15);
+			label12.TabIndex = 1;
+			label12.Text = "gamebar_net1024.men";
+			// 
+			// label11
+			// 
+			label11.AutoSize = true;
+			label11.ForeColor = Color.Gray;
+			label11.Location = new Point(5, 40);
+			label11.Name = "label11";
+			label11.Size = new Size(131, 15);
+			label11.TabIndex = 0;
+			label11.Text = "gamebar_gun1024.men";
+			// 
+			// groupBox2
+			// 
+			groupBox2.Controls.Add(label25);
+			groupBox2.Controls.Add(label17);
+			groupBox2.Controls.Add(label21);
+			groupBox2.Controls.Add(label18);
+			groupBox2.Controls.Add(label22);
+			groupBox2.Controls.Add(label19);
+			groupBox2.Controls.Add(label20);
+			groupBox2.Location = new Point(250, 120);
+			groupBox2.Name = "groupBox2";
+			groupBox2.Size = new Size(200, 200);
+			groupBox2.TabIndex = 7;
+			groupBox2.TabStop = false;
+			groupBox2.Text = "Files after";
+			// 
+			// label25
+			// 
+			label25.AutoSize = true;
+			label25.ForeColor = Color.Gray;
+			label25.Location = new Point(5, 140);
+			label25.Name = "label25";
+			label25.Size = new Size(70, 15);
+			label25.TabIndex = 12;
+			label25.Text = "CONST.LGC";
+			// 
+			// label17
+			// 
+			label17.AutoSize = true;
+			label17.ForeColor = Color.Gray;
+			label17.Location = new Point(5, 20);
+			label17.Name = "label17";
+			label17.Size = new Size(132, 15);
+			label17.TabIndex = 11;
+			label17.Text = "damageframe1024.men";
+			// 
+			// label21
+			// 
+			label21.AutoSize = true;
+			label21.ForeColor = Color.Gray;
+			label21.Location = new Point(5, 60);
+			label21.Name = "label21";
+			label21.Size = new Size(127, 15);
+			label21.TabIndex = 7;
+			label21.Text = "gamebar_net1024.men";
+			// 
+			// label18
+			// 
+			label18.AutoSize = true;
+			label18.ForeColor = Color.Gray;
+			label18.Location = new Point(5, 120);
+			label18.Name = "label18";
+			label18.Size = new Size(78, 15);
+			label18.TabIndex = 10;
+			label18.Text = "nag1024.men";
+			// 
+			// label22
+			// 
+			label22.AutoSize = true;
+			label22.ForeColor = Color.Gray;
+			label22.Location = new Point(5, 40);
+			label22.Name = "label22";
+			label22.Size = new Size(131, 15);
+			label22.TabIndex = 6;
+			label22.Text = "gamebar_gun1024.men";
+			// 
+			// label19
+			// 
+			label19.AutoSize = true;
+			label19.ForeColor = Color.Gray;
+			label19.Location = new Point(5, 100);
+			label19.Name = "label19";
+			label19.Size = new Size(104, 15);
+			label19.TabIndex = 9;
+			label19.Text = "radiotalk1024.men";
+			// 
+			// label20
+			// 
+			label20.AutoSize = true;
+			label20.ForeColor = Color.Gray;
+			label20.Location = new Point(5, 80);
+			label20.Name = "label20";
+			label20.Size = new Size(105, 15);
+			label20.TabIndex = 8;
+			label20.Text = "gamebar1024.men";
+			// 
+			// label7
+			// 
+			label7.AutoSize = true;
+			label7.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
+			label7.Location = new Point(10, 420);
+			label7.Name = "label7";
+			label7.Size = new Size(51, 15);
+			label7.TabIndex = 8;
+			label7.Text = "Version:";
+			// 
+			// button1
+			// 
+			button1.Enabled = false;
+			button1.Font = new Font("Segoe UI", 24F, FontStyle.Bold, GraphicsUnit.Point);
+			button1.Location = new Point(10, 335);
+			button1.Name = "button1";
+			button1.Size = new Size(600, 64);
+			button1.TabIndex = 9;
+			button1.Text = "Start patching...";
+			button1.UseVisualStyleBackColor = true;
+			button1.Click += button1_Click;
+			// 
+			// label8
+			// 
+			label8.AutoSize = true;
+			label8.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
+			label8.ForeColor = Color.Green;
+			label8.Location = new Point(60, 420);
+			label8.Name = "label8";
+			label8.Size = new Size(35, 15);
+			label8.TabIndex = 10;
+			label8.Text = "none";
+			// 
+			// label9
+			// 
+			label9.BorderStyle = BorderStyle.Fixed3D;
+			label9.Location = new Point(0, 415);
+			label9.Name = "label9";
+			label9.Size = new Size(640, 2);
+			label9.TabIndex = 11;
+			// 
+			// label10
+			// 
+			label10.AutoSize = true;
+			label10.Font = new Font("Segoe UI", 9F, FontStyle.Italic, GraphicsUnit.Point);
+			label10.Location = new Point(460, 420);
+			label10.Name = "label10";
+			label10.Size = new Size(157, 15);
+			label10.TabIndex = 12;
+			label10.Text = "Copyright © DUB1401. 2023.";
+			// 
+			// comboBox1
+			// 
+			comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
+			comboBox1.Font = new Font("Segoe UI Variable Display", 9F, FontStyle.Regular, GraphicsUnit.Point);
+			comboBox1.FormattingEnabled = true;
+			comboBox1.Items.AddRange(new object[] { "Ultra HD (3840 × 2160)", "QHD (2560 × 1440)", "Full HD (1920 × 1080)", "HD (1280 × 720)", "Custom" });
+			comboBox1.Location = new Point(458, 140);
+			comboBox1.Name = "comboBox1";
+			comboBox1.Size = new Size(150, 24);
+			comboBox1.TabIndex = 13;
+			comboBox1.SelectedIndexChanged += comboBox1_SelectedIndexChanged;
+			// 
+			// label23
+			// 
+			label23.AutoSize = true;
+			label23.Location = new Point(455, 120);
+			label23.Name = "label23";
+			label23.Size = new Size(63, 15);
+			label23.TabIndex = 14;
+			label23.Text = "Resolution";
+			// 
+			// pictureBox1
+			// 
+			pictureBox1.BackgroundImage = (Image)resources.GetObject("pictureBox1.BackgroundImage");
+			pictureBox1.BackgroundImageLayout = ImageLayout.Stretch;
+			pictureBox1.Location = new Point(458, 249);
+			pictureBox1.Name = "pictureBox1";
+			pictureBox1.Size = new Size(150, 70);
+			pictureBox1.TabIndex = 15;
+			pictureBox1.TabStop = false;
+			// 
+			// linkLabel1
+			// 
+			linkLabel1.AutoSize = true;
+			linkLabel1.Location = new Point(95, 420);
+			linkLabel1.Name = "linkLabel1";
+			linkLabel1.Size = new Size(45, 15);
+			linkLabel1.TabIndex = 16;
+			linkLabel1.TabStop = true;
+			linkLabel1.Text = "GitHub";
+			linkLabel1.LinkClicked += linkLabel1_LinkClicked;
+			// 
+			// label26
+			// 
+			label26.AutoSize = true;
+			label26.Font = new Font("Segoe UI", 14F, FontStyle.Bold, GraphicsUnit.Point);
+			label26.Location = new Point(217, 205);
+			label26.Name = "label26";
+			label26.Size = new Size(32, 25);
+			label26.TabIndex = 17;
+			label26.Text = "➜";
+			// 
+			// textBox1
+			// 
+			textBox1.Location = new Point(508, 170);
+			textBox1.Name = "textBox1";
+			textBox1.Size = new Size(100, 23);
+			textBox1.TabIndex = 18;
+			textBox1.Visible = false;
+			textBox1.TextChanged += textBox1_TextChanged;
+			// 
+			// textBox2
+			// 
+			textBox2.Location = new Point(508, 202);
+			textBox2.Name = "textBox2";
+			textBox2.Size = new Size(100, 23);
+			textBox2.TabIndex = 19;
+			textBox2.Visible = false;
+			textBox2.TextChanged += textBox2_TextChanged;
+			// 
+			// label27
+			// 
+			label27.AutoSize = true;
+			label27.Location = new Point(455, 175);
+			label27.Name = "label27";
+			label27.Size = new Size(39, 15);
+			label27.TabIndex = 20;
+			label27.Text = "Width";
+			label27.Visible = false;
+			// 
+			// label28
+			// 
+			label28.AutoSize = true;
+			label28.Location = new Point(455, 205);
+			label28.Name = "label28";
+			label28.Size = new Size(43, 15);
+			label28.TabIndex = 21;
+			label28.Text = "Height";
+			label28.Visible = false;
+			// 
+			// pictureBox2
+			// 
+			pictureBox2.BackgroundImage = (Image)resources.GetObject("pictureBox2.BackgroundImage");
+			pictureBox2.BackgroundImageLayout = ImageLayout.Stretch;
+			pictureBox2.Location = new Point(245, 10);
+			pictureBox2.Name = "pictureBox2";
+			pictureBox2.Size = new Size(150, 46);
+			pictureBox2.TabIndex = 22;
+			pictureBox2.TabStop = false;
+			// 
+			// Form1
+			// 
+			AutoScaleDimensions = new SizeF(7F, 15F);
+			AutoScaleMode = AutoScaleMode.Font;
+			BackColor = SystemColors.Control;
+			ClientSize = new Size(624, 441);
+			Controls.Add(pictureBox2);
+			Controls.Add(label28);
+			Controls.Add(label27);
+			Controls.Add(textBox2);
+			Controls.Add(textBox1);
+			Controls.Add(label26);
+			Controls.Add(linkLabel1);
+			Controls.Add(pictureBox1);
+			Controls.Add(label23);
+			Controls.Add(comboBox1);
+			Controls.Add(label10);
+			Controls.Add(label9);
+			Controls.Add(label8);
+			Controls.Add(button1);
+			Controls.Add(label7);
+			Controls.Add(groupBox2);
+			Controls.Add(groupBox1);
+			Controls.Add(label6);
+			Controls.Add(label5);
+			Controls.Add(label4);
+			Controls.Add(label3);
+			Controls.Add(label2);
+			Controls.Add(label1);
+			Icon = (Icon)resources.GetObject("$this.Icon");
+			MaximizeBox = false;
+			Name = "Form1";
+			Text = "Alien Shooter 2: Reloaded – Resolution Patcher";
+			Load += Form1_Load;
+			groupBox1.ResumeLayout(false);
+			groupBox1.PerformLayout();
+			groupBox2.ResumeLayout(false);
+			groupBox2.PerformLayout();
+			((System.ComponentModel.ISupportInitialize)pictureBox1).EndInit();
+			((System.ComponentModel.ISupportInitialize)pictureBox2).EndInit();
+			ResumeLayout(false);
+			PerformLayout();
+		}
 
-        #endregion
+		#endregion
 
-        private Label label1;
-        private Label label2;
-        private Label label3;
-        private Label label4;
-        private Label label5;
-        private Label label6;
-        private GroupBox groupBox1;
-        private GroupBox groupBox2;
-        private Label label7;
-        private Button button1;
-        private Label label8;
-        private Label label9;
-        private Label label10;
-        private Label label16;
-        private Label label15;
-        private Label label14;
-        private Label label13;
-        private Label label12;
-        private Label label11;
-        private Label label17;
-        private Label label21;
-        private Label label18;
-        private Label label22;
-        private Label label19;
-        private Label label20;
-        private ComboBox comboBox1;
-        private Label label23;
-        private PictureBox pictureBox1;
-        private LinkLabel linkLabel1;
-        private Label label24;
-        private Label label25;
-        private Label label26;
-    }
+		private Label label1;
+		private Label label2;
+		private Label label3;
+		private Label label4;
+		private Label label5;
+		private Label label6;
+		private GroupBox groupBox1;
+		private GroupBox groupBox2;
+		private Label label7;
+		private Button button1;
+		private Label label8;
+		private Label label9;
+		private Label label10;
+		private Label label16;
+		private Label label15;
+		private Label label14;
+		private Label label13;
+		private Label label12;
+		private Label label11;
+		private Label label17;
+		private Label label21;
+		private Label label18;
+		private Label label22;
+		private Label label19;
+		private Label label20;
+		private ComboBox comboBox1;
+		private Label label23;
+		private PictureBox pictureBox1;
+		private LinkLabel linkLabel1;
+		private Label label24;
+		private Label label25;
+		private Label label26;
+		private TextBox textBox1;
+		private TextBox textBox2;
+		private Label label27;
+		private Label label28;
+		private PictureBox pictureBox2;
+	}
 }
\ No newline at end of file
diff --git a/AS2R Resolution Patcher/Form1.cs b/AS2R Resolution Patcher/Form1.cs
index 6e821c6..ee9ec9e 100644
--- a/AS2R Resolution Patcher/Form1.cs	
+++ b/AS2R Resolution Patcher/Form1.cs	
@@ -1,183 +1,265 @@
 using System.Diagnostics;
-using System.IO;
 using System.Text;
-using System.Windows.Forms;
-using static System.Net.Mime.MediaTypeNames;
-
-namespace AS2R_Resolution_Patcher
-{
-    public partial class Form1 : Form
-    {
-        public Form1()
-        {
-            InitializeComponent();
-        }
-
-        private void Form1_Load(object sender, EventArgs e)
-        {
-            // Состояния: выполнены ли все условия патчинга.
-            bool SteamInstalled = false, SavesFolderExists = false;
-            // Имя текущего пользователя.
-            string UserName = Environment.UserName;
-            // Путь к папке игры.
-            string GameFolder = "";
-            // Количество найденных нативных файлов.
-            int NativeFiles = 0;
-            // Установка выбранного по умолчанию разрешения.
-            comboBox1.SelectedIndex = 2;
-
-            // Если установлен Steam, то вывести об этом соответствующую надпись.
-            if (File.Exists("C:\\Program Files (x86)\\Steam\\steam.exe"))
-            {
-                label3.Text = "OK";
-                label3.ForeColor = System.Drawing.Color.Green;
-                SteamInstalled = true;
-            }
-
-            // Если найдена директория сохранений, то вывести об этом соответствующую надпись и получить папку игры.
-            if (Directory.Exists("C:\\Users\\" + UserName + "\\Documents\\AlienShooter2 Reloaded Saves"))
-            {
-                label4.Text = "OK";
-                label4.ForeColor = System.Drawing.Color.Green;
-                SavesFolderExists = true;
-
-                FileStream ReadStream = File.OpenRead("C:\\Users\\" + UserName + "\\Documents\\AlienShooter2 Reloaded Saves\\Saves\\_global.dat");
-                // Выделение массива для помещение туда считываемых байтов.
-                byte[] Buffer = new byte[ReadStream.Length];
-                // Считывание байтов.
-                ReadStream.Read(Buffer, 0, Buffer.Length);
-                // Декодирование байтов в строку.
-                GameFolder = Encoding.Default.GetString(Buffer);
-                // Получение пути к папке игры.
-                GameFolder = GameFolder.Split("\n")[0].Replace("sGamePath=", "").Trim();
-                // Закрытие потока чтения.
-                ReadStream.Close();
-
-                label6.Text = GameFolder;
-                label6.ForeColor = System.Drawing.Color.Green;
-
-            }
-
-            // Проверка существования нативного файла: damageframe1024.men.
-            if (File.Exists(GameFolder + "\\Maps\\damageframe1024.men")) { label16.ForeColor = System.Drawing.Color.Green; NativeFiles += 1; }
-            else label16.ForeColor = System.Drawing.Color.Red;
-
-            // Проверка существования нативного файла: gamebar_gun1024.men.
-            if (File.Exists(GameFolder + "\\Maps\\gamebar_gun1024.men")) { label11.ForeColor = System.Drawing.Color.Green; NativeFiles += 1; }
-            else label11.ForeColor = System.Drawing.Color.Red;
-
-            // Проверка существования нативного файла: gamebar_net1024.men.
-            if (File.Exists(GameFolder + "\\Maps\\gamebar_net1024.men")) { label12.ForeColor = System.Drawing.Color.Green; NativeFiles += 1; }
-            else label12.ForeColor = System.Drawing.Color.Red;
-
-            // Проверка существования нативного файла: gamebar1024.men.
-            if (File.Exists(GameFolder + "\\Maps\\gamebar1024.men")) { label13.ForeColor = System.Drawing.Color.Green; NativeFiles += 1; }
-            else label13.ForeColor = System.Drawing.Color.Red;
-
-            // Проверка существования нативного файла: radiotalk1024.men.
-            if (File.Exists(GameFolder + "\\Maps\\radiotalk1024.men")) { label14.ForeColor = System.Drawing.Color.Green; NativeFiles += 1; }
-            else label14.ForeColor = System.Drawing.Color.Red;
-
-            // Проверка существования нативного файла: nag1024.men.
-            if (File.Exists(GameFolder + "\\Maps\\nag1024.men")) { label15.ForeColor = System.Drawing.Color.Green; NativeFiles += 1; }
-            else label15.ForeColor = System.Drawing.Color.Red;
-
-            // Получение выбранного разрешения по оси Х.
-            object ResolutionItem = comboBox1.SelectedItem;
-            string ResolutionString = Convert.ToString(ResolutionItem);
-            string ResolutionX = ResolutionString.Split("(")[1].Split("×")[0].Trim();
-            string ResolutionY = ResolutionString.Split("×")[1].Replace(")", "").Trim();
-
-            // Установка новых имён файлов.
-            label17.Text = label16.Text.Replace("1024", ResolutionX);
-            label22.Text = label11.Text.Replace("1024", ResolutionX);
-            label21.Text = label12.Text.Replace("1024", ResolutionX);
-            label20.Text = label13.Text.Replace("1024", ResolutionX);
-            label19.Text = label14.Text.Replace("1024", ResolutionX);
-            label18.Text = label15.Text.Replace("1024", ResolutionX);
-
-            // Проверка существования нативного файла: CONST.LGC.
-            if (File.Exists(GameFolder + "\\Maps\\CONST.LGC"))
-            {
-                label24.ForeColor = System.Drawing.Color.Green;
-
-                string FileCONST = File.ReadAllText(GameFolder + "\\Maps\\CONST.LGC", Encoding.GetEncoding(1251));
-
-                // Проверка нативности файла.
-                if (FileCONST.Contains("static int RT_SCREEN_X[] = { 800, 1024 };")) NativeFiles += 1;
-                else label24.ForeColor = System.Drawing.Color.Red;
-
-            }
-            else label24.ForeColor = System.Drawing.Color.Red;
-
-            // Проверка выполнения условий патчинга.
-            if (NativeFiles == 7 && SteamInstalled && SavesFolderExists) button1.Enabled = true;
-
-        }
-
-        private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
-        {
-            // Открытие страницы на GitHub.
-            System.Diagnostics.Process.Start(new ProcessStartInfo
-            {
-                FileName = "https://github.com/DUB1401/AS2R-ResolutionPatcher",
-                UseShellExecute = true
-            });
-        }
-
-        private void button1_Click(object sender, EventArgs e)
-        {
-
-            // Получение выбранного разрешения по оси Х.
-            object ResolutionItem = comboBox1.SelectedItem;
-            string ResolutionString = Convert.ToString(ResolutionItem);
-            string ResolutionX = ResolutionString.Split("(")[1].Split("×")[0].Trim();
-            string ResolutionY = ResolutionString.Split("×")[1].Replace(")", "").Trim();
-
-            // Путь к папке игры.
-            string GameFolder = label6.Text;
-
-            // Переименование файлов.
-            System.IO.File.Move(GameFolder + "\\Maps\\damageframe1024.men", GameFolder + "\\Maps\\damageframe" + ResolutionX + ".men", true);
-            label17.ForeColor = System.Drawing.Color.Green;
-            System.IO.File.Move(GameFolder + "\\Maps\\gamebar_gun1024.men", GameFolder + "\\Maps\\gamebar_gun" + ResolutionX + ".men", true);
-            label22.ForeColor = System.Drawing.Color.Green;
-            System.IO.File.Move(GameFolder + "\\Maps\\gamebar_net1024.men", GameFolder + "\\Maps\\gamebar_net" + ResolutionX + ".men", true);
-            label21.ForeColor = System.Drawing.Color.Green;
-            System.IO.File.Move(GameFolder + "\\Maps\\gamebar1024.men", GameFolder + "\\Maps\\gamebar" + ResolutionX + ".men", true);
-            label20.ForeColor = System.Drawing.Color.Green;
-            System.IO.File.Move(GameFolder + "\\Maps\\radiotalk1024.men", GameFolder + "\\Maps\\radiotalk" + ResolutionX + ".men", true);
-            label19.ForeColor = System.Drawing.Color.Green;
-            System.IO.File.Move(GameFolder + "\\Maps\\nag1024.men", GameFolder + "\\Maps\\nag" + ResolutionX + ".men", true);
-            label18.ForeColor = System.Drawing.Color.Green;
-
-            string FileCONST = File.ReadAllText(GameFolder + "\\Maps\\CONST.LGC", Encoding.GetEncoding(1251));
-            // Установка разрешения игры в файл CONST.LGC.
-            FileCONST = FileCONST.Replace("static int RT_SCREEN_X[] = { 800, 1024 };", "static int RT_SCREEN_X[] = { 800, " + ResolutionX + " };");
-            FileCONST = FileCONST.Replace("static int RT_SCREEN_Y[] = { 600, 768 };", "static int RT_SCREEN_Y[] = { 600, " + ResolutionY + " };");
-            File.WriteAllText(GameFolder + "\\Maps\\CONST.LGC", FileCONST, Encoding.GetEncoding(1251));
-            label25.ForeColor = System.Drawing.Color.Green;
-
-            // Инактивация кнопки.
-            button1.Text = "Patched!";
-            button1.Enabled = false;
-        }
-
-        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
-        {
-            // Получение выбранного разрешения по оси Х.
-            object ResolutionItem = comboBox1.SelectedItem;
-            string ResolutionString = Convert.ToString(ResolutionItem);
-            string ResolutionX = ResolutionString.Split("(")[1].Split("×")[0].Trim();
-            string ResolutionY = ResolutionString.Split("×")[1].Replace(")", "").Trim();
-
-            // Установка новых имён файлов.
-            label17.Text = label16.Text.Replace("1024", ResolutionX);
-            label22.Text = label11.Text.Replace("1024", ResolutionX);
-            label21.Text = label12.Text.Replace("1024", ResolutionX);
-            label20.Text = label13.Text.Replace("1024", ResolutionX);
-            label19.Text = label14.Text.Replace("1024", ResolutionX);
-            label18.Text = label15.Text.Replace("1024", ResolutionX);
-        }
-    }
-}
\ No newline at end of file
+
+namespace AS2R_Resolution_Patcher {
+
+	public partial class Form1 : Form {
+
+		public Form1() {
+			InitializeComponent();
+		}
+
+		//================================================================================//
+		//---> Данные.
+		//================================================================================//
+
+		// Разрешение экрана по оси X.
+		string ResolutionX = "";
+		// Разрешение экрана по оси Y.
+		string ResolutionY = "";
+		// Путь к папке игры.
+		string GameFolder = "";
+
+		//================================================================================//
+		//---> Вспомогательные методы.
+		//================================================================================//
+
+		// Проверяет наличие нативных файлов и устанавливает для них цвета в контейнере.
+		private int CheckNativeFiles(string GameFolder) {
+			// Количество найденных нативных файлов.
+			int ExistsNativeFilesCount = 0;
+
+			// Проверка существования нативного файла: damageframe1024.men.
+			if (File.Exists(GameFolder + "\\Maps\\damageframe1024.men")) { label16.ForeColor = System.Drawing.Color.Green; ExistsNativeFilesCount += 1; }
+			else label16.ForeColor = System.Drawing.Color.Red;
+
+			// Проверка существования нативного файла: gamebar_gun1024.men.
+			if (File.Exists(GameFolder + "\\Maps\\gamebar_gun1024.men")) { label11.ForeColor = System.Drawing.Color.Green; ExistsNativeFilesCount += 1; }
+			else label11.ForeColor = System.Drawing.Color.Red;
+
+			// Проверка существования нативного файла: gamebar_net1024.men.
+			if (File.Exists(GameFolder + "\\Maps\\gamebar_net1024.men")) { label12.ForeColor = System.Drawing.Color.Green; ExistsNativeFilesCount += 1; }
+			else label12.ForeColor = System.Drawing.Color.Red;
+
+			// Проверка существования нативного файла: gamebar1024.men.
+			if (File.Exists(GameFolder + "\\Maps\\gamebar1024.men")) { label13.ForeColor = System.Drawing.Color.Green; ExistsNativeFilesCount += 1; }
+			else label13.ForeColor = System.Drawing.Color.Red;
+
+			// Проверка существования нативного файла: radiotalk1024.men.
+			if (File.Exists(GameFolder + "\\Maps\\radiotalk1024.men")) { label14.ForeColor = System.Drawing.Color.Green; ExistsNativeFilesCount += 1; }
+			else label14.ForeColor = System.Drawing.Color.Red;
+
+			// Проверка существования нативного файла: nag1024.men.
+			if (File.Exists(GameFolder + "\\Maps\\nag1024.men")) { label15.ForeColor = System.Drawing.Color.Green; ExistsNativeFilesCount += 1; }
+			else label15.ForeColor = System.Drawing.Color.Red;
+
+			// Проверка существования нативного файла: CONST.LGC.
+			if (File.Exists(GameFolder + "\\Maps\\CONST.LGC")) {
+				// Текст файла конфигурации текстурирования.
+				string FileCONST = File.ReadAllText(GameFolder + "\\Maps\\CONST.LGC", Encoding.GetEncoding(1251));
+
+				// Проверка нативности файла.
+				if (FileCONST.Contains("static int RT_SCREEN_X[] = { 800, 1024 };")) { label24.ForeColor = System.Drawing.Color.Green; ExistsNativeFilesCount += 1; }
+				else label24.ForeColor = System.Drawing.Color.Red;
+			}
+			else label24.ForeColor = System.Drawing.Color.Red;
+
+			return ExistsNativeFilesCount;
+		}
+
+		// Получает выбранное разрешение игры.
+		private void GetResolution() {
+
+			// Если выбрано предустановленное разрешение.
+			if (comboBox1.SelectedIndex < 4) {
+				// Выбранный объект.
+				object ResolutionItem = comboBox1.SelectedItem;
+				// Строка выбранного объекта.
+				string ResolutionString = Convert.ToString(ResolutionItem);
+				// Получение разрешения экрана по оси X.
+				ResolutionX = ResolutionString.Split("(")[1].Split("×")[0].Trim();
+				// Получение разрешения экрана по оси Y.
+				ResolutionY = ResolutionString.Split("×")[1].Replace(")", "").Trim();
+			}
+			else {
+				// Получение разрешения экрана по оси X.
+				ResolutionX = textBox1.Text.Trim();
+				// Получение разрешения экрана по оси Y.
+				ResolutionY = textBox2.Text.Trim();
+			}
+		}
+
+		// Выполняет патчинг игры.
+		private void Patch() {
+			// Переименование файлов.
+			System.IO.File.Move(GameFolder + "\\Maps\\damageframe1024.men", GameFolder + "\\Maps\\damageframe" + ResolutionX + ".men", true);
+			label17.ForeColor = System.Drawing.Color.Green;
+			System.IO.File.Move(GameFolder + "\\Maps\\gamebar_gun1024.men", GameFolder + "\\Maps\\gamebar_gun" + ResolutionX + ".men", true);
+			label22.ForeColor = System.Drawing.Color.Green;
+			System.IO.File.Move(GameFolder + "\\Maps\\gamebar_net1024.men", GameFolder + "\\Maps\\gamebar_net" + ResolutionX + ".men", true);
+			label21.ForeColor = System.Drawing.Color.Green;
+			System.IO.File.Move(GameFolder + "\\Maps\\gamebar1024.men", GameFolder + "\\Maps\\gamebar" + ResolutionX + ".men", true);
+			label20.ForeColor = System.Drawing.Color.Green;
+			System.IO.File.Move(GameFolder + "\\Maps\\radiotalk1024.men", GameFolder + "\\Maps\\radiotalk" + ResolutionX + ".men", true);
+			label19.ForeColor = System.Drawing.Color.Green;
+			System.IO.File.Move(GameFolder + "\\Maps\\nag1024.men", GameFolder + "\\Maps\\nag" + ResolutionX + ".men", true);
+			label18.ForeColor = System.Drawing.Color.Green;
+			// Текст файла конфигурации текстурирования.
+			string FileCONST = File.ReadAllText(GameFolder + "\\Maps\\CONST.LGC", Encoding.GetEncoding(1251));
+			// Изменение разрешения в тексте файла конфигурации текстурирования.
+			FileCONST = FileCONST.Replace("static int RT_SCREEN_X[] = { 800, 1024 };", "static int RT_SCREEN_X[] = { 800, " + ResolutionX + " };");
+			FileCONST = FileCONST.Replace("static int RT_SCREEN_Y[] = { 600, 768 };", "static int RT_SCREEN_Y[] = { 600, " + ResolutionY + " };");
+			// Сохранение файла конфигурации текстурирования.
+			File.WriteAllText(GameFolder + "\\Maps\\CONST.LGC", FileCONST, Encoding.GetEncoding(1251));
+			label25.ForeColor = System.Drawing.Color.Green;
+		}
+
+		// Автоматически определяет и, если возможно, устанавливает разрешение экрана по умолчанию.
+		private void ResolutionAutodetection() {
+			// Установка выбора кастомного разрешения.
+			comboBox1.SelectedIndex = comboBox1.Items.Count - 1;
+			// Ширина экрана.
+			string Width = Screen.PrimaryScreen.Bounds.Width.ToString();
+			// Высота экрана.
+			string Height = Screen.PrimaryScreen.Bounds.Height.ToString();
+
+			// Проверка каждого разрешение на соответствие реальному.
+			for (int i = 0; i < comboBox1.Items.Count; i++) if (comboBox1.Items[i].ToString().Contains(Width) && comboBox1.Items[i].ToString().Contains(Height)) comboBox1.SelectedIndex = i;
+		}
+
+		// Переименовывает файлы в правой колонке согласно выбранному разрешению.
+		private void SetRightResolutions() {
+			// Переименование файлов в правой колонке согласно выбранному разрешению.
+			label17.Text = label16.Text.Replace("1024", ResolutionX);
+			label22.Text = label11.Text.Replace("1024", ResolutionX);
+			label21.Text = label12.Text.Replace("1024", ResolutionX);
+			label20.Text = label13.Text.Replace("1024", ResolutionX);
+			label19.Text = label14.Text.Replace("1024", ResolutionX);
+			label18.Text = label15.Text.Replace("1024", ResolutionX);
+		}
+
+		//================================================================================//
+		//---> Методы обработки взаимодействий с UI.
+		//================================================================================//
+
+		private void Form1_Load(object sender, EventArgs e) {
+			// Состояния: выполнены ли условия патчинга.
+			bool SteamInstalled = false, SavesFolderExists = false;
+			// Имя текущего пользователя ОС Windows.
+			string UserName = Environment.UserName;
+			// Количество найденных нативных файлов.
+			int ExistsNativeFilesCount = 0;
+			// Автоматическое определение разрешения экрана.
+			ResolutionAutodetection();
+			// Получение выбранного разрешения экрана.
+			GetResolution();
+			// Установка версии продукта в футер приложения.
+			label8.Text = Application.ProductVersion;
+
+			// Если установлен Steam.
+			if (File.Exists("C:\\Program Files (x86)\\Steam\\steam.exe")) {
+				// Установка успешного состояния для поля «Steam».
+				label3.Text = "OK";
+				label3.ForeColor = System.Drawing.Color.Green;
+				// Отметка о выполнении условия патчинга: клиент Steam установлен.
+				SteamInstalled = true;
+			}
+
+			// Если найдена директория сохранений.
+			if (Directory.Exists("C:\\Users\\" + UserName + "\\Documents\\AlienShooter2 Reloaded Saves")) {
+				// Установка успешного состояния для поля «Saves folder».
+				label4.Text = "OK";
+				label4.ForeColor = System.Drawing.Color.Green;
+				// Отметка о выполнении условия патчинга: игра запускалась.
+				SavesFolderExists = true;
+				// Получение текста файла конфигурации.
+				GameFolder = File.ReadAllText("C:\\Users\\" + UserName + "\\Documents\\AlienShooter2 Reloaded Saves\\Saves\\_global.dat", Encoding.UTF8);
+				// Получение пути к папке игры.
+				GameFolder = GameFolder.Split("\n")[0].Replace("sGamePath=", "").Trim();
+
+				// Вывод пути к папке игры.
+				label6.Text = GameFolder;
+				label6.ForeColor = System.Drawing.Color.Green;
+			}
+
+			// Получение количества найденных нативных файлов.
+			ExistsNativeFilesCount = CheckNativeFiles(GameFolder);
+
+			// Проверка выполнения условий патчинга.
+			if (ExistsNativeFilesCount == 7 && SteamInstalled && SavesFolderExists) button1.Enabled = true;
+		}
+
+		private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) {
+			// Открытие страницы проекта на GitHub.
+			System.Diagnostics.Process.Start(new ProcessStartInfo { FileName = "https://github.com/DUB1401/AS2R-ResolutionPatcher", UseShellExecute = true });
+		}
+
+		private void button1_Click(object sender, EventArgs e) {
+			// Установка патча.
+			Patch();
+
+			// Инактивация кнопки.
+			button1.Text = "Patched!";
+			button1.Enabled = false;
+		}
+
+		private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) {
+
+			// Если выбрано кастомное разрешение.
+			if (comboBox1.SelectedIndex == 4) {
+				// Включение видимости блока кастомного разрашения.
+				textBox1.Visible = true;
+				textBox2.Visible = true;
+				label27.Visible = true;
+				label28.Visible = true;
+
+				// Если вручную не указано кастомное разрешение.
+				if (textBox1.Text == "" || textBox2.Text == "") button1.Enabled = false;
+				else button1.Enabled = true;
+			}
+			else {
+				// Выключение видимости блока кастомного разрашения.
+				textBox1.Visible = false;
+				textBox2.Visible = false;
+				label27.Visible = false;
+				label28.Visible = false;
+			}
+
+			// Получение выбранного разрешения экрана.
+			GetResolution();
+			// Переименовать файлы в правой колонке согласно выбранному разрешению.
+			SetRightResolutions();
+		}
+
+		private void textBox1_TextChanged(object sender, EventArgs e) {
+
+			// Если вручную не указано кастомное разрешение.
+			if (textBox1.Text == "" || textBox2.Text == "") button1.Enabled = false;
+			else {
+				// Получение выбранного разрешения экрана.
+				GetResolution();
+				// Переименовать файлы в правой колонке согласно выбранному разрешению.
+				SetRightResolutions();
+
+				// Если патч не установлен, то активировать кнопку.
+				if (button1.Text != "Patched!") button1.Enabled = true;
+			}
+		}
+
+		private void textBox2_TextChanged(object sender, EventArgs e) {
+
+			// Если вручную не указано кастомное разрешение.
+			if (textBox1.Text == "" || textBox2.Text == "") button1.Enabled = false;
+			else {
+				// Получение выбранного разрешения экрана.
+				GetResolution();
+				// Переименовать файлы в правой колонке согласно выбранному разрешению.
+				SetRightResolutions();
+
+				// Если патч не установлен, то активировать кнопку.
+				if (button1.Text != "Patched!") button1.Enabled = true;
+			}
+		}
+
+	}
+}
diff --git a/AS2R Resolution Patcher/Form1.resx b/AS2R Resolution Patcher/Form1.resx
index 5d97b1a..d125e5f 100644
--- a/AS2R Resolution Patcher/Form1.resx	
+++ b/AS2R Resolution Patcher/Form1.resx	
@@ -287,6 +287,186 @@
         9v8AzW/ziAC57f8AmN/nEAAvt2/xG/ziAOK3mz/1G/ziAGzjrfRSD/uEANnFoP4k/WAGy1JNySmAEXT6
         EQAYtuAn9IAGYa3I+sADOOgv/ugAtCdv/wBhACirLb1/igAZz6fmgArgnzZfrAB+Xpl+sAFdPpAABuba
         CADBSNyIAGZN7g/rAAKh0A/NACFgKN/TvAH/2Q==
+</value>
+  </data>
+  <data name="pictureBox2.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+    <value>
+        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
+        RU5ErkJggg==
 </value>
   </data>
   <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
diff --git a/AS2R Resolution Patcher/Program.cs b/AS2R Resolution Patcher/Program.cs
index c2f35bf..8643506 100644
--- a/AS2R Resolution Patcher/Program.cs	
+++ b/AS2R Resolution Patcher/Program.cs	
@@ -1,21 +1,16 @@
 using System.Text;
 
-namespace AS2R_Resolution_Patcher
-{
-    internal static class Program
-    {
-        /// <summary>
-        ///  The main entry point for the application.
-        /// </summary>
-        [STAThread]
-        static void Main()
-        {
-            // To customize application configuration such as set high DPI settings or default font,
-            // see https://aka.ms/applicationconfiguration.
-            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
-            ApplicationConfiguration.Initialize();
-            Application.Run(new Form1());
-            
-        }
-    }
+namespace AS2R_Resolution_Patcher {
+
+	internal static class Program {
+
+		[STAThread]
+		static void Main() {
+			Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
+			ApplicationConfiguration.Initialize();
+			Application.Run(new Form1());
+			
+		}
+
+	}
 }
\ No newline at end of file
diff --git a/AS2R Resolution Patcher/Properties/Settings.Designer.cs b/AS2R Resolution Patcher/Properties/Settings.Designer.cs
new file mode 100644
index 0000000..71cf99a
--- /dev/null
+++ b/AS2R Resolution Patcher/Properties/Settings.Designer.cs	
@@ -0,0 +1,26 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     Этот код создан программой.
+//     Исполняемая версия:4.0.30319.42000
+//
+//     Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
+//     повторной генерации кода.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace AS2R_Resolution_Patcher.Properties {
+    
+    
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.5.0.0")]
+    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+        
+        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+        
+        public static Settings Default {
+            get {
+                return defaultInstance;
+            }
+        }
+    }
+}
diff --git a/AS2R Resolution Patcher/Steam.png b/AS2R Resolution Patcher/Steam.png
new file mode 100644
index 0000000000000000000000000000000000000000..c465036ec7953a675f9833d2baccee649cbc9303
GIT binary patch
literal 8421
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
Hu0mjf?4lX|

literal 0
HcmV?d00001

diff --git a/README.md b/README.md
index 1fd4f9e..5fda201 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
 # AS2R Resolution Patcher
-**AS2R Resolution Patcher** – это патч для Steam-версии игры [Alien Shooter 2: Reloaded](https://store.steampowered.com/app/33120/Alien_Shooter_2_Reloaded/), позволяющий устанавливать пользовательское разрешение экрана (HD, Full HD, QHD, Ultra HD). 
+**AS2R Resolution Patcher** – это патч для Steam-версии игры [Alien Shooter 2: Reloaded](https://store.steampowered.com/app/33120/Alien_Shooter_2_Reloaded/), позволяющий устанавливать пользовательскте разрешения экрана. 
 
 Метод работы основан на подмене разрешения в конфигурационном файле и изменении названий файлов зависимых от разрешения текстур.
 
@@ -25,13 +25,16 @@ _**Ответ**_: Программе не удалось найти этот ф
 ___
 ### _Вопрос_: Как мне вернуть файлы игры к исходному состоянию?
 
-_**Ответ**_: Выполните проверку целостности файлов игры в клиенте [Steam](https://store.steampowered.com/).
+_**Ответ**_: Выполните проверку целостности файлов игры в клиенте [Steam](https://store.steampowered.com/) или скопируйте с заменой файлы из [этой](Backup/) директории в _%GAME_FOLDER%/Maps/_.
 ___
 ### _Вопрос_: Патч установлен, но меню игры всё равно выглядит маленьким.
 
 _**Ответ**_: Патч работает только во время игрового процесса и не влияет на меню в виду программных особенностей.
 
 # Скриншот
-![2023-04-25_18-46-27](https://user-images.githubusercontent.com/40277356/234332009-a37d229d-2228-4ac2-b8db-b489621df25d.jpg)
+![2023-04-25_21-32-43](https://user-images.githubusercontent.com/40277356/234376923-c7aefefb-14d4-4a58-8483-277d602dcfce.jpg)
+
+# Благодарность
+* [@KDD!^putler kaputt 26/93](https://steamcommunity.com/id/agof) – алгоритм патча.
 
 _Copyright © DUB1401. 2023._