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 @@
+
+
+
+ WinExe
+ net7.0-windows
+ AS2R_Resolution_Patcher
+ enable
+ true
+ enable
+ 1.0.1
+ $(AssemblyName)
+ $(Authors)
+ Copyright © DUB1401. 2023.
+
+ AS2R-Resolution-Patcher-1.0.1
+
+
+
+
+ True
+ True
+ Resources.resx
+
+
+ True
+ True
+
+
+
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+
+
+
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+
+
\ 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 @@
enable
true
enable
+ 1.0.1
+ $(AssemblyName)
+ $(Authors)
+ Copyright © DUB1401. 2023.
+
+ AS2R-Resolution-Patcher-1.0.1
@@ -15,6 +21,10 @@
True
Resources.resx
+
+ True
+ True
+
@@ -24,4 +34,11 @@
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+
\ 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
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
+namespace AS2R_Resolution_Patcher {
+ partial class Form1 {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ 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
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- 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();
- }
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ 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==
+
+
+
+
+ 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
+ RU5ErkJggg==
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
- {
- ///
- /// The main entry point for the application.
- ///
- [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 @@
+//------------------------------------------------------------------------------
+//
+// Этот код создан программой.
+// Исполняемая версия:4.0.30319.42000
+//
+// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае
+// повторной генерации кода.
+//
+//------------------------------------------------------------------------------
+
+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 0000000..c465036
Binary files /dev/null and b/AS2R Resolution Patcher/Steam.png differ
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._