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._