From ec430aca651a80a1ee877447343e7d62f08f12a4 Mon Sep 17 00:00:00 2001 From: DUB1401 <vlad.milosta@yandex.ru> Date: Tue, 25 Apr 2023 18:53:39 +0300 Subject: [PATCH] Project upload --- .gitignore | 4 + AS2R Resolution Patcher.sln | 25 + .../AS2R Resolution Patcher.csproj | 27 + .../AS2R Resolution Patcher.csproj.user | 8 + AS2R Resolution Patcher/AlienShooter.ico | Bin 0 -> 43532 bytes AS2R Resolution Patcher/AlienShooter.jpg | Bin 0 -> 13588 bytes AS2R Resolution Patcher/Form1.Designer.cs | 474 ++++++++ AS2R Resolution Patcher/Form1.cs | 183 +++ AS2R Resolution Patcher/Form1.resx | 1022 +++++++++++++++++ AS2R Resolution Patcher/Program.cs | 21 + .../Properties/Resources.Designer.cs | 63 + .../Properties/Resources.resx | 120 ++ Backup/CONST.LGC | 918 +++++++++++++++ Backup/damageframe1024.men | Bin 0 -> 348 bytes Backup/gamebar1024.men | Bin 0 -> 3502 bytes Backup/gamebar_gun1024.men | Bin 0 -> 805 bytes Backup/gamebar_net1024.men | Bin 0 -> 1539 bytes Backup/nag1024.men | Bin 0 -> 424 bytes Backup/radiotalk1024.men | Bin 0 -> 218 bytes LICENSE | 201 ++++ README.md | 37 + 21 files changed, 3103 insertions(+) create mode 100644 .gitignore create mode 100644 AS2R Resolution Patcher.sln create mode 100644 AS2R Resolution Patcher/AS2R Resolution Patcher.csproj create mode 100644 AS2R Resolution Patcher/AS2R Resolution Patcher.csproj.user create mode 100644 AS2R Resolution Patcher/AlienShooter.ico create mode 100644 AS2R Resolution Patcher/AlienShooter.jpg create mode 100644 AS2R Resolution Patcher/Form1.Designer.cs create mode 100644 AS2R Resolution Patcher/Form1.cs create mode 100644 AS2R Resolution Patcher/Form1.resx create mode 100644 AS2R Resolution Patcher/Program.cs create mode 100644 AS2R Resolution Patcher/Properties/Resources.Designer.cs create mode 100644 AS2R Resolution Patcher/Properties/Resources.resx create mode 100644 Backup/CONST.LGC create mode 100644 Backup/damageframe1024.men create mode 100644 Backup/gamebar1024.men create mode 100644 Backup/gamebar_gun1024.men create mode 100644 Backup/gamebar_net1024.men create mode 100644 Backup/nag1024.men create mode 100644 Backup/radiotalk1024.men create mode 100644 LICENSE create mode 100644 README.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..abf5ce8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +AS2R Resolution Patcher/bin +AS2R Resolution Patcher/obj +.vs + diff --git a/AS2R Resolution Patcher.sln b/AS2R Resolution Patcher.sln new file mode 100644 index 0000000..6c4b767 --- /dev/null +++ b/AS2R Resolution Patcher.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.5.33530.505 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AS2R Resolution Patcher", "AS2R Resolution Patcher\AS2R Resolution Patcher.csproj", "{5D219D63-2D32-409E-89CD-39CB8C3B2B15}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {5D219D63-2D32-409E-89CD-39CB8C3B2B15}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5D219D63-2D32-409E-89CD-39CB8C3B2B15}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5D219D63-2D32-409E-89CD-39CB8C3B2B15}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5D219D63-2D32-409E-89CD-39CB8C3B2B15}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {9BE0103E-A8BA-4FC0-BF35-5A6247C165CA} + EndGlobalSection +EndGlobal diff --git a/AS2R Resolution Patcher/AS2R Resolution Patcher.csproj b/AS2R Resolution Patcher/AS2R Resolution Patcher.csproj new file mode 100644 index 0000000..1eac1e0 --- /dev/null +++ b/AS2R Resolution Patcher/AS2R Resolution Patcher.csproj @@ -0,0 +1,27 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <OutputType>WinExe</OutputType> + <TargetFramework>net7.0-windows</TargetFramework> + <RootNamespace>AS2R_Resolution_Patcher</RootNamespace> + <Nullable>enable</Nullable> + <UseWindowsForms>true</UseWindowsForms> + <ImplicitUsings>enable</ImplicitUsings> + </PropertyGroup> + + <ItemGroup> + <Compile Update="Properties\Resources.Designer.cs"> + <DesignTime>True</DesignTime> + <AutoGen>True</AutoGen> + <DependentUpon>Resources.resx</DependentUpon> + </Compile> + </ItemGroup> + + <ItemGroup> + <EmbeddedResource Update="Properties\Resources.resx"> + <Generator>ResXFileCodeGenerator</Generator> + <LastGenOutput>Resources.Designer.cs</LastGenOutput> + </EmbeddedResource> + </ItemGroup> + +</Project> \ No newline at end of file diff --git a/AS2R Resolution Patcher/AS2R Resolution Patcher.csproj.user b/AS2R Resolution Patcher/AS2R Resolution Patcher.csproj.user new file mode 100644 index 0000000..7814ea2 --- /dev/null +++ b/AS2R Resolution Patcher/AS2R Resolution Patcher.csproj.user @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Compile Update="Form1.cs"> + <SubType>Form</SubType> + </Compile> + </ItemGroup> +</Project> diff --git a/AS2R Resolution Patcher/AlienShooter.ico b/AS2R Resolution Patcher/AlienShooter.ico new file mode 100644 index 0000000000000000000000000000000000000000..00570d8180277bd95f5c3bc6ee9ca58a1e5552bf GIT binary patch literal 43532 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 literal 0 HcmV?d00001 diff --git a/AS2R Resolution Patcher/AlienShooter.jpg b/AS2R Resolution Patcher/AlienShooter.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b9a4f6e02f542c4d0ace1777a09a9817d169d010 GIT binary patch literal 13588 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 BJdywa literal 0 HcmV?d00001 diff --git a/AS2R Resolution Patcher/Form1.Designer.cs b/AS2R Resolution Patcher/Form1.Designer.cs new file mode 100644 index 0000000..7aafac1 --- /dev/null +++ b/AS2R Resolution Patcher/Form1.Designer.cs @@ -0,0 +1,474 @@ +namespace AS2R_Resolution_Patcher +{ + partial class Form1 + { + /// <summary> + /// Required designer variable. + /// </summary> + private System.ComponentModel.IContainer components = null; + + /// <summary> + /// Clean up any resources being used. + /// </summary> + /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// <summary> + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// </summary> + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1)); + label1 = new Label(); + label2 = new Label(); + label3 = new Label(); + label4 = new Label(); + label5 = new Label(); + label6 = new Label(); + groupBox1 = new GroupBox(); + label24 = new Label(); + label16 = new Label(); + label15 = new Label(); + label14 = new Label(); + label13 = new Label(); + label12 = new Label(); + label11 = new Label(); + groupBox2 = new GroupBox(); + label25 = new Label(); + label17 = new Label(); + label21 = new Label(); + label18 = new Label(); + label22 = new Label(); + label19 = new Label(); + label20 = new Label(); + label7 = new Label(); + button1 = new Button(); + label8 = new Label(); + label9 = new Label(); + label10 = new Label(); + comboBox1 = new ComboBox(); + label23 = new Label(); + pictureBox1 = new PictureBox(); + linkLabel1 = new LinkLabel(); + label26 = new Label(); + groupBox1.SuspendLayout(); + groupBox2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit(); + SuspendLayout(); + // + // label1 + // + label1.AutoSize = true; + label1.Location = new Point(15, 10); + label1.Name = "label1"; + label1.Size = new Size(43, 15); + label1.TabIndex = 0; + label1.Text = "Steam:"; + // + // label2 + // + label2.AutoSize = true; + label2.Location = new Point(15, 30); + label2.Name = "label2"; + label2.Size = new Size(76, 15); + label2.TabIndex = 1; + label2.Text = "Saves folder: "; + // + // label3 + // + label3.AutoSize = true; + label3.ForeColor = Color.Red; + label3.Location = new Point(90, 10); + label3.Name = "label3"; + label3.Size = new Size(72, 15); + label3.TabIndex = 2; + label3.Text = "not installed"; + // + // label4 + // + label4.AutoSize = true; + label4.ForeColor = Color.Red; + label4.Location = new Point(90, 30); + label4.Name = "label4"; + label4.Size = new Size(57, 15); + label4.TabIndex = 3; + label4.Text = "not exists"; + // + // label5 + // + label5.AutoSize = true; + label5.Location = new Point(15, 50); + label5.Name = "label5"; + label5.Size = new Size(78, 15); + label5.TabIndex = 4; + label5.Text = "Game folder: "; + // + // label6 + // + label6.AutoSize = true; + label6.ForeColor = Color.Red; + label6.Location = new Point(90, 50); + label6.Name = "label6"; + label6.Size = new Size(60, 15); + label6.TabIndex = 5; + label6.Text = "not found"; + // + // groupBox1 + // + groupBox1.Controls.Add(label24); + groupBox1.Controls.Add(label16); + groupBox1.Controls.Add(label15); + groupBox1.Controls.Add(label14); + groupBox1.Controls.Add(label13); + groupBox1.Controls.Add(label12); + groupBox1.Controls.Add(label11); + groupBox1.Location = new Point(15, 120); + groupBox1.Name = "groupBox1"; + groupBox1.Size = new Size(200, 200); + groupBox1.TabIndex = 6; + groupBox1.TabStop = false; + groupBox1.Text = "Files before"; + // + // label24 + // + label24.AutoSize = true; + label24.ForeColor = Color.Gray; + label24.Location = new Point(5, 140); + label24.Name = "label24"; + label24.Size = new Size(70, 15); + label24.TabIndex = 6; + label24.Text = "CONST.LGC"; + // + // label16 + // + label16.AutoSize = true; + label16.ForeColor = Color.Gray; + label16.Location = new Point(5, 20); + label16.Name = "label16"; + label16.Size = new Size(132, 15); + label16.TabIndex = 5; + label16.Text = "damageframe1024.men"; + // + // label15 + // + label15.AutoSize = true; + label15.ForeColor = Color.Gray; + label15.Location = new Point(5, 120); + label15.Name = "label15"; + label15.Size = new Size(78, 15); + label15.TabIndex = 4; + label15.Text = "nag1024.men"; + // + // label14 + // + label14.AutoSize = true; + label14.ForeColor = Color.Gray; + label14.Location = new Point(5, 100); + label14.Name = "label14"; + label14.Size = new Size(104, 15); + label14.TabIndex = 3; + label14.Text = "radiotalk1024.men"; + // + // label13 + // + label13.AutoSize = true; + label13.ForeColor = Color.Gray; + label13.Location = new Point(5, 80); + label13.Name = "label13"; + label13.Size = new Size(105, 15); + label13.TabIndex = 2; + label13.Text = "gamebar1024.men"; + // + // label12 + // + label12.AutoSize = true; + label12.ForeColor = Color.Gray; + label12.Location = new Point(5, 60); + label12.Name = "label12"; + label12.Size = new Size(127, 15); + label12.TabIndex = 1; + label12.Text = "gamebar_net1024.men"; + // + // label11 + // + label11.AutoSize = true; + label11.ForeColor = Color.Gray; + label11.Location = new Point(5, 40); + label11.Name = "label11"; + label11.Size = new Size(131, 15); + label11.TabIndex = 0; + label11.Text = "gamebar_gun1024.men"; + // + // groupBox2 + // + groupBox2.Controls.Add(label25); + groupBox2.Controls.Add(label17); + groupBox2.Controls.Add(label21); + groupBox2.Controls.Add(label18); + groupBox2.Controls.Add(label22); + groupBox2.Controls.Add(label19); + groupBox2.Controls.Add(label20); + groupBox2.Location = new Point(250, 120); + groupBox2.Name = "groupBox2"; + groupBox2.Size = new Size(200, 200); + groupBox2.TabIndex = 7; + groupBox2.TabStop = false; + groupBox2.Text = "Files after"; + // + // label25 + // + label25.AutoSize = true; + label25.ForeColor = Color.Gray; + label25.Location = new Point(5, 140); + label25.Name = "label25"; + label25.Size = new Size(70, 15); + label25.TabIndex = 12; + label25.Text = "CONST.LGC"; + // + // label17 + // + label17.AutoSize = true; + label17.ForeColor = Color.Gray; + label17.Location = new Point(5, 20); + label17.Name = "label17"; + label17.Size = new Size(132, 15); + label17.TabIndex = 11; + label17.Text = "damageframe1024.men"; + // + // label21 + // + label21.AutoSize = true; + label21.ForeColor = Color.Gray; + label21.Location = new Point(5, 60); + label21.Name = "label21"; + label21.Size = new Size(127, 15); + label21.TabIndex = 7; + label21.Text = "gamebar_net1024.men"; + // + // label18 + // + label18.AutoSize = true; + label18.ForeColor = Color.Gray; + label18.Location = new Point(5, 120); + label18.Name = "label18"; + label18.Size = new Size(78, 15); + label18.TabIndex = 10; + label18.Text = "nag1024.men"; + // + // label22 + // + label22.AutoSize = true; + label22.ForeColor = Color.Gray; + label22.Location = new Point(5, 40); + label22.Name = "label22"; + label22.Size = new Size(131, 15); + label22.TabIndex = 6; + label22.Text = "gamebar_gun1024.men"; + // + // label19 + // + label19.AutoSize = true; + label19.ForeColor = Color.Gray; + label19.Location = new Point(5, 100); + label19.Name = "label19"; + label19.Size = new Size(104, 15); + label19.TabIndex = 9; + label19.Text = "radiotalk1024.men"; + // + // label20 + // + label20.AutoSize = true; + label20.ForeColor = Color.Gray; + label20.Location = new Point(5, 80); + label20.Name = "label20"; + label20.Size = new Size(105, 15); + label20.TabIndex = 8; + label20.Text = "gamebar1024.men"; + // + // label7 + // + label7.AutoSize = true; + label7.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point); + label7.Location = new Point(10, 420); + label7.Name = "label7"; + label7.Size = new Size(51, 15); + label7.TabIndex = 8; + label7.Text = "Version:"; + // + // button1 + // + button1.Enabled = false; + button1.Font = new Font("Segoe UI", 24F, FontStyle.Bold, GraphicsUnit.Point); + button1.Location = new Point(10, 335); + button1.Name = "button1"; + button1.Size = new Size(600, 64); + button1.TabIndex = 9; + button1.Text = "Start patching..."; + button1.UseVisualStyleBackColor = true; + button1.Click += button1_Click; + // + // label8 + // + label8.AutoSize = true; + label8.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point); + label8.ForeColor = Color.Green; + label8.Location = new Point(60, 420); + label8.Name = "label8"; + label8.Size = new Size(34, 15); + label8.TabIndex = 10; + label8.Text = "1.0.0"; + // + // label9 + // + label9.BorderStyle = BorderStyle.Fixed3D; + label9.Location = new Point(0, 415); + label9.Name = "label9"; + label9.Size = new Size(640, 2); + label9.TabIndex = 11; + // + // label10 + // + label10.AutoSize = true; + label10.Font = new Font("Segoe UI", 9F, FontStyle.Italic, GraphicsUnit.Point); + label10.Location = new Point(460, 420); + label10.Name = "label10"; + label10.Size = new Size(157, 15); + label10.TabIndex = 12; + label10.Text = "Copyright © DUB1401. 2023."; + // + // comboBox1 + // + comboBox1.DropDownStyle = ComboBoxStyle.DropDownList; + comboBox1.Font = new Font("Segoe UI Variable Display", 9F, FontStyle.Regular, GraphicsUnit.Point); + comboBox1.FormattingEnabled = true; + comboBox1.Items.AddRange(new object[] { "Ultra HD (3840 × 2160)", "QHD (2560 × 1440)", "Full HD (1920 × 1080)", "HD (1280 × 720)" }); + comboBox1.Location = new Point(458, 140); + comboBox1.Name = "comboBox1"; + comboBox1.Size = new Size(150, 24); + comboBox1.TabIndex = 13; + comboBox1.SelectedIndexChanged += comboBox1_SelectedIndexChanged; + // + // label23 + // + label23.AutoSize = true; + label23.Location = new Point(455, 120); + label23.Name = "label23"; + label23.Size = new Size(63, 15); + label23.TabIndex = 14; + label23.Text = "Resolution"; + // + // pictureBox1 + // + pictureBox1.BackgroundImage = (Image)resources.GetObject("pictureBox1.BackgroundImage"); + pictureBox1.BackgroundImageLayout = ImageLayout.Stretch; + pictureBox1.Location = new Point(458, 249); + pictureBox1.Name = "pictureBox1"; + pictureBox1.Size = new Size(150, 70); + pictureBox1.TabIndex = 15; + pictureBox1.TabStop = false; + // + // linkLabel1 + // + linkLabel1.AutoSize = true; + linkLabel1.Location = new Point(95, 420); + linkLabel1.Name = "linkLabel1"; + linkLabel1.Size = new Size(45, 15); + linkLabel1.TabIndex = 16; + linkLabel1.TabStop = true; + linkLabel1.Text = "GitHub"; + linkLabel1.LinkClicked += linkLabel1_LinkClicked; + // + // label26 + // + label26.AutoSize = true; + label26.Font = new Font("Segoe UI", 14F, FontStyle.Bold, GraphicsUnit.Point); + label26.Location = new Point(217, 205); + label26.Name = "label26"; + label26.Size = new Size(32, 25); + label26.TabIndex = 17; + label26.Text = "âžœ"; + // + // Form1 + // + AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleMode = AutoScaleMode.Font; + BackColor = SystemColors.Control; + ClientSize = new Size(624, 441); + Controls.Add(label26); + Controls.Add(linkLabel1); + Controls.Add(pictureBox1); + Controls.Add(label23); + Controls.Add(comboBox1); + Controls.Add(label10); + Controls.Add(label9); + Controls.Add(label8); + Controls.Add(button1); + Controls.Add(label7); + Controls.Add(groupBox2); + Controls.Add(groupBox1); + Controls.Add(label6); + Controls.Add(label5); + Controls.Add(label4); + Controls.Add(label3); + Controls.Add(label2); + Controls.Add(label1); + Icon = (Icon)resources.GetObject("$this.Icon"); + MaximizeBox = false; + Name = "Form1"; + Text = "Alien Shooter 2: Reloaded – Resolution Patcher"; + Load += Form1_Load; + groupBox1.ResumeLayout(false); + groupBox1.PerformLayout(); + groupBox2.ResumeLayout(false); + groupBox2.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)pictureBox1).EndInit(); + ResumeLayout(false); + PerformLayout(); + } + + #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; + } +} \ No newline at end of file diff --git a/AS2R Resolution Patcher/Form1.cs b/AS2R Resolution Patcher/Form1.cs new file mode 100644 index 0000000..6e821c6 --- /dev/null +++ b/AS2R Resolution Patcher/Form1.cs @@ -0,0 +1,183 @@ +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 diff --git a/AS2R Resolution Patcher/Form1.resx b/AS2R Resolution Patcher/Form1.resx new file mode 100644 index 0000000..5d97b1a --- /dev/null +++ b/AS2R Resolution Patcher/Form1.resx @@ -0,0 +1,1022 @@ +<root> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <data name="pictureBox1.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + 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 + CADBSNyIAGZN7g/rAAKh0A/NACFgKN/TvAH/2Q== +</value> + </data> + <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAABABAAMDAQAAEABABoBgAABgEAACAgEAABAAQA6AIAAG4HAAAYGBAAAQAEAOgBAABWCgAAEBAQAAEA + BAAoAQAAPgwAADAwAAABAAgAqA4AAGYNAAAgIAAAAQAIAKgIAAAOHAAAGBgAAAEACADIBgAAtiQAABAQ + AAABAAgAaAUAAH4rAAAwMAAAAQAYAKgcAADmMAAAICAAAAEAGACoDAAAjk0AABgYAAABABgASAcAADZa + AAAQEAAAAQAYAGgDAAB+YQAAMDAAAAEAIACoJQAA5mQAACAgAAABACAAqBAAAI6KAAAYGAAAAQAgAIgJ + AAA2mwAAEBAAAAEAIABoBAAAvqQAACgAAAAwAAAAYAAAAAEABAAAAAAAgAQAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdwB5dwAAAAAAAAAACBcAAAAAAAAA + AAAAeAAZGRcAAAAAAAAAABlwAAAAAAAAAAAAeAB5mZEAAAAAAABxEZkQAAAAAAAAAAAAeAB5mZcAAAAA + AAcZmZFwAAAAAAAAAAAAeAB5mRgAAAAAAHGZmRgAAAAAAAAAAAAAeAB5mRAAAAAAhxmZFwAAAAAAAAAA + AAAAeAB5mRAAAAAHGZmRgAAAAAAAAAAAAAAAeAB5mRcAAAcRmZkYAAAAAAAAAAAAAAAAeAAJmZFwCBGZ + mZFwAAAAAAAAAAAAAAAAeAABmZkQcZmZmRcAAAAAAAAAAAAAAAAAeAAZmRGRGZmZkXAAAAAAAAAAAAAA + AAAAeAAZmRCZmZmZGAAAAAAAAAAAAAAAAAAAfwB5mZmZmZmRcAAAAAAAAAAAAAAAAAAAfwBxmZmZmZmQ + AAAAAAAAAAAAAAAAAAcAfwBxmZmZmZkQgAAAAAAAAAAAAAAAAAAABwBxmZmZmZmZFwAAAAAAAAAAAAAA + AHAABwBxmZERmZmZkQAAAAAAAAAAAAAABwAABwgBmZCAcZmZmXAAAAAAAAAAAAAAAAAABwcBmZEAAZmZ + mXAAAAAAAAAAAAAAAAAABwcBmZGAAZmZmXAAAAAAAAAAAAAAcAAABwcRmZFwgZmZmXAAAAAAAAAAAAAA + cAAABwGZmZlwcZmZmXAAAAAAAAAAAAAAcHAAAAeZmZkXAZmZkYAAAAAAAAAAAAAAAAAAAAgZmZmRGZmZ + kQAAAAAAAAAAAAAAcAAAAAABmZmZmZmZFwAAAAAAAAAAAAAAAAAAAAAHEZmZmZmRgAAAAAAAAAAAAAAA + AAAAAAAAhxEREXEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeA + AAAAAAAAAAAAAACAAAAAAAAAAAAHd3/wAAAAAAAAAAAAAAdwAAAAAAAAd3d3d/8AAAAAAAAAAAAAAAAA + AAAAd3d3dwAAAAAAAAAAAAAAAAAAAAcAAAB3d3AAAAAAAAAAB3AAAAAAAAB3d3cAB3cAAAAAAAAAAAAA + d/AAAAAAAAAAAAAAdwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdwAHdwd3AAAHd3d3dwAAAAAAAAAAAAB3 + cHd3d3AAAAd3d3d3d3d3iIiPB3d3d3cAAHd3cHd3AHd3d3d3iIj/////BwAAAAAAB3d3cAd3AAd3d3d4 + iI//AAAAAAAAAAAAB3d3AAAHcAdwd3dwBwAAAAAAd3d3d3d3AAAAAHd3d3d3d3cHd4dwAAAAd3AHeHeI + d3d3d3d3d4+Ij/d3dwBwAAAAAAAAdwAPd4iIiIh3B4gAAAB3eAAAAAAAAAAHdwAAAAAAAAAIAAAAAAB3 + eAAAAAAAAACHdwAAAAAAAAAPAAAAAAB3dwAAAAAAAHd3cAAAAAAAAAAAAAAAAAAHcAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////////AAD//gw//+MAAP/+DA//4QAA//4MD/8BAAD//gwP/gEAAP/+ + DA/8AwAA//4MH/APAAD//gwf4B8AAP/+DA+APwAA//4MBgB/AAD//gwAAP8AAP/+DAAB/wAA//4MAAP/ + AAD//gwAB/8AAP/+DAAP/wAA//4MAAf/AAD//AwAA/8AAP/4DAAD/wAA//AIBAH/AAD/8AgOAf8AAP/w + CAYB/wAA//AIBAH/AAD/8AgEAf8AAP/wCAAB/wAA//AIAAP/AAD/4AgAA/8AAP/gAgAH/wAA/+AEAB// + AAD/4AnPD/8AAP/gCd4f/wAA/8AYwB//AAD/gAAAP/8AAP+AAAfB/wAA/4AAIAH/AACAAAAAAf8AAAAA + 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 + PQACAksAAABSAAQEVgABAV0AFBRbABgYWQA3N0sAKyteAAEBYQAAAGUAAQFrAAAAbAAECGoAExNjABcX + bgAaGm4ADAxzAAwMdwABAXgACAh7AAwLegAKCn4AEhJzAB8fcAAREX8AKShiADAwZwA7O2YAPDxlACsr + dgBBQUEARUVFAElIRwBJSUkATU1NAENDVABJSVMAQEBeAFJSUgBVVVUAWVlZAF1dXQBjZF4ASkpjAE5N + ZABFRWoAUlJnAFZWZQBYWGAAXl5hAFRUbQBWVngAYWFhAGVlZQBkZG8AaWlpAGxrawBtbW0AZmZ3AG9v + cgBmZn8AcXFxAHV1dQBycnkAd3d4AHJyfgB1dX0AeXl5AH5+fgCAgH8AAQGAAAEBhAAAAIkAAAGMABAQ + gwATE4QAGBiEAAEBkQAGBpAAAQGWAAgIkQAMDJEAAQGaAAQEmQABAZ0ACwuaABwckgAgIIIAIyOKACAg + jwArK5EAKSmYADQ0lAAAAKIAAAClAAAAqQAGBqsAAQGtAAAAsQAAALUAAQG6AAUFuwAAAL0ABga+ACIi + rwA9PagAISGwACsrtAAtLbkAKCi8AE9PmwBtbYAAaWmFAG5uhQBmZowAeHiAAHx8ggB+focAfX2KAG5u + kQBkZJwAcHCTAH19kwB8fJQAXl63AFJSuAAAAMEAAADFAAsLwAAAAM0AHh7AAAAA0QAAANUABgbXAAAA + 2AAAAN0AAADiAAAA5QAAAOgAAADuAAAA8AAAAPUAAAD5AAAA/gBsbMIAZmbdAIGBgQCEg4MAhYWFAIKC + iQCJiYkAjY2NAJKQjwCRkZEAlZWVAJSUnQCampoAnZ2dAKCgnwCGhqAAl5ehAJubogCdnakAm5uvAKCg + oQChoaYApaWlAKKiqACpqaoAq6utAKysrACwsK8Ar7CwALGxsQC0tLQAu7uzALm5uQC8vLwAtLTAAMHB + wQDGxsYAyMbGAMrKygDOzs4A0dHRAN3d3QDl5eUA6+vrAOzs7ADy8vIA9/f3APr6+gD+/v4AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAA + 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 + ugCMjMUAp6fBAKenxgCoqMkAwcHBAMXFwgDExMQA1dXMANra2gDc3NwA9fXyAP7++QAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBAGoAN2UA + AAAAAAAANXYAAAAAAAAAAAAAAW0ATkYAAAAAAEBMR3QAAAAAAAAAAAAAAW0ATkMAAAAAHVA+AAAAAAAA + AAAAAAAAAXkASkUAAEI7UDkAAAAAAAAAAAAAAAAABHB2SjgZG1BQNwAAAAAAAAAAAAAAAAAAAXkATEZM + UFAyAAAAAAAAAAAAAAAAAAAACHEARFBQUFAYcwAAAAAAAAAAAAAAAAAUC2IARkYsPVBQGgAAAAAAAAAA + AAAAAA0WEVZZO04AAFBQNAAAAAAAAAAAAAAAAAsWETFSUE5fLVBQNwAAAAAAAAAAAAAAABEWEV53TlA8 + NFBQHAAAAAAAAAAAAAAAABEWESoAWklIUVM/ewAAAAAAAAAAAAAAABERDSMAAAAAAAAAeQAAAAAAAAAA + AAAAAAYLCyEAAAAAAABcfgAAAAAAAAAAAAAAZgAEBB9pb3koJlh/AAAAAAAAAAAAAAAAHwQRER8fFiMr + EVxhVmYAAAAAAAALHx8oCxEfERERESdhAAAAABFrAAAAAGEEBgYLHyMfJScjIwsWLmFhY1wNCyUlKGYR + IyMWEREoLhYWHxEjMFZcYWZ8fwAAAGsRHx8jJREfJQYfIyMoKzAwFjB5AAAAAAALC28AAGEwVmN5cmt5 + AAB8I2sAAAAAAAAlKFwAAAAAAAAAfAAAAAAAa3kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP// + /wD+J/MA/yfDAP8njwD/Jh8A/wA/AP8gfwD/ID8A/iA/APwGPwD8AD8A/AA/APwgPwD8P78A/D8/APgA + fwD4AB8AgAAPAAAAAAAAAAcAAAAPAIwDHwCP758A////ACgAAAAQAAAAIAAAAAEACAAAAAAAAAEAAAAA + AAAAAAAAAAEAAAABAAAAAAAABQUAAAYGBgAJCQAAFRUSABcXFwAZGRkAHx8fACIiIgAqKioALi4sADIy + MgA0NDEANzc3ADo6NAA6OjoAPj4+AENDPQAAAFsAQUFBAEZGRgBISEgAU1NTAFVVVQBeXl4AYGBgAGlp + ZwBra2sAampvAGxsbABwcG8AdXVvAH19fQAAAI0AFhaBAAICnQAkJJ0ACAikAAAAqQAYGKwAAACxAAkJ + vwAyMrkAVVatAAAAwwAAAMcABgbLABISxQAAANAAIiTBAAAA7QAAAPAAAAD0AAAA+wAAAP8AX1/pAIOD + gwCFhYIAhYWEAJCQkACXl5cAkZGcAJiYmACcnJwAurqZAJSUtACioqAApqamAKiopwCrqakAq6utAK2t + rQC6urMAuLi4ANfXrgDKybUAxsa/AJ6ewwDFxcUAy8vLANvbyQDIyNgA2NjYANzc3AAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAD///8AAAAAAABMAAAAAAAAAAAAAAAAAAAAAAAtJwAAAEEtUQAAAAAAAAAAL00A + ACQyAAAAAAAAAAAAACgmHDI1AAAAAAAAAAAAAwAxMzUzSgAAAAAAAAAAAAQAIykqNSIAAAAAAAAAAA4K + RiEuADUwAAAAAAAAAAAUCksyNRI1JQAAAAAAAAAACws9ACs3AEAAAAAAAAAAAAYEAAAAAABQAAAAAAAA + AE4AAB46OhFIAAAAAAAAPAAXChQLBkYAAAAeAAAAHAYKCxQZFxUEID9DOhpDRDwPFBQPGAgUDxwgFz8A + AAAAAE8AAEkARgAAABxSAAAAAFIAAAAAAAAAAAAAAAAAAPv/AAD6cQAA+mcAAPoPAAD6DwAA+g8AAPBP + AADwDwAA8S8AAPPvAADgHwAAoAcAAAAAAAAABwAAmucAAL//AAAoAAAAMAAAAGAAAAABABgAAAAAAAAb + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 + a2traGhoWVlZUlJSXl5ejo6O9/f3////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODg4HBwcExMTFBQUHh4eHh4eGxsbIyMjMDAw + Q0NDRUVFSUlJU1NTZGRkVlZWRkZGQEBAHR0dCAgIAgICAAAAAAAAAAAAAAAAAAAAAgICDAwMCAgIExMT + CQkJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcHBw + GxsbICAgEhISDg4OHx8fOTk5TU1NU1NTTk5OVVVVSkpKNDQ0KysrLi4uLS0tHx8fAAAAHBwcHx8fHBwc + JycnJCQkJSUlKioqJCQkMjIyNjY2WVlZZGRkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANjY2 + PDw8Pz8/REREREREREREQ0NDR0dHQkJCFxcXExMTFhYWQUFBV1dXWFhYNDQ0JycnISEhJSUlJycnKioq + MjIyKysrJiYmGhoaKCgoLy8vLS0tKCgoJiYmICAgJCQkKioqMTExMDAwQ0NDdHR08/PzAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAACgoKHx8fIiIiJCQkIiIiJiYmJycnJycnJSUlHx8fFhYWGxsbQkJCUlJS + Ozs7KSkpKioqMTExMzMzPDw8NjY2PDw8Ojo6MDAwJycnFhYWBQUFDw8PBwcHAwMDBwcHCAgICAgIBwcH + CwsLCgoKFhYWMjIyCAgIBgYGCAgIBwcHAAAAAgICBAQEBAQEAQEBAAAAKioqFxcXDAwMExMTEhISFxcX + GxsbFBQUCQkJEhISNTU1TExMZWVlSUlJJycnLCwsPj4+QkJCSEhITExMMzMzXV1dY2NjUlJSMDAwEBAQ + HBwcODg4ODg4Xl5eZ2dnampqbm5uampqcXFxZ2dncXFxb29vDw8PCAgIDAwMBgYGCQkJCgoKCQkJCgoK + CgoKExMTKysrMjIyJiYmKioqKysrMTExMjIyLi4uMjIyOzs7RkZGW1tbVFRULi4uR0dHUlJSVFRUWFhY + X19fZGRkQ0NDMzMzNjY2NjY2JiYmEhISMzMza2trdXV1hoaGhoaGiYmJjIyMg4ODk5OTjY2NnJycm5ub + R0dHWlpaQEBAUlJSxcXFz8/Py8vLwsLCzs7O/Pz8NDQ0RkZGQkJCT09PUVFRSUlJUFBQXl5eXl5eVFRU + PDw8Ly8vPz8/IyMjV1dXYGBgXl5eY2NjXl5eKysrTExMSEhIRkZGSEhIOjo6JCQkQEBAZmZmbm5ugoKC + jo6OkJCQlJSUjY2NlZWVkZGRpKSkpaWlsrKyzs7O5eXl8vLy////////////////////////Pz8/TExM + PDw8PT09Pj4+PT09Ojo6Pj4+MDAwOjo6Ozs7PDw8KSkpT09PYGBgZGRkZGRka2trUlJSJCQkPT09RUVF + RUVFRkZGNjY2Li4uPDw8YmJifX19jIyMi4uLk5OTm5ublpaWnp6eqamprKysp6enqamp7e7u+vr6//// + AAAAAAAAAAAAAAAAAAAAAAAAEBAQLy8vIyMjIyMjJCQkIyMjICAgIiIiIyMjIyMjISEhJiYmLS0tUlJS + YWFhZWVlY2NjZmZmKCgoHh4eNDQ0OTk5Pj4+Q0NDQUFBPj4+PT09QUFBQkJCOzs7SEhIaGhoWlpaRUVF + SUlJOTk5NDQ0Y2NjCAgIGRgYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARkZGX19fRkZGRUVFVVVVSEhI + TExMaGhobW1tYGBgWlpaVFRULS0tMzMzLS0tKCgoLi4uLy8vGxsbKioqU1NTVlZWWFhYXFxcYWFhXFxc + aGhocXFxe3t7f39/gICAhISEgYGBgICAODg4TU1NW1tblJSUr7CwSUhHY2FhAAAAAAAAAAAAAAAAAAAA + AAAAAAAAYGBgU1NTTk5OMjIyNzc3QEBAhoaGoaGhiYmJlZWVq6ururq6g4ODeHh4bGxsb29vbGxsbW1t + d3d3dHR0lpaWiYmJiYmJhYWFc3NzhISEx8fH5OTk0dHR09PT3d3d5ubm7OzsmpqaU1NTSkpKXl5ehISE + BgYGGxsaVlVUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKioqOzs7Hh4eHBwcJycnaGhoeXl5AAAAAAAA + AAAA////dXV1hoaGpqamsLCwq6urvLy8wMDAubm5x8fHqqurbGtrhIODODg4V1dXysrK0dHRAAAAAAAA + AAAAAAAAAAAAFhYWXl5eVlZWdHR0qampAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMz + PDw8FBQUOzs7QUFBSkpKYmJiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + Hx4eyMbGAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICAgcXFxampqfn5+tLS0AAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPz8/ODg4sLCwcHBwampqg4ODAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANjU1////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + aWlpkZGRiIiIm5ubAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASkpKbm5ug4ODZGRk + cnJyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXl5eXFxcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAMzMzLi4uAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD//gw//+MAAP/+DA//4QAA//4MD/8B + AAD//gwP/gEAAP/+DA/8AwAA//4MH/APAAD//gwf4B8AAP/+DA+APwAA//4MBgB/AAD//gwAAP8AAP/+ + DAAB/wAA//4MAAP/AAD//gwAB/8AAP/+DAAP/wAA//4MAAf/AAD//AwAA/8AAP/4DAAD/wAA//AIBAH/ + AAD/8AgOAf8AAP/wCAYB/wAA//AIBAH/AAD/8AgEAf8AAP/wCAAB/wAA//AIAAP/AAD/4AgAA/8AAP/g + AgAH/wAA/+AEAB//AAD/4AnPD/8AAP/gCd4f/wAA/8AYwB//AAD/gAAAP/8AAP+AAAfB/wAA/4AAIAH/ + AACAAAAAAf8AAAAAAAAAIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/AAAAAAAAAP8AAAAA + AAAAfwAAAAAAAAB/AACA4AAPg/8AAID//H+D/wAAwP/8/8P/AADB////5/8AAOf//////wAAKAAAACAA + AABAAAAAAQAYAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsrKzAwMHJycgAAAIeH13Z2nwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFdXjgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAACMjIx0dHYCAgAAAADQ0ngAA9gAA0319oQAAAAAAAAAAAAAAAAAAAAAAAAAA + AJeXvlFReAAA2iQkmwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIiIh4eHoOD + gwAAAGRklAAA/wAA5aiotAAAAAAAAAAAAAAAAAAAAAAAAHZ2kAEB5wAA+wAAyIKCygAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgIB8fH4ODgwAAAHBwmQAA/wgIrwAAAAAAAAAAAAAA + AAAAAAAAAFFRkQAA5AAA90JCmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAB8fHx8fH4iIiAAAAGpqlwAA/wQEsgAAAAAAAAAAAAAAAGdnhQEBsAAA/wAA/1JSkgAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgICAgIImJiQAAACwsYwAA+QAA + 6ioqjrCws6enqRwcigAA6AAA/wAA/DQ0kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAACEhISQkJIeHhwAAAA4OgQAA+wEBsgEBkgEBgQAAogAA/wAA/wAA90pKmQAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEhISIiIo2N + jQAAAE9PpgAA/wAA1QAAtAAA/wAA/wAA/wAA+RgYcQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIiIiQkJJCQkAAAAHJyigAA8gAA/wAA/wAA/wAA/wAA + /wAArTU1NQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAADIyMjExMXd3dwAAAFVWeAAA8wAA/QAAxgAA7AAA/wAA/wAA5wcHeaurrwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEdHRzQ0NCwsLFNTUwAAACEhVQAA9QAA + 8UVFZZycrTQ0pQAA9wAA/wAA/yoqigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAHFxcURERDw8PDY2NldXVwAAAAEBGAAA3gAA/llZmgAAAJmZpgAA6AAA/wAA/woKjAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADo6OjIyMjs7Ozc3N15e + Xr6+2QAAhgAA8AAA/yYmlwAAAGdnlAAA9QAA/wAA/xcXqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAExMTEVFRT09PTU1NV5eXra1vwAA3AAA/wAA/xcXo3d3eBIScQAA + /wAA/wAA/y8vkwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5O + Tj09PT8/Pzc3N1dXVwAAABcXeQAA+wAA/wAA+AAAuAEByQAA/wAA/wAA1Y+PmgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADk5OTQ0ND4+Pjg4OElJSQAAALW0ujIxdw0N + wQAA3gAA9gAA9wkJ6kVFyTk5UwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAERERDU1NTIyMjExMTc3N728vAAAAAAAAAAAAIuPkgAAAAAAAAAAAAAAAH19fQAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADExMSgoKCcnJyQkJB0d + HQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFZWVgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACgoKBsbGxwcHBwcHA8PDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ALKysrq6ugAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJCQkBYW + Fg8PDw8PDxAQEA0NDQAAAIqJiQAAAAAAAKGhoY6OjmlpaXBwcL29vf///wAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8fHxYWFhsbGxoaGiMjIz09PVdXV1RUVF1dXVhY + WERFRSAgIHV1dbCwsAAAAAAAAAAAALCwsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAACAgIBcXFzAwMEtLS0RERD09PT8/PzIyMi8vLyoqKgAAAB8fHyIiIiYmJiUlJS0tLTc3N1hY + WAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAgICsrKzAwMDIyMkJCQicnJx0dHTs7O0VFRTk5OS0tLTIy + MjY2Njo6OjQ0NCUlJa+vrxMTEw0NDRAQEBAQEBERERQUFDAwMGtra5aWlrGxsQAAAAAAAAAAAAAAALKy + sh0dHQ8PDw8PDxISEhERESQkJEhISFFRUUBAQEhISEtLS1JSUkhISEZGRkBAQCYmJigoKFBQUGJiYnZ2 + dn5+fn9/f39/f4iIiDMzMw8PDxMTEzo6OkBAQENDQ1tbW5+fn0NDQz4+PkpKSlNTU1BQUElJSTo6OjMz + M0JCQmJiYmhoaFpaWkFBQUZGRkpKSjw8PDo6OnR0dIuLi5GRkZaWlpaWlp2dnbKyspubm9jY2O7u7v// + /////////////7y8vDg4ODc3Nz8/Pzs7OzMzMzMzMzk5OTk5OVxcXGdnZ2hoaC0tLT4+PkJCQkJCQjY2 + Njk5OWBgYGhoaG9vb4CAgHp6enx8fIuLi7CwsPX19QAAAAAAAAAAAAAAAAAAAMTExExMTDs7O0hISFBQ + UGRkZGVlZV9fX0VFRURERERERFNTUysrK1JSUlhYWGNjY1tbW25ubn9/f4CAgIWFhY2NjXNzcz8/P2Vl + ZdbW1rq6uQAAAAAAAAAAAAAAAAAAAAAAAEVFRSwsLDs7O4aGhgAAAAAAANLS0qGhoYaGhoKCgpCQkJiY + mLq6uq+vr729vXd3eK+vr+np6e3t7QAAAAAAAJOTk1NTU319fQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AGFhYSAgIEJCQm9vbwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALy8vIiGhQAAAAAAAAAAAAAAAAAA + AAAAAAAAAISEhK2trQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK2trXl5eaKiorq6ugAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK2treHh4QAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////xP/v/8Q/h//E + Pwf/xH4f/8R4P//EAH//xAD//8QB///EAf//xAD//4QA//8EIP//ACD//wAA//8EAP//BAH//wO9//8H + /f//B/n//gWB//4AB3/+AEB/gAAADwAAAAAAAAAAAAAAHwAAAB+GAAx/h/z+f4f//n//////KAAAABgA + AAAwAAAAAQAYAAAAAADABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAHl5kgAAAK+vpAAAAAAAp4eHvwAAAAAAAAAAAAAAAAAAAAAAAAAAABERkaenxgAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsLAqystAAAAAAA8wIC1gAAAAAAAAAAAAAAAAAAAHx8jgAA6wAA + 3oyMxQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4OBa2ttgAAAAAA8klJqwAAAAAAAAAAAAAA + ADY2fwAA/y0ttgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgIAsfHwgAAAAAA4RER + xgAAAAAAAHR0mgAAtAAA/xwcqQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8P + CLq6t6enwQAA5wAArAkJbBwccgAA+wAA/wAApgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAwMBsTEwwAAAAAA7AAA1wAA7gAA/wAA/wAAhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAABsbFLOzuwAAAAMDzQAA/wAA+QAA/wAA/QAAacLCugAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADExOR8fHpublwAAAAAA1QEB1mFhdzQ0qQAA/wAA + /woKegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYmIzw8Oy8vLoGBhYKCigAAsQAA + 8AAAAAAAAAAA+gAA/wAAnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8fHzo6Oi4u + LIKAfG9vxwAA+QAA8ImJnWtrdQAA/wAA/wAAowAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAACsrKz8/Py4uLZeXjKioyQAA8wAA/wAAvQAAmwAA/wAA/z8/dwAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAADAwMDg4ODY2NGJibgAAAIiHji4uwgkK2B8f+ltb8FtbgdXVzAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgoKC0tLSQkJE9PTAAAAAAAAAAAAAAAAAAAAAAAAAAA + AMbGwwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMTEx0dHRwcG0FBSAAAAAAAAAAA + AAAAAAAAAAAAAImJjPX18gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKOjowICAgkJCQgI + CEREQ6mnprS0ssbGwmFjYF9fV4iIgf7++QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AENDQw0NDTAwMDc3N0REREFCQjw8PE9PT21sbDAwMImJiZWVlYWFgqamoAAAAAAAAAAAAAAAAAAAAAAA + AB4eHkFBQUdHR2dnZxsbGzc3N0NDQzAwMC4uLjU1NSwsLFlZWZWVlQAAAAAAAAAAAAAAADQ0M6ioqQAA + AAAAAAAAAAAAAJWVlQ4ODhISEhcXFxwcHERERE1NTUNDQ1NTU1hYWEhISEhISB0dHTs7O3V1dZGRkZaW + lpiYmI6OjiMjIx0dHFJSUVJSUmdnZ6CgoDU1NUhISEtLSz8/PzQ0NDQ0NGFhYXd3dzw8PD4+PkRERDEx + MU5OTnt7e4ODg4yMjJGRkaWlpdra2v///wAAAAAAAAAAAK6urjc3N0NDQ0VFRU9PT1BQUDY2NkBAQFJS + UhcXF0ZGRk9PT0pKSmdnZ25ubnh4eHx8fD4+Pnt7e8PDwwAAAAAAAAAAAAAAAAAAABoaGh4eHrCwsAAA + AAAAAJKSknx8fIWFhZ6ensDAwL29va6ursTExAAAAAAAANzc3E9PT66vrwAAAAAAAAAAAAAAAAAAAAAA + AFVVVWJiYo6OjgAAAAAAAAAAAAAAAAAAAAAAAAAAANvb2gAAAAAAAAAAAAAAAAAAAKysrMHBwQAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD+J/MA/yfDAP8njwD/Jh8A/wA/AP8gfwD/ID8A/iA/APwG + PwD8AD8A/AA/APwgPwD8P78A/D8/APgAfwD4AB8AgAAPAAAAAAAAAAcAAAAPAIwDHwCP758A////ACgA + AAAQAAAAIAAAAAEAGAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADGxr8AAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMcYGKwAAAAAAAAA + AACUlLQAAMPIyNgAAAAAAAAAAAAAAAAAAAAAAAAFBQAAAAASEsWensMAAAAAAAAkJJ0AAO0AAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAGBgAAAAAAALEAAKlqam8AAO0AAPsAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAJCQAAAAAiJMEAAPAAAP8AAPTX164AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWFhEAAAAC + Ap0JCb8yMrkAAP8WFoEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6OjQvLyyrq60AAI0GBssAAAAAAP8A + ANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHR0YtLSzKybUAAO0AAP8AAFsAAP8ICKQAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAyMjI0NDGRkZwAAABVVq1fX+kAAAC6upkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAYGBgVFRMAAAAAAAAAAAAAAAAAAADb28kAAAAAAAAAAAAAAAAAAAAAAAAAAADFxcUAAAAGBgZwcG+F + hYSFhYJDQz26urMAAAAAAAAAAAAAAAAAAAAAAACXl5cAAABUVFQuLi5BQUEyMjIfHx+tra0AAAAAAAAA + AAB1dW8AAAAAAAAAAABra2saGhoqKio3NzdAQEBgYGBTU1NISEgXFxd+fn6cnJympqaDg4NpaWeioqCo + qKeQkJA6OjpCQkJFRUU9PT1eXl4iIiJHR0c/Pz9sbGx9fX1XV1eYmJgAAAAAAAAAAAAAAAADAwPLy8sA + AAAAAAC4uLgAAACrqakAAAAAAAAAAABsbGzY2NgAAAAAAAAAAAAAAADc3NwAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD7/wAA+nEAAPpnAAD6DwAA+g8AAPoPAADwTwAA8A8AAPEv + AADz7wAA4B8AAKAHAAAAAAAAAAcAAJrnAAC//wAAKAAAADAAAABgAAAAAQAgAAAAAACAJQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/v7+AQAAAADOzusxlpaiac/PzzDm5uYZ/v7+Af39 + /QL+/v4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD4+PgHl5eYaM/P0jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACIiIv8kJCT/IyMj/0NDQ/+Ghob/AAAAANPT4Sw6OtTGEBC98Dw8 + YcRJSVG3jY2Ncs/PzzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA+/v7BAAAAABlZXCbCgpu9iwsh9S1tbVKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKf8qKir/IyMj/1ZWVv+4uLj/AAAAAMDA + wT8WFo/qAQH7/wEBuv8BAcH/Cgp/9T8/X8Hd3d0iAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA+Pj4B+/v9BDExNs7lpaiaaioqFcYGBfoAQG7/wAA4f86OlrF5+fnGAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUlJf8gICD/Gxsb/0lJ + Sf+0tLT/AAAAAOHh4R4mJlHaAADi/wAA/v8AAP//AAD5/wYGmPmZmZlmAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAP39/QL9/f0C/Pz8A6KipV05OYHHFxet6Q0NUfMBAYD+AQHV/wAA+v8JCXv2jY2PcgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIi + Iv8fHx//GRkZ/0VFRf+qqqr/AAAAAPLy8g0vL03RAADY/wAA//8AAP//AADT/ykpR9fQ0NAvAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA/f39Avb29gnt7e0S19fXKFlZW6cAAIj/AQH+/wAA8P8AAPz/AAD0/wQE + vvw+PrDCtLTXSwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACMjI/8dHR3/GRkZ/0lJSf+1tbX/AAAAAPb29glLS0y1AQHd/wAA//8AAP//AwOZ/XZ2 + dYoAAAAAAAAAAAAAAAAAAAAAAAAAAP7+/gH4+PgH8vLyDd3d3SKrq6tUXV1soxMTgu0AAOb/AAD//wAA + +/8AAMX/FxeH6WBggKCurtFR/v7/AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACMjI/8eHh7/Gxsb/0tLS/+7u7v/AAAAAPb29glAQETAAQHi/wAA + //8AAPn/DQ1/85eXl2gAAAAAAAAAAAAAAAAAAAAA+/v7BPPz8wzh4eEevLy8Q3R0dIswMFrQBASq/AAA + 9f8AAP//AADy/wQEj/xAQF3Au7u+ROvr6xT29vgJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8fH/8dHR3/Gxsb/09PT/+1tbX/AAAAAPj4 + +AdCQlK+AQHW/wAA//8AAPX/Dg5n8pmZmWYAAAAA+/v7BP39/QL4+PgH7OzsE8HBwT6GhoZ5MDBD0AUF + efsBAdr/AQH//wAA//8AAPb/CQl/925ucJLq6uoVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8fH/8dHR3/HBwc/15e + Xv/BwcH/+Pj4B+jo6BdERFC8AADO/wAA//8AAPv/BweP+WNjYp3d3d0i9PT0C+vr6xTU1NQrm5ubZEZG + UboLC1X1AQG6/wEB//8AAP//AAD//wAA//8BAZv/Z2dumfb29gkAAAAAAAAAAP7+/gEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8f + H/8gICD/HBwc/1ZWVv+9vb3/8fH0Dp6et2EZGR3nAQHU/wAA//8AAP//AADY/woKXfVKSly2mpqfZa6u + rlFsbG6UISFP3wEBkf8AAOj/AAD//wAA//8AAP//AAD//wEBp/86OlDF5eXlGgAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACEhIf8eHh7/HR0d/1dXV//Jycn//Pz9A4iIpncQECXwAQGc/wAA/v8AAPr/AQHH/wAA + 0P8AAKr/GBgt6DQ0NMwREWfvAADN/wAA/f8AAP//AAD//wAA//8AAP//AQGb/0pKV7Xe3t4hAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAACIiIv8gICD/ICAg/1JSUv/R0dH/AAAAAISEk3sHB3D5AADS/wAA + /v8AAPb/AQF4/wEBYf8AAND/AQFd/wAAZ/8AAOP/AAD//wAA//8AAP//AAD//wAA9f8BAZ//W1tppejo + 6BcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIiIv8hISH/Ghoa/0hISP+2trb/AAAAAJyc + omMPD4zxAAD2/wAA//8AAP7/AQGE/wEBJ/8AAPb/AADk/wAA5/8AAP//AAD//wAA//8AAP//AAD5/wUF + kPtiYnWe5+fnGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIiIv8fHx//Gxsb/21t + bf/s7Oz/AAAAAOPj4xxBQW+/AADa/wAA//8AAP//AADu/wAA1v8AAP//AAD//wAA//8AAP//AAD//wAA + //8AAP7/AQG1/01NWLPe3t4hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoq + Kv8aGhr/Hh4e/2RkZP/r6+v/AAAAAP7+/gFNTUu1AQGw/wAA//8AAP//AAD//wAA//8AAP//AAD//wAA + //8AAP//AAD//wAA//8AAMz/EREk76WlpVr8/PwD/f39AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAEBAQP8WFhb/MTEx/1tbW//39/f/AAAAAOfn5ho7PDXKAAGM/wAA/f8AAP//AAD//wAA + //8AAP//AAD//wAA//8AAP//AAD//wAA//8BAa3/Cgox9nV1dYrU1NQr+Pj4BwAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAIyMj/y0tLf8jIyP/Kioq/zc3N/9NTU3/AAAAANPT1i4xMTHQAACo/wAA + /v8AAP//AAD7/wAA2P8AAN3/AAD//wAA//8AAP//AAD//wAA//8AAPT/AADF/wICS/5gYGyg19fXKAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzP/QEBA/zQ0NP81NTX/MTEx/z4+Pv9mZmb/AAAAALm5 + xUcoKDTXAQG5/wAA//8AAP//AADo/wMDVf0XF0/pEhKr7gAAzf8AAOn/AAD8/wAA//8AAP//AAD//wAA + 7f8GBnz6h4eMeP39/QIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADExMf9ERET/Ojo6/zY2Nv83Nzf/Ly8v/zc3 + N/9nZ2f//v7+AXV1jIoLCxP1AQGZ/wAA/v8AAP//AADd/w4ONPJycnGOhYWGeklJarcREYjuAADx/wAA + //8AAP//AAD//wAA//8BAcb/Skpptuzs8hMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADY2Nv8uLi7/MDAw/zMz + M/83Nzf/MjIy/zY2Nv9hYWH/7+/zED8/WMEBAQD/AQF5/wAA+f8AAP//AAD2/w0NfvOUlJRr+fn5Bqur + q1QgIFHgAADn/wAA//8AAP//AAD//wAA//8AAM3/Li5H0tTU6ysAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADo6 + Ov8vLy//NTU1/zs7O/84ODj/MTEx/zU1Nf9WVlb/6OjwGD8/bsABAQH/AQFr/wAA9/8AAP//AAD//wEB + uv5oaGyY/v7+AbW1tUoaGlfmAADm/wAA//8AAP//AAD//wAA//8AANH/JSU528HBzj4AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAEJCQv87Ozv/NjY2/zU1Nf84ODj/MTEx/zQ0NP9NTU3/4ODrITU1pcoAAFL/AAC2/wAA + /f8AAP//AAD//wAAvf9CQky+09PTLHx8fYQHB3T5AADx/wAA//8AAP//AAD//wAA//8AAOT/OjpsxtnZ + 2SYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJCQv86Ojr/OTk5/zg4OP85OTn/Ly8v/zg4OP9GRkb/zMvRPSMj + neAAAN3/AAD8/wAA//8AAP//AAD//wAAwv81NTnLnJycYzk5R8cAAKT/AAD+/wAA//8AAP//AAD//wAA + //8AAN7/UFB2sPz8/AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEZGRv8xMTH/QEBA/z4+Pv89PT3/MDAw/zk5 + Of84ODj/2NfPPTIxTNwAAM7/AAD//wAA//8AAP//AAD//wAA1v8jI0bdRUVGuhMTHO0BAZb/AAD8/wAA + //8AAP//AAD//wAA//8AALP/ZGRonAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADw8PP8oKCj/MzMz/zg4 + OP87Ozv/Li4u/zc3N/8tLS3/9fT1D2hocJ4AAGz/AADx/wAA//8AAP//AAD//wAA8f8GBr/5BgZ7+QEB + ZP8BAcb/AAD9/wAA//8AAP//AAD//wAA8P8XF2rpu7u7RAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIyMj/0RE + RP85OTn/NDQ0/zAwMP80NDT/Kioq/zU1Nf8mJif/AAAAAB0cK/8IByv/AACi/wAA+P8AAP//AAD//wAA + //8AAP//AAD//wAA+P8AAPn/AAD//wAA//8AAP//AAD1/wAAi/9kZGOcAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAIiIi/zAwMP82Njb/Ly8v/y0tLf8zMzP/KSkp/y4uLv8cHBz/Gxsb/xYVFf+7urpdPj5H3AwL + ev8FBbv/AgLu/wAA7/8AAPn/AAD//wAA//8AAP//AAD7/wAA//8GBtf/HByI5GxsbpT+/v4BAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAALi4u/y8vL/8rKyv/KSkp/ygoKP8oKCj/JCQk/yEhIf8ZGBj/FRQU/wAA + AAAcGxz/JCMo/4+OgZlzcW/GKShi/wQIav8REXruGBiy5xISqe0VFbfqLS2p0hcXbv83N0v/wcHFPwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALy8v/yYmJv8dHR3/ICAg/yIiIv8gICD/Hh4e/xsb + G/8MDAz/AAAAABISEv8XFxf/AAAAAPz8/QTz8vAZLC0e/xQZFP+3t7FYwL+1VcHAuVSzs8NTMjI9/0VF + Rf+IiIj//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALCws/yoqKv8bGxv/Gxsb/xsb + G/8ZGRn/GRkZ/xYWFv8DAwP/AAAAABQUFP8MCwv/AAAAAAAAAAAAAAAAISAg/wAAAAAAAAAAAAAAAAAA + AAAPDw//PDw8/3Z2dv/Nzc3/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADS0tL/Hx8f/xcX + F/8PDw//EBAQ/xQUFP8UFBT/FBQU/w8PD/8AAAAAAAAAAA8PD/8KCgr/AQEB/wAAAAAAAAAAKCgo/zk5 + Of8/Pz//SUlJ/1lZWf95eXn/lpaW//7+/v//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEpK + Sv9TU1P/ICAg/yAgIP8gICD/Gxsb/xsbG/8dHR3/GBgY/xwcHP8bGxv/MTEx/zMzM/8+Pj7/Pj4+/0FB + Qf9PT0//a2tr/2hoaP9ZWVn/UlJS/15eXv+Ojo7/9/f3//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAADg4OP8cHBz/ExMT/xQUFP8eHh7/Hh4e/xsbG/8jIyP/MDAw/0NDQ/9FRUX/SUlJ/1NT + U/9kZGT/VlZW/0ZGRv9AQED/HR0d/wgICP8CAgL/AAAAAAAAAAAAAAAAAAAAAAAAAAACAgL/DAwM/wgI + CP8TExP/CQkJ/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAHBwcP8bGxv/ICAg/xISEv8ODg7/Hx8f/zk5Of9NTU3/U1NT/05O + Tv9VVVX/SkpK/zQ0NP8rKyv/Li4u/y0tLf8fHx//AAAAABwcHP8fHx//HBwc/ycnJ/8kJCT/JSUl/yoq + Kv8kJCT/MjIy/zY2Nv9ZWVn/ZGRk/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAA2Njb/PDw8/z8/P/9ERET/RERE/0RERP9DQ0P/R0dH/0JCQv8XFxf/ExMT/xYWFv9BQUH/V1dX/1hY + WP80NDT/Jycn/yEhIf8lJSX/Jycn/yoqKv8yMjL/Kysr/yYmJv8aGhr/KCgo/y8vL/8tLS3/KCgo/yYm + Jv8gICD/JCQk/yoqKv8xMTH/MDAw/0NDQ/90dHT/8/Pz/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAoKCv8fHx//IiIi/yQkJP8iIiL/JiYm/ycnJ/8nJyf/JSUl/x8fH/8WFhb/Gxsb/0JC + Qv9SUlL/Ozs7/ykpKf8qKir/MTEx/zMzM/88PDz/NjY2/zw8PP86Ojr/MDAw/ycnJ/8WFhb/BQUF/w8P + D/8HBwf/AwMD/wcHB/8ICAj/CAgI/wcHB/8LCwv/CgoK/xYWFv8yMjL/CAgI/wYGBv8ICAj/BwcH/wAA + AAACAgL/BAQE/wQEBP8BAQH/AAAAACoqKv8XFxf/DAwM/xMTE/8SEhL/FxcX/xsbG/8UFBT/CQkJ/xIS + Ev81NTX/TExM/2VlZf9JSUn/Jycn/ywsLP8+Pj7/QkJC/0hISP9MTEz/MzMz/11dXf9jY2P/UlJS/zAw + MP8QEBD/HBwc/zg4OP84ODj/Xl5e/2dnZ/9qamr/bm5u/2pqav9xcXH/Z2dn/3Fxcf9vb2//Dw8P/wgI + CP8MDAz/BgYG/wkJCf8KCgr/CQkJ/woKCv8KCgr/ExMT/ysrK/8yMjL/JiYm/yoqKv8rKyv/MTEx/zIy + Mv8uLi7/MjIy/zs7O/9GRkb/W1tb/1RUVP8uLi7/R0dH/1JSUv9UVFT/WFhY/19fX/9kZGT/Q0ND/zMz + M/82Njb/NjY2/yYmJv8SEhL/MzMz/2tra/91dXX/hoaG/4aGhv+JiYn/jIyM/4ODg/+Tk5P/jY2N/5yc + nP+bm5v/R0dH/1paWv9AQED/UlJS/8XFxf/Pz8//y8vL/8LCwv/Ozs7//Pz8/zQ0NP9GRkb/QkJC/09P + T/9RUVH/SUlJ/1BQUP9eXl7/Xl5e/1RUVP88PDz/Ly8v/z8/P/8jIyP/V1dX/2BgYP9eXl7/Y2Nj/15e + Xv8rKyv/TExM/0hISP9GRkb/SEhI/zo6Ov8kJCT/QEBA/2ZmZv9ubm7/goKC/46Ojv+QkJD/lJSU/42N + jf+VlZX/kZGR/6SkpP+lpaX/srKy/87Ozv/l5eX/8vLy/////////////////////////////////z8/ + P/9MTEz/PDw8/z09Pf8+Pj7/PT09/zo6Ov8+Pj7/MDAw/zo6Ov87Ozv/PDw8/ykpKf9PT0//YGBg/2Rk + ZP9kZGT/a2tr/1JSUv8kJCT/PT09/0VFRf9FRUX/RkZG/zY2Nv8uLi7/PDw8/2JiYv99fX3/jIyM/4uL + i/+Tk5P/m5ub/5aWlv+enp7/qamp/6ysrP+np6f/qamp/+3u7v/6+vr//////wAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAABAQEP8vLy//IyMj/yMjI/8kJCT/IyMj/yAgIP8iIiL/IyMj/yMjI/8hISH/JiYm/y0t + Lf9SUlL/YWFh/2VlZf9jY2P/ZmZm/ygoKP8eHh7/NDQ0/zk5Of8+Pj7/Q0ND/0FBQf8+Pj7/PT09/0FB + Qf9CQkL/Ozs7/0hISP9oaGj/Wlpa/0VFRf9JSUn/OTk5/zQ0NP9jY2P/CAgI/xkYGP8AAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAEZGRv9fX1//RkZG/0VFRf9VVVX/SEhI/0xMTP9oaGj/bW1t/2Bg + YP9aWlr/VFRU/y0tLf8zMzP/LS0t/ygoKP8uLi7/Ly8v/xsbG/8qKir/U1NT/1ZWVv9YWFj/XFxc/2Fh + Yf9cXFz/aGho/3Fxcf97e3v/f39//4CAgP+EhIT/gYGB/4CAgP84ODj/TU1N/1tbW/+UlJT/r7Cw/0lI + R/9jYWH/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBgYP9TU1P/Tk5O/zIyMv83Nzf/QEBA/4aG + hv+hoaH/iYmJ/5WVlf+rq6v/urq6/4ODg/94eHj/bGxs/29vb/9sbGz/bW1t/3d3d/90dHT/lpaW/4mJ + if+JiYn/hYWF/3Nzc/+EhIT/x8fH/+Tk5P/R0dH/09PT/93d3f/m5ub/7Ozs/5qamv9TU1P/SkpK/15e + Xv+EhIT/BgYG/xsbGv9WVVT/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqKir/Ozs7/x4e + Hv8cHBz/Jycn/2hoaP95eXn/AAAAAAAAAAAAAAAA/////3V1df+Ghob/pqam/7CwsP+rq6v/vLy8/8DA + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxcXFRzExMf8oKCj/Jycn/yQk + JP8dHR3/x8fHOsnJyTqwsLBWAAAAAMnJyT3q6uoXAAAAAAAAAAAAAAAAVlZW/8rKymEAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKyso/KCgo/xsb + G/8cHBz/HBwc/w8PD/8AAAAAt7e3TQAAAAAAAAAA1dTULQAAAAAAAAAA/v7+AYiIiKS6urr/8PDwPwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6OjoIWRk + ZLUWFhb/Dw8P/w8PD/8QEBD/DQ0N/6KiompbWlq1np6ecKmpqWZ6enq0dHR0z2RkZPZwcHD/u7u79v// + /5kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AACYmJh2Hx8f/xYWFv8bGxv/Ghoa/yMjI/89PT3/V1dX/1RUVP9dXV3/WFhY/z0+PvUgICD/S0tLw3Nz + c4+VlZVqmJiYZ4uLi3R1dXWR1NTULQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAK2trVwgICD/FxcX/zAwMP9LS0v/RERE/z09Pf8/Pz//MjIy/y8vL/8qKir/r6+vVR8f + H/8iIiL/JiYm/yUlJf8tLS3/Nzc3/1hYWP/Ozs5hAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAq6urWSAg + IP8oKCj7LCws+i4uLvo1NTXuISEh9x0dHf87Ozv/RUVF/zk5Of8tLS3/MjIy/zY2Nv86Ojr/NDQ0/yUl + Jf90dHSRExMT/w0NDf8QEBD/EBAQ/xEREf8UFBT/MDAw/0xMTNJcXFyjc3Nzjefn5xjn5+cY4uLiHf39 + /QJ8fHyVHR0d/w8PD/8PDw//EhIS/xEREf8kJCT/SEhI/1FRUf9AQED/SEhI/0tLS/9SUlL/SEhI/0ZG + Rv9AQED/JiYm/ygoKP9QUFD/YmJi/3Z2dv9+fn7/f39//39/f/+IiIj/MzMz/w8PD/8TExP/Ojo6/0BA + QP9DQ0P/UVFR73d3d7RDQ0P/Pj4+/0pKSv9TU1P/UFBQ/0lJSf86Ojr/MzMz/0JCQv9iYmL/aGho/1pa + Wv9BQUH/RkZG/0pKSv88PDz/Ojo6/3R0dP+Li4v/kZGR/5aWlv+Wlpb/nZ2d/7Kysv+bm5v/2NjY/+7u + 7v/////F////0f///9n///+XioqKkDg4OP83Nzf/Pz8//zs7O/8zMzP/MzMz/zk5Of85OTn/XFxc/2dn + Z/9oaGj/LS0t/z4+Pv9CQkL/QkJC/zY2Nv85OTn/YGBg/2hoaP9vb2//gICA/3p6ev98fHz/i4uL/56e + ns7x8fGm////ewAAAAAAAAAAAAAAAAAAAACWlpaNTExM/zs7O/9ISEj/UFBQ/2RkZP9lZWX/X19f/0VF + Rf9ERET/RERE/1NTU/8rKyv/UlJS/1hYWP9jY2P/W1tb/25ubv9/f3//gICA/4WFhf+NjY3/c3Nz/z8/ + P/9lZWX/srKyh4SEg48AAAAAAAAAAAAAAAAAAAAAAAAAAPj4+A1DQ0P7LCws/zs7O/+Ghob/2dnZWNHR + 0Wm8vLyrlpaW4oaGhv+CgoL/kJCQ/5iYmP+6urr8r6+v/L29vf9zc3T2rKys9eLi4r7d3d2A4uLicu3t + 7XKBgYHZU1NT/319ff/9/f0Y3t3dJgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEhISNsgICD/QkJC/29v + b/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9fX2CiIaF//b29g4AAAAAAAAAAAAA + AAAAAAAAAAAAAKGhoXiEhIT/ra2t/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg4ODqHl5 + ef+ioqL/np6eswAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOrq6hXq6upHAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA9vb2DpycnNPOzs6bAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAvb29Y8rKyk0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + 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 +</value> + </data> +</root> \ No newline at end of file diff --git a/AS2R Resolution Patcher/Program.cs b/AS2R Resolution Patcher/Program.cs new file mode 100644 index 0000000..c2f35bf --- /dev/null +++ b/AS2R Resolution Patcher/Program.cs @@ -0,0 +1,21 @@ +using System.Text; + +namespace AS2R_Resolution_Patcher +{ + internal static class Program + { + /// <summary> + /// The main entry point for the application. + /// </summary> + [STAThread] + static void Main() + { + // To customize application configuration such as set high DPI settings or default font, + // see https://aka.ms/applicationconfiguration. + Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); + ApplicationConfiguration.Initialize(); + Application.Run(new Form1()); + + } + } +} \ No newline at end of file diff --git a/AS2R Resolution Patcher/Properties/Resources.Designer.cs b/AS2R Resolution Patcher/Properties/Resources.Designer.cs new file mode 100644 index 0000000..8ca8796 --- /dev/null +++ b/AS2R Resolution Patcher/Properties/Resources.Designer.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// <auto-generated> +// Ðтот код Ñоздан программой. +// ИÑполнÑÐµÐ¼Ð°Ñ Ð²ÐµÑ€ÑиÑ:4.0.30319.42000 +// +// Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² Ñтом файле могут привеÑти к неправильной работе и будут потерÑны в Ñлучае +// повторной генерации кода. +// </auto-generated> +//------------------------------------------------------------------------------ + +namespace AS2R_Resolution_Patcher.Properties { + using System; + + + /// <summary> + /// КлаÑÑ Ñ€ÐµÑурÑа Ñо Ñтрогой типизацией Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка локализованных Ñтрок и Ñ‚.д. + /// </summary> + // Ðтот клаÑÑ Ñоздан автоматичеÑки клаÑÑом StronglyTypedResourceBuilder + // Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ такого ÑредÑтва, как ResGen или Visual Studio. + // Чтобы добавить или удалить член, измените файл .ResX и Ñнова запуÑтите ResGen + // Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ /str или переÑтройте Ñвой проект VS. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// <summary> + /// Возвращает кÑшированный ÑкземплÑÑ€ ResourceManager, иÑпользованный Ñтим клаÑÑом. + /// </summary> + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AS2R_Resolution_Patcher.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// <summary> + /// ПерезапиÑывает ÑвойÑтво CurrentUICulture текущего потока Ð´Ð»Ñ Ð²Ñех + /// обращений к реÑурÑу Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Ñтого клаÑÑа реÑурÑа Ñо Ñтрогой типизацией. + /// </summary> + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + } +} diff --git a/AS2R Resolution Patcher/Properties/Resources.resx b/AS2R Resolution Patcher/Properties/Resources.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/AS2R Resolution Patcher/Properties/Resources.resx @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> +</root> \ No newline at end of file diff --git a/Backup/CONST.LGC b/Backup/CONST.LGC new file mode 100644 index 0000000..8b0994f --- /dev/null +++ b/Backup/CONST.LGC @@ -0,0 +1,918 @@ +#include "maps\zconst.lgc" + + +#ifndef CONST_PERKS_H + #include "maps\const_perks.lgc" +#endif + +#ifndef CONST_NET_H + #include "maps\const_net.lgc" +#endif + +//åñëè äåìîâåðñèÿ, òî äîëæíî ñòîÿòü 1. åñëè íîðì. èãðà, òî 0. +//â ðåæèìå äåìîâåðñèè: +// 1)ïîñëå óðîâíÿ Z_DEMO_MAXLEV ïîêàçûâàåòñÿ nag.map. +// 2)÷åðåç ìåíþ continue äàëüøå óðîâíÿ Z_DEMO_MAXLEV íå óéäåøü +#define Z_DEMO_VER 0 +//íîìåð ïîñëåäíåãî óðîâíÿ â äåìî âåðñèè (ìîæåò áûòü íå ðàâåí êîë-âó óðîâåíé, åñëè Z_FIRST_LEVEL_NUM != 0) +#define Z_DEMO_MAXLEV 6 +// êîëè÷åñòâî óðîâíåé â ñóðâàéâ êàðüåðà â äåìî âåðñèè +#define Z_DEMO_LEV_CNT_CAREER 2 +//ïîêàçûâàòü èëè íåò ìàãàçèí ïîñëå áðèôèíãà +#define Z_SHOW_SHOP_AFTER_BRIEFING 0 +//ïåðâûé óðîâåíü èãðû. îáû÷íî 1-ûé, íî äëÿ äåìû 2-îé áûâàåò +#define Z_FIRST_LEVEL_NUM 1 +//íîìåð ïîñëåäíåãî óðîâíÿ â net-ñóðâàéâ êàðüåðå â äåìî âåðñèè +#define Z_DEMO_LEV_CNT_CAREER_NET 6 +//ðàçðåøàòü ëè multiplayer â äåìå +#define Z_ALLOW_MULTIPLAYER_INDEMO true +//ðàçðåøàòü ëè standfirm â äåìå +#define Z_ALLOW_STANDFIRM_INDEMO true + +//--------------------------------------------------------------------------- +//ýòîò ïàðàìåòð, åñòåñòâåííî íå âëèÿåò íà ðåàëüíûé ìàêñèìóì èãðîêîâ â èãðå +//íî îí äîëæåí áûòü ðàâåí ïàðàìåòðó MAX_PLAYER èç exe-øíèêà +#define MAX_PLAYER 8 //?? +// +#define MAX_NET_PLAYER 6 //?? + + +//âðåìÿ ïåðåðîæäåíèÿ îðóæèÿ è ïðî÷èõ ïðåäìåòîâ â ñåòêå +#define NET_ITEMRESPAWNTIME 40000 + +// +#define NVID_MOUSE_TIP 15 + +//------------------------------------------------------------------------------------------ +//ðàññòîÿíèå, íà êîòîðîå óåçæàåò äëÿ ñêðûòèÿ ñîîáùåíèå î äîñòèæåíèè íîâîãî óðîâíÿ +#define MIN_EXPADD_DELTA_X -350 + +//ñêîðîñòü âûåçæàíèÿ è çàåçæàíèÿ ïîëîñêè "NextLevel" (ïèêñåëåé â ñåêóíäó) +#define NEXTLEVEL_SLIDE_SPEED 15 + +//ñêîðîñòü äîáàâëåíèÿ íàïðàâëåíèé ïðè ïëàâíîì èçìåíåíèè íàïðàâëåíèÿ (äâèæêîâûõ ãðàäóñîâ â ñåêóíäó) +//äëÿ ïîëîñêè hp ãåðîÿ +#define HPSPRITE_DIR_SPEED 128 +//äëÿ ïîëîñêè hp áðîíè +#define ARMORSPRITE_DIR_SPEED 128 +//äëÿ ïîëîñêè îïûòà +#define CUREXPSPRITE_DIR_SPEED 128 + +//íà ýòîò êîýôôèöèåíò (â ïðîöåíòàõ) óâåëè÷èâàåòñÿ çàäåðæêà òåêñòà â çàâèñèìîñòè îò âûñòàâëåííîé îïöèè +#define TEXT_DELAY_MIN 100 +#define TEXT_DELAY_MAX 280 +//êîýôôèöèåíò ïî óìîë÷àíèþ +#define TEXT_DELAY_DEFAULT 150 + +//zmNEW2006Feb20: çàäåðæêà òåêñòà â çàâèñèìîñòè îò êîëè÷åñòâà ñòðîê â ôðàçå +#define TEXT_DELAY_STR1 2500 +#define TEXT_DELAY_STR2 3000 +#define TEXT_DELAY_STR3 4000 +#define TEXT_DELAY_STR4 5500 +#define TEXT_DELAY_STR5 6000 + +//------------------------------------------------------------------------------------------ +//ãàììà äëÿ ïðåäìåòîâ, êîò. íåëüçÿ ïîñòàâèòü ãåðîþ +#define GMA_DSBLD_R 0 +#define GMA_DSBLD_G -250 +#define GMA_DSBLD_B -250 + +//------------------------------------------------------------------------------------------ +//êîýôôèöèåíòû äëÿ ðàìêè ïîâðåæäåíèÿ ãåðîÿ + +//âðåìÿ çàæèãàíèÿ (â ìèëëèñåêóíäàõ) +#define BLINK_TIME_HPSPRITE_1 50 +//âðåìÿ ïîãàñàíèÿ (â ìèëëèñåêóíäàõ) +#define BLINK_TIME_HPSPRITE_2 300 +//vid +#define HPFRAME_SPRITE_VID 740 +//ìèíèìàëüíîå ìèãàíèå àëüôû ðàìêè â ïðîöåíòàõ (äàæå ïðè ñóïåð-ìàëåíüêîì óðîíå) +#define DMG_FRAME_BLINK_MIN 15 +//ïðè òàêîì óðîíå (â ïðîöåíòàõ îò hp) ðàìêà ìèãàåò ïî ìàêñèìóìó +#define DMG_FRAME_MAX_DAMAGE 35 + +//------------------------------------------------------------------------------------------ +//êîëè÷åñòâî ñêèëëîâ, äîáàâëÿåìûõ çà óðîâåíü îïûòà +#define SKILLS_ADD_PER_LEVEL 5 +//êîëè÷åñòâî ñêèëëîâ, äîáàâëÿåìûõ çà óðîâåíü îïûòà â survive +#define SKILLS_ADD_SURVIVE 3 + +//ñòîèìîñòü áðîíè ïðè ïîëíîì ïîâðåæäåíèè (â ïðîöåíòàõ - îò 0 äî 100) +//ïîâûøàÿ êîýôôèöèåíò, ïîâûøàåòñÿ öåííîñòü ïîëîìàííîé áðîíè, ïîíèæàåòñÿ ñòîèìîñòü ðåìîíòà +#define FULLDAMAGED_ARMOR_COST 30 + +//------------------------------------------------------------------------------------------ +//äèñòàíöèÿ àâòîïîäáîðà â ïèêñåëÿõ +#define AUTOTAKING_DIST 50 + +//------------------------------------------------------------------------------------------ +//ìàêñèìàëüíîå çíà÷åíèå ïåðêà, êîò. òîëüêî ìîæåò áûòü (ïðîïèñàí òàêæå â exe-øíèêå) +#define MAXIMUM_PERK_VALUE 200 +//êîýôôèöèåíò (â ïðîöåíòàõ), íà êîòîðûé óâåëè÷èâàåòñÿ MaxSpeed ïðè ïðîêà÷êå ñêèëëà ñêîðîñòè íà 200. +#define MAX_SPEED_PERCENT 55 + +//------------------------------------------------------------------------------------------ +#define FADE_GAME_TIME 500 // âðåìÿ äëÿ ïåðåõîäà ìåæäó ìåíþøêàìè ïðè ïîìîùè fade +#define FADE_LOOSE_TIME 1500 // âðåìÿ äëÿ ïåðåõîäà ïðè ïîìîùè fade ïîñëå ïðîèãðûøà +#define SND_HERO_FOOT 10 //çâóê òîïîòà íîã - äëÿ îòêëþ÷åíèÿ ïðè çàãðóçêå íîâîãî óðîâíÿ + +//çâóê, ïðîèãðûâàåìûé ïðè ïîëó÷åíèè ãåðîåì íîâîãî óðîâíÿ +#define SND_INCEXPLEVEL 124 + +//âðåìÿ (â ìèëëèñåêóíäàõ) ìåæäó ðîæäåíèåì íîâîãî ïëþñèêà â èíâåíòàðå +#define INV_PLUS_DELTA_TIME 200 + +//------------------------------------------------------------------------------------------ +//êîíñòàíòû, ïåðåíåñåííûå èç common.lgc. ðàçîáðàòü! +#define FLASH_ON_INTENSIVE 7000 // èíòåíñèâíîñòü ãàììû íåîáõîäèìàÿ äëÿ âêëþ÷åíèÿ ôîíàðèêà +#define DRON_FLY_HEIGHT 70 +#define ADRENALIN_BONUS_DELAY 10000 +#define SPEEDUP_BONUS_DELAY 10000 +#define SPEEDDOWN_BONUS_DELAY 10000 +#define ITEM_DELAY 200 // âðåìÿ â ms çàäåðæêè ïåðåä âçÿòèåì âåùåé âûïàâøèõ èç îòêðûâàåìûõ ÿùèêîâ +#define MISSION_STATE_Y 100 // êîîðäèíàòû ñìåùåíèÿ íàäïèñè î ïðîâàëå èëè âûïîëíåíèè ìèññèè îòíîñèòåëüíãî íèçà ýêðàíà + +//------------------------------------------------------------------------------------------ +//ìèíèìàëüíûé è ìàêñèìàëüíûé ðàçìåðû ìîíñòðà, óñòàíàâëèâàåìûå ïðè ñîçäàíèè, åñëè íå âûñòàâëåí â mapedit'å. +//ðàçìåð óñòàíàâëèâàåòñÿ ñëó÷àéíî îò MIN_RANDOMSCALE_PERCENT% äî MAX_RANDOMSCALE_PERCENT% +#define MIN_RANDOMSCALE_PERCENT 50 //;50 +#define MAX_RANDOMSCALE_PERCENT 110 //;110 +//äëÿ êîíêðåòíûõ vid'îâ ìîæíî óêàçàòü îòäåëüíî MIN_RANDOMSCALE_PERCENT +GetMinScale(int iVid) +{ + if(iVid==1030) return 70; + if(iVid==1070) return 100; + if(iVid==1080) return 100; + if(iVid==1087) return 90; + if(iVid==1092) return 80; + if(iVid==1037) return 80; + if(iVid==1050) return 80; + if(iVid==1060) return 90; + if(iVid==1830) return 80; + if(iVid==1840) return 85; + if(iVid==1820) return 90; + if(iVid==1850) return 95; + if(iVid==1860) return 95; + if(iVid==1890) return 100; +// if(iVid==1895) return 100; + if(iVid==1901) return 100; + return MIN_RANDOMSCALE_PERCENT; +} +//äëÿ êîíêðåòíûõ vid'îâ ìîæíî óêàçàòü îòäåëüíî MAX_RANDOMSCALE_PERCENT +GetMaxScale(int iVid) +{ + if(iVid==1030) return 125; + if(iVid==1070) return 100; + if(iVid==1080) return 100; + if(iVid==1087) return 125; + if(iVid==1092) return 115; + if(iVid==1037) return 115; + if(iVid==1050) return 100; + if(iVid==1060) return 120; + if(iVid==1830) return 110; + if(iVid==1840) return 120; + if(iVid==1820) return 130; + if(iVid==1850) return 105; + if(iVid==1860) return 105; + if(iVid==1890) return 100; +// if(iVid==1895) return 100; + if(iVid==1901) return 100; + return MAX_RANDOMSCALE_PERCENT; +} + + +//äàëåå ñëåäóþò ÷èñëà íà êîòîðûå óâåëè÷èâàþòñÿ ñîñòàâëÿþùèå öâåòà, â çàâèñèìîñòè îò ñèòóàöèè: + +//åñëè ìîíñòð óâåëè÷åí äî MAX_RANDOMSCALE_PERCENT% +#define INC_RED_ON_MAX -20 +#define INC_GREEN_ON_MAX -130 +#define INC_BLUE_ON_MAX -130 +//÷èñëî, íà êîòîðîå óâåëè÷èâàåòñÿ öâåò, åñëè ìîíñòð óìåíüøåí äî MIN_RANDOMSCALE_PERCENT% +#define INC_RED_ON_MIN -90 +#define INC_GREEN_ON_MIN 10 +#define INC_BLUE_ON_MIN -90 + +//ìàêñ. ñêîðîñòü ìîíñòðîâ ðàçìåðà MIN_RANDOMSCALE_PERCENT óâåëè÷èâàåì íà MONST_SPEED_UP% +//äëÿ îòñàëüíûõ óìåíüøåííûõ ìîíñòðîâ - ðàâíîìåðíî èíòåðïîëèðóåì îò MONST_SPEED_UP% äî 0% +#define MONST_SPEED_UP 50 + +//------------------------------------------------------------------------------------------ +#define HIGHLIGHTCELL_DISPLACEMENT_X 41 +#define HIGHLIGHTCELL_DISPLACEMENT_Y 51 + +//------------------------------------------------------------------------------------------ +//vid ïÿòíà ôîíàðèêà +#define NVID_SPOT_LIGTH 140 +//vid ëó÷à ôîíàðèêà +#define NVID_RAY_LIGTH 1342 +//vid ïÿòíà îò ñâåòà ôàð +#define NVID_CAR_SPOT_LIGTH 140 +//vid ëó÷à îò ñâåòà ôàð +#define NVID_CAR_RAY_LIGTH 1342 + +//ìîæíî ëè âûêëþ÷àòü ôàðû ó ìàøèíû +#define CAN_TURNOFF_HIGHLIGHTS 0 + +//------------------------------------------------------------------------------------------ +//music constants + +#define MUSIC_NONE 0 +#define MUSIC_AMBIENTRAND 1 +#define MUSIC_ACTIONRAND 2 +#define MUSIC_BOSSRAND 3 +#define MUSIC_MENU 13 +#define MUSIC_LOGO 12 +//#define MUSIC_GAMEMENU 13 + + +//ñëó÷àéíàÿ ïîñëåäîâàòåëüíîñòü òðåêîâ +#define M_RANDOM "xxx" +//òðåêè èãðàþò ïîñëåäîâàòåëüíî +#define M_DIRECT "uuu" + + +static string MusicFiles[] ={ +/*00*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "", +/*01*/ M_RANDOM, "", "", "", "", "", "", "", "", "", "", "", "", +/*02*/ M_RANDOM, "amb01", "amb02", "amb03", "", "", "", "", "", "", "", "", "", +/*03*/ M_RANDOM, "action01", "action02", "action03", "action04", "action05", "action06", "action07", "action08", "action09", "action10", "action11", "", +/*04*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "", +/*05*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "", +/*06*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "", +/*07*/ M_DIRECT, "amb_night", "", "", "", "", "", "", "", "", "", "", "", +/*08*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "", +/*09*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "", +/*10*/ M_DIRECT, "rain", "", "", "", "", "", "", "", "", "", "", "", +/*11*/ M_DIRECT, "wind", "", "", "", "", "", "", "", "", "", "", "", +/*12*/ M_DIRECT, "logo_mus", "", "", "", "", "", "", "", "", "", "", "", +/*13*/ M_RANDOM, "theme", "", "", "", "", "", "", "", "", "", "", "", +/*14*/ M_DIRECT, "entering", "", "", "", "", "", "", "", "", "", "", "", +/*15*/ M_DIRECT, "amb03", "amb01", "", "", "", "", "", "", "", "", "", "", +/*16*/ M_DIRECT, "action09", "action05", "action06", "", "", "", "", "", "", "", "", "", +/*17*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "", +/*18*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "", +/*19*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "", +/*20*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "", +/*21*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "", +/*22*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "", +/*23*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "", +/*24*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "", +/*25*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "", +/*26*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "", +/*27*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "", +/*28*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "", +/*29*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "", +/*30*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "", +/*31*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "", +/*32*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "", +/*33*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "", +/*34*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "", +/*35*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "", +/*36*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "", +/*37*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "", +/*38*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "", +/*39*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "", +/*40*/ M_DIRECT, "", "", "", "", "", "", "", "", "", "", "", "" +}; + +//------------------------------------------------------------------------------------------ +//ïîðÿäêîâûé ñïèñîê óðîâíåé äëÿ Campaign +//!zm2006Feb17. òåïåðü â êîäå ïðîïèñàíî â zProfLdr::SetMaxLevNum(..) +//(à òàêæå äàâíî óæå â ñêðèïòàõ âî ìíîãèõ ìåñòàõ) +//ëîãèêà, êîòîðàÿ ñ÷èòàåò, ÷òî êàìïàíèÿ íà÷èíàåòñÿ ñ 1-ãî óðîâíÿ, à survive ñ 0-îãî + +//êîëè÷åñòâî óðîâíåé +#define MAX_LEVEL 18 +//ñïèñîê +static string LevelNames[MAX_LEVEL+ 1] = { "maps\\shop.map", // 0 + "maps\\Level_01.map", // 1 + "maps\\Level_02.map", // 2 + "maps\\Level_03.map", // 3 + "maps\\Level_04.map", // 4 + "maps\\Level_05.map", // 5 + "maps\\Level_06.map", // 6 + "maps\\Level_07.map", // 7 + "maps\\Level_07_2.map", // 8 + "maps\\Level_07_3.map", // 9 + "maps\\Level_08.map", // 10 + "maps\\Level_09.map", // 11 + "maps\\Level_10.map", // 12 + "maps\\Level_11.map", // 13 + "maps\\Level_12.map", // 14 + "maps\\Level_13.map", // 15 + "maps\\Level_14.map", // 16 + "maps\\Level_15.map", // 17 + "íóæíàÿ ïóñòûøêà" //MAX_LEVEL + }; + +static int QuestLevNums[MAX_LEVEL+ 1] = { 0, 1, 2, 3, 4, 5, 6, 7, 7, 7, 8, 9, 10, 11, 12, 13, 14, 15, MAX_LEVEL-1 }; +// +static int ShopLevNums[MAX_LEVEL+ 1] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 8, 9, 10, 11, 12, 13, 14, 15, MAX_LEVEL-1 }; + + +//------------------------------------------------------------------------------------------ +//ïîðÿäêîâûé ñïèñîê óðîâíåé äëÿ Survive + +//êîëè÷åñòâî óðîâíåé +#define MAX_SURV_LEVEL 17 +//íîìåð êàðòû äëÿ ðåæèìà StandFirm +#define SURV_LEV_STANDFIRM 14 +//íîìåð êàðòû äëÿ ðåæèìà StandFirm-net +#define SURV_LEV_STANDFIRM_NET 15 +// +#define SURV_LEV_GUNSTAND 16 +//êîëè÷åñòâî óðîâíåé â survive-êàìïàíèè +#define SURV_CAMPAIGN_LEV_NUM 5 +//íîìåð ïîñëåäíåãî óðîâíÿ â Net-survive-êàìïàíèè +#define SURV_CAMPAIGN_LEV_NUM_NET 9 + +#define STANDFIRM "PREVED" +#define NOT_STANDFIRM "MEDVED" +//ñïèñîê +static string SurvLevelName[ 3*(MAX_SURV_LEVEL+ 1) ] = { /*êàðòà èç survive.cfg*/ + /*0*/ "maps\\survive_01.map", "survive_01", NOT_STANDFIRM, + /*1*/ "maps\\survive_02.map", "survive_02", NOT_STANDFIRM, + /*2*/ "maps\\survive_03.map", "survive_03", NOT_STANDFIRM, + /*3*/ "maps\\survive_04.map", "survive_04", NOT_STANDFIRM, + /*4*/ "maps\\survive_05.map", "survive_05", NOT_STANDFIRM, + /*5*/ "maps\\career\\survive_01.map", "survive_01", NOT_STANDFIRM, + /*6*/ "maps\\career\\survive_02.map", "survive_02", NOT_STANDFIRM, + /*7*/ "maps\\career\\survive_03.map", "survive_03", NOT_STANDFIRM, + /*8*/ "maps\\career\\survive_04.map", "survive_04", NOT_STANDFIRM, + /*9*/ "maps\\career\\survive_05.map", "survive_05", NOT_STANDFIRM, + /*10*/ "maps\\zmEmpty2.map", "survive_01", NOT_STANDFIRM, + /*11*/ "maps\\zmEmpty2.map", "survive_01", NOT_STANDFIRM, + /*12*/ "maps\\zmEmpty2.map", "survive_01", NOT_STANDFIRM, + /*13*/ "maps\\zmEmpty2.map", "survive_01", NOT_STANDFIRM, + /*14*/ "maps\\survive_standfirm_01.map", "survive_sf_01", STANDFIRM, + /*15*/ "maps\\COOPERATIVE\\cooperative.map", "survive_sf_01", STANDFIRM, + /*16*/ "maps\\survive_gunstand_01.map", "survive_gs_01", STANDFIRM, + /*MAX_SURV_LEVEL*/ "íóæíàÿ ïóñòûøêà", "-----------", NOT_STANDFIRM }; + +//------------------------------------------------------------------------------------------ +//ñïèñêè vid'îâ, íå îòîáðàæàåìûõ è íå ðîæäàþùèõñÿ äî÷åðíèìè â ðàçëè÷íûõ ðåæèìàõ ãðàôèêè +static int LowDetailVids[] = { 117, // - Õâîñò îò ïëàçìåííîé ïóëè + 120, // - êðîâü çàñòûâøàÿ ìàëåíüêàÿ êðàñíàÿ + 102, // - Ãèëüçà ëåæàùàÿ + 103, // - Ãèëüçà ëåæàùàÿ + 104, // - Âñïûøêà + 128, // - Ãèëüçà ëåæàùàÿ + 123, // - Äûì îò ðàêåòû + 124, // - Ãàëî îò ðàêåòû + 132, // - Ëàçåð ïóëÿ õâîñò + 133, // - Òåíü íåáîëüøàÿ îò âçðûâà + 135, // - òåíü âñòðàåìàåìàÿ òåìíàÿ + 144, // - òåíü íåáîëüøàÿ âñòðàåìàåìàÿ + 146, // - õâîñò îò ïóëè çàìàðîçêè + 148, // - Ëàçåð òåíü îò âçðûâà + 150, // - Fx îò ïëàçìû + 153, // - âñïûøêà îðàíæåâÿ + 154, // - êðîâü çàñòûâøàÿ âåðòèêàëüíàÿ + 158, // - Òåíü îò ìàãìû + 159, // - õâîñò îò ìàãìû + 167, // - êðîâü çåë¸íàÿ çàñòûâøàÿ ìàëåíüêàÿ + 170, // - Èñêðà îò ïóëåì¸òà + 171, // - Èñêðà ÷åðíàÿ + 174, // - Èñêðà îò âçðûâà + 787, // - Äûì îò âçðûâà + 176, // - Äûìîê + 191, // - Òåíü îò ïóëåì¸òà ìîíñòðà + 195, // - Èñêðà îò ïóëè êèñëîòíîé + 185, // - Ñâåòîâîå ïÿòíî çåë¸íîå (Omni-Ligth) + 199, // - ×àñòèöà ôèîëåòîâàÿ + //?? 663, // - Ñòîëá ôîíàðü óëè÷íûé + 781, // - Èñêðà ìàëåíüêàÿ îò ïîïàäàíèÿ â áðîíþ + 791, // - Äûì îò ðàçðóøåíèÿ îáúåêòîâ + 756, // - Êðîâü îòëåòàþùàÿ îò ìîíñòðà êðàñíàÿ + 784, // - Ñâåò íàðóæíûé áîëüøîé (Omni-Ligth) + 785, // - Ñâåò îò ôîíàðÿ îáú¸ìíûé + 1083, // - Âçðûâ êèñëîòíûé íà ñìåðòü êàìèêàäçå + 3007, // - èñêðà + //1339, // - Ñâåòîâîå ïÿòíî îò íåéðîííîãî âçðûâà + 1340, // - Ñëåä îò íåéðîííîé ïóëè + 1306, // - FX: Îáëàêî òóìàí + 116, // - ñâåò îðàíæåâûé ìåðöàþùèé + 234, // - ñâåò + 235,// - ñâåò + 1310, // - Êðîâü òî÷êà + //?? 1408, // - Ýôôåêò óìåíüøåíèÿ + 1254, // - Äûì îò âçðûâà + 187, // - ÷àñòèöà îðàíæåâàÿ + 188, // - ÷àñòèöà çåë¸íàÿ + 189, // - ÷àñòèöà êðàñíàÿ + 241, + 3030, + 1868, + 218, + 133 + }; +static int MediumDetailVids[] = { 108, // - òåíü íåáîëüøàÿ + 106, // - Äûðêà â ñòåíå îò ïóëè + 119, // - 2 Monster îðóæåå äûì + 121, // - Ãîëóáîé ñâåò îò ìîíèòîðîâ + 138, // - ñâåòîâîå ïÿòíî ñâåòëî îðàíæåâîå ïóëåì¸òà + //141, // - ñâåòîâîå ïÿòíî Êðàñíîå + //142, // - ñâåòîâîå ïÿòíî Êðàñíîå èñ÷åçàþùåå + //145, // - Ãàëî îò êðàñíîé ëàìïû + 177, // - Ñâåòîâîå ïÿòíî îò âçðûâà (Omni-Ligth) + 755, // - Êðîâü îòëåòàþùàÿ îò ìîíñòðà çåë¸íàÿ + 757, // - Êðîâü îòëåòàþùàÿ îò ãèáîâ çåë¸íàÿ + 758, // - Êðîâü îòëåòàþùàÿ îò ãèáîâ êðàñíàÿ + 762, // - Ãàëî îò ìîùíîé ðàêåòû + 1205, // - Òåíü òàíêà + //1226, // - L01 ëàìïà íà ñòåíå ON + 1241, // - òðóáû ðàçìåð 1 (òåíü) + //1258, // - ëàìïà íà ñòåíå ON (ñèíèé ñâåò) + 1300, // - òåíü ïîáîëüøå + 1301, // - òåíü ìàìêè + 1302, // - Òåíü äëÿ êàìèêàäçå + 1303, // - Òåíü äëÿ ïîäâîäíèêà + //?? 1311, // - Êðîâü òî÷êà ÇÅ˨ÍÀß + //?? 1314, // - Èñêðà ñèíàÿ ñ (X íàïðàâëåíèÿìè) + //1317, // - ñâåòîâîå ïÿòíî Áåëîå (Shadow) + //1355, // - FX Ëàìïî÷êà êðàñíàÿ + //1356, // - FX Ëàìïî÷êà çåë¸íàÿ + //1370, // - LIGHTS: áîëüøîå îñâåùåíèå + //1371, // - LIGHTS: áîëüøîå îñâåùåíèå (Shadow) + //1372, // - LIGHTS: áîëüøîå îñâåùåíèå (map) + //1373, // - LIGHTS: ñâåò ìåðöàþùèé (shadow) + //1374, // - LIGHTS: ñâåò ñèíèé (shadow) + 1383, //ãëàçà spinner-a + 1514, //ñëåäû îò ìàøèí + + 1507 // - Òåíü îò äåðåâüåâ + }; + + +//------------------------------------------------------------------------------------------ +//ñïèñêè vid'îâ, îêðàøèâàåìûõ ãàììîé â ðåæèìå non-violence +static int ViolentVids[] = { 110, // - BLOOD:êðîâü çàñòûâøàÿ êðàñíàÿ + 120, // - BLOOD:êðîâü çàñòûâøàÿ ìàëåíüêàÿ êðàñíàÿ + 151, // - BLOOD:Ãèáû - ëåòÿùèé + 152, // - BLOOD:Ãèáû - ëåæàùèå + 154, // - BLOOD:êðîâü çàñòûâøàÿ âåðòèêàëüíàÿ + 166, // - BLOOD:êðîâü çåë¸íàÿ çàñòûâøàÿ + 167, // - BLOOD:êðîâü çåë¸íàÿ çàñòûâøàÿ ìàëåíüêàÿ + 198, // - BLOOD:Ãèáû - ëåæàùèå çåë¸íûå + 755, // - hide:Êðîâü îòëåòàþùàÿ îò ìîíñòðà çåë¸íàÿ + 756, // - hide:Êðîâü îòëåòàþùàÿ îò ìîíñòðà êðàñíàÿ + 757, // - hide:Êðîâü îòëåòàþùàÿ îò ãèáîâ çåë¸íàÿ + 758, // - hide:Êðîâü îòëåòàþùàÿ îò ãèáîâ êðàñíàÿ + 916, // - hide:êðîâü êðàñíàÿ êðàñíàÿ ðàñïëûâàþùàÿñÿ + 918, // - BLOOD:êðîâü çàñòûâøàÿ êðàñíàÿ + 1310, // - hide:Êðîâü òî÷êà + 1311, // - hide:Êðîâü òî÷êà ÇÅ˨ÍÀß + 1312, // - Ãåíåðàòîð êðîâè íà ñìåðòü + 1313, // - hide:Êðîâü ðàñïëûâàþùàÿñÿ + 1319 // - BLOOD:Ãèáû - ëåæàùèå + }; + +//------------------------------------------------------------------------------------------ +//ñïèñêè vid'îâ, îòêþ÷àåìûõ â ðåæèìå non-violence +static int ViolentVids2[] = { 1532, // + 1029, // + 1036, // + 1041, // + 1045, // + 1065, // + 1096, // + 1801 // + }; + +//------------------------------------------------------------------------------------------ +//ñïèñêè vid'îâ, êîòîðûì íàäî â standfirm óñòàíàâëèâàòü lifeime 0 + +//êîë-âî òàêèõ vid`îâ +#define SF_INSTANTBUILDVIDS 2 + +static int StandFirmInstantBuild[SF_INSTANTBUILDVIDS] = { 1313, // + 916 // + }; + + +//------------------------------------------------------------------------------------------ +//òèïû ðåæèìà non-violence (ìîæíî äîáàâëÿòü íîâûå, ðàáîòàòü áóäåò) +#define VM_NONVIOLENT 0 +#define VM_VIOLENT 1 +//êîëè÷åñòâî òèïîâ ðåæèìà non-violence +#define VM_COUNT 2 +//ðåæèì non-violence ïî óìîë÷àíèþ +#define VM_DEFAULT VM_VIOLENT +//íàçâàíèÿ ñòðîêîâûõ ïàðàìåòðîâ äëÿ ðåæèìîâ non-violence èç strings.ini +static string VM_TEXTS[] = { "VM_NONVIOLENT", "VM_VIOLENT" }; +//ãàììà îáúåêòîâ â ðåæèìå non-violence +static int VM_BLOODGAMMA_RED[] = { -180, 0 }; +static int VM_BLOODGAMMA_GREEN[] = { 30, 0 }; +static int VM_BLOODGAMMA_BLUE[] = { 0, 0 }; +//îòêëþ÷àòü ëè vid'û èç ìàññèâà ViolentVids +static int VM_TURNOFF_VIDS[] = { false, false }; +//îòêëþ÷àòü ëè vid'û èç ìàññèâà ViolentVids2 +static int VM_TURNOFF_VIDS2[] = { true, false }; +//îòêëþ÷àòü ëè ñìåðòü ANI_DEATH2 +static int VM_TURNOFF_DEATH2[] = { true, false }; +//äåëàòü ëè ìàøèíêó çàáðûçãàííîé êðîâüþ +static int VM_BLOODY_CAR[] = { false, true }; + + +//âèäû èç ReColorUnitBlood ïåðåêðàøèâàòü â RECOLOR_BLOOD_GREEN èëè RECOLOR_BLOOD_RED +static int VM_RED_BLOOD[] = { false, true }; + +// öâåò êðîâè þíèòîâ äëÿ ïåðåêðàøèâàíèÿ ôèîëåòîâîãî +int ReColorUnitBlood[] = { -1, -1, -1, -1, -1}; + +#define RECOLOR_BLOOD_GREEN 0x003000 +#define RECOLOR_BLOOD_RED 0x500000 + + +//------------------------------------------------------------------------------------------ +//ñïèñîê âîçìîæíûõ ðàçðåøåíèé (ìîæíî äîáàâëÿòü íîâûå, ðàáîòàòü áóäåò) +#define RT_RES0 0 +#define RT_RES1 1 +//êîëè÷åñòâî âîçìîæíûõ ðàçðåøåíèé +#define RT_COUNT 2 +//ðåæèì ïî óìîë÷àíèþ +#define RT_DEFAULT RT_RES0 +//íàçâàíèÿ ñòðîêîâûõ ïàðàìåòðîâ äëÿ âîçìîæíûõ ðàçðåøåíèé èç strings.ini +static string RT_TEXTS[] = { "RT_RES0", "RT_RES1" }; +//ðàçìåðû ýêðàíîâ +static int RT_SCREEN_X[] = { 800, 1024 }; +static int RT_SCREEN_Y[] = { 600, 768 }; + + +//------------------------------------------------------------------------------------------ +//ðåæèì inputtype ïî óìîë÷àíèþ +#define INPUT_TYPE_DEFAULT 0 + +//------------------------------------------------------------------------------------------ +//êîðäèíàòû îãðàíè÷åíèÿ ñêðîëëèðîâàíèÿ ýêðàíà äëÿ ëîêàöèé +//åñëè äëÿ êàêîé òî ëîêàöèè BoxesLeft == -1, òî îãðàíè÷åíèé íà ñêðîëëèðîâàíèå íå íàêëàäûâàåòñÿ + +//ãàììà äëÿ ëîêàöèé +//currently unneeded - gamma now is stored as teleport item +//static int GammaForBox[] = { 0x625742, 0x2B2B2B }; + +//äëÿ 1-ãî óðîâíÿ: +// ëîêàöèè: 01 02 +static int BoxesLeft[] = { 0, -1 }; +static int BoxesTop[] = { 0, 2100 }; +static int BoxesRight[] = { 9234, 4500 }; +static int BoxesBottom[] = { 8230, 4480 }; +//èä¸ò ëè äîæäü +static int RainForBox[] = { true, false }; + +//äëÿ 8-ãî óðîâíÿ: +// ëîêàöèè: 01 02 +//static int BoxesLeft_8[] = { 1362, -1 }; +//static int BoxesTop_8[] = { 0, 0 }; +//static int BoxesRight_8[] = { 9234, 0 }; +//static int BoxesBottom_8[] = { 8230, 0 }; +//èä¸ò ëè äîæäü +//static int RainForBox_8[] = { true, false }; + + +//------------------------------------------------------------------------------------------ +//êîíñòàíòû äëÿ óðîâíåé ñëîæíîñòè (ìîæíî äîáàâëÿòü íîâûå, ðàáîòàòü áóäåò) + +//ñïèñîê óðîâíåé ñëîæíîñòè +#define GT_EASY 0 +#define GT_MEDIUM 1 +#define GT_HARD 2 +#define GT_IMPOSSIBLE 3 +//êîëè÷åñòâî óðîâíåé ñëîæíîñòè +#define GT_COUNT 4 +//óðîâåíü ñëîæíîñòè ïî óìîë÷àíèþ +#define GT_DEFAULT GT_MEDIUM +//êîýôôèöèåíòû äëÿ hp ìîíñòðîâ +static int GT_COEFFS[] = { 50, 100, 260, 450 }; +//êîýôôèöèåíòû äëÿ damage ãåðîþ +static int HERODAMAGE_COEFFS[] = { 80, 100, 200, 400 }; +//íàçâàíèÿ ñòðîêîâûõ ïàðàìåòðîâ äëÿ óðîâíåé ñëîæíîñòè èç strings.ini +static string GT_TEXTS[] = { "GT_EASY", "GT_MEDIUM", "GT_HARD", "GT_IMPOSSIBLE" }; +//íåâèäèìîñòü ñòðåëîê-helper'îâ +static int HELPERS_INVISIBILITY[] = { false, false, false, false }; + +//------------------------------------------------------------------------------------------ +//!!!ìîíñòðû âî âñåõ ñïèñêàõ íå äîëæíû äóáëèðîâàòüñÿ + +//ñïèñîê vid'îâ ìîíñòðîâ +static int MonstersVid[] = { 1025, 1030, 1037, 1050, /*1060, */1061, 1080, 1087, 1092, 1840, 1830, 1861, + 1070, 1820, 1850, 1870, 1901 }; //50, 60 +//ñïèñîê vid'îâ, êîò. íóæíî ó÷èòûâàòü ïðè ïîäñ÷åòå ìîíñòðîâ íà êàðòå (îíè ðîæàþò ìîíñòðîâ) +static int MonsterParentsVid[] = { 1066, 1020, 1086, 1060, 1860, 1890 }; + +//ñïèñîê vid'îâ, êîò. íóæíî ñ÷èòàòü óáèòûìè, åñëè îíè óìèðàþò âòîðîé ñìåðòüþ (ò.ê. âî 2-óþ ôàçó íå ïåðåõîäÿò) +static int MonstExplodeKillVid[] = { 1060 }; + +//ñïèñîê vid'îâ, êîò. íóæíî ãèïíîòèçèðîâàòü, äàæå åñëè îíè íå óêàçàíû â MonstersVid +static int MonstToHypnVid[] = { 1060 }; + +//äîïîëíèòåëüíûé ñïèñîê ìîíñòðîâ äëÿ survive - èõ òàêæå ó÷èòûâàòü ïðè ïîäñ÷åòå êîë-âà ìîíñòðîâ +static int SurvMonstersVidAdd[] = { 1060, 1860 };//, 1895 + +//------------------------------------------------------------------------------------------ +//îðóæèå âûøå êîòîðîãî ìîíñòðà ðàçðûâàåò íà êóñêè âòîðîé ñìåðòüþ, åñëè 0 òî ðàçðûâàåò â çàâèñèìîñòè +//îò damage è hp (íå èñïîëüçóåòñÿ) +//static int MonsterExplodeWeapon[ MONSTERS_TYPES ]= { 0, 0, 5, 9, 7, 5, 0 }; + + +//------------------------------------------------------------------------------------------ +//êîíñòàíòû äëÿ ðàñêðàñêè ãåðîåâ +static int HERO_COLORS_RED[] = { 105, 70, 110, 15, 15, 20, 80, 25 }; +static int HERO_COLORS_GREEN[] = { 105, 13, 70, 100, 70, 20, 10, 25 }; +static int HERO_COLORS_BLUE[] = { 105, 13, 23, 15, 70, 90, 65, 25 }; + + +SetReducePercents(); +//------------------------------------------------------------------------------------------ +InitializeConstants() +{ + iff(1) + { + SetReducePercents(); + + int i, j; + + #ifndef NET_GAME_RUN + //3-ÿ àðìèÿ - îõðàííèêè + SetRelation( 3, 0, RELATION_FRIEND ); + SetRelation( 0, 3, RELATION_FRIEND ); + //4-ÿ àðìèÿ - çàãèïíîòèçèðîâàííûå ìîíñòðû + SetRelation( 4, 0, RELATION_NEUTRAL ); + SetRelation( 0, 4, RELATION_NEUTRAL ); + SetRelation( 4, 1, RELATION_ENEMY ); + SetRelation( 1, 4, RELATION_ENEMY ); + //5-ÿ àðìèÿ - ðîáîòû + SetRelation( 5, 0, RELATION_ENEMY ); + SetRelation( 0, 5, RELATION_ENEMY ); + SetRelation( 5, 1, RELATION_ENEMY ); + SetRelation( 1, 5, RELATION_ENEMY ); + SetRelation( 5, 3, RELATION_ENEMY ); + SetRelation( 3, 5, RELATION_ENEMY ); + SetRelation( 5, 4, RELATION_ENEMY ); + SetRelation( 4, 5, RELATION_ENEMY ); + //6-ÿ àðìèÿ - ìîíñòðû èç çàöèêëåííûõ ãåíåðàòîðîâ, êîò. íå íóæíî ïîäñ÷èòûâàòü êàê óáèòûõ + for( i = 0; i < MAX_PLAYER; i++ ) + { + //ïîëíîñòüþ êîïèðóåì ñ ïåðâîé àðìèè + int rel = GetRelation( 1, i ); + SetRelation( 6, i, rel ); + rel = GetRelation( i, 1 ); + SetRelation( i, 6, rel ); + } + SetRelation( 6, 6, RELATION_FRIEND ); + #endif + // + int PlayersRel = RELATION_NEUTRAL; + #ifdef Z_SURVIVE + PlayersRel = RELATION_FRIEND; + #endif + // + #ifdef NET_GAME_RUN + //âûñòàâëÿåì, ÷òîáû 1-ÿ àðìèÿ (ìîíñòðû) áûëè ñî âñåìè RELATION_ENEMY + for( i = 0; i < MAX_PLAYER; i++ ) + if( i != 1 && i != 2 ) + { + SetRelation( 1, i, RELATION_ENEMY ); + SetRelation( i, 1, RELATION_ENEMY ); + } + //âûñòàâëÿåì, ÷òîáû âñå èãðîêè áûëè äðóã ñ äðóãîì RELATION_FRIEND + for( i = 0; i < MAX_PLAYER; i++ ) + for( j = 0; j < MAX_PLAYER; j++ ) + if( i != 1 && i != 2 && j != 1 && j != 2 && i != j ) + { + SetRelation( i, j, PlayersRel ); + SetRelation( j, i, PlayersRel ); + } + //ñàì ñ ñîáîé âñåãäà friend + for( i = 0; i < MAX_PLAYER; i++ ) + { + if( i != 1 && i != 2) + SetRelation( i, i, RELATION_FRIEND ); + } + #endif + + if(Z_DEMO_VER && Z_DEMO_MAXLEV + 1 < MAX_LEVEL) + LevelNames[Z_DEMO_MAXLEV + 1] = "maps\\nag.map"; + if(Z_DEMO_VER && Z_DEMO_LEV_CNT_CAREER < MAX_SURV_LEVEL) + SurvLevelName[3*Z_DEMO_LEV_CNT_CAREER + 0] = "maps\\nag.map"; + } + // + SendCommand(Ext_SetFulldamagedArmorCost, FULLDAMAGED_ARMOR_COST); +} + + +//------------------------------------------------------------------------------------------ +//êîíñòàíòû äëÿ òåëåïîðòîâ +//äëèòåëüíîñòü òåëåïîðòà ÷åðåç ëþê +#define TELEPORT_TIME_HATCH 1200 +//äëèòåëüíîñòü òåëåïîðòà ÷åðåç ïëàòôîðìó +#define TELEPORT_TIME_PLATFORM 2000 +//äëèòåëüíîñòü òåëåïîðòà ÷åðåç îáû÷íûé òåëåïîðò +#define TELEPORT_TIME_USUAL 800 +//äëèòåëüíîñòü òåëåïîðòà ÷åðåç òåëåïîðòèðîâàíèå ÷åðåç ñêðèïò +#define TELEPORT_TIME_SCRIPT 800 +//ïàóçà ïîñëå òåëåïîðòèðîâàíèÿ, â òå÷åíèå êîòîðîé òåëåïîðòîì íåëüçÿ ïîëüçîâàòüñÿ +#define TELEPORT_PAUSE 6000 + +//ðàäèóñ, â êîòîðîì ãåðîé ñ÷èòàåòñÿ ïîïàâøèì â òåëåïîðò (îòíîñèòåëüíî ëþêà) +#define TELEPORT_RADIUS 50 + + +//------------------------------------------------------------------------------------------ +//êîíñòàíòû äëÿ óìåíüøàþùåãî îðóæèÿ + +//òèï óìåíüøåíèÿ ìîíñòðîâ (2 - ïîñòåïåííûé, 1 - ïîñëå òîãî, êàê hp ñáðîñÿòñÿ äî îïðåäåëåííîãî óðîâíÿ) +#define REDUCING_TYPE 2 +//êîë-âî hp â ïðîöåíòàõ îò maxhp, ïðè êîòîðîì ìîíñòð íà÷èíàåò óìåíüøàòüñÿ ïîñëå ïîïàäàíèÿ +#define HP_FOR_REDUCE 20 +//ðàçìåð ìîíñòðà ïîñëå óìåíüøåíèÿ â ïðîöåíòàõ îò íîðìàëüíîãî ðàçìåðà (åñëè íå óêàçàíî äëÿ vid'à) +#define REDUCE_PERCENT 30 +//ñëó÷àéíûé ðàçáðîñ ìèíèìàëüíîãî ðàçìåðà ìîíñòðà +#define REDUCE_DISPERSION 2 +//vid ïóëè óìåíüøàþùåãî îðóæèÿ +#define NVID_REDUCE_BULLET 1407 +//speed of reducinging in percents per second +#define REDUCING_SPEED 50 +//vid ýôôåêòà íà óìåíüøåíèå èç óìåíüøàþùåãî îðóæèÿ +#define NVID_REDUCE_EFFECT 1408 +//z ýôôåêòà íà óìåíüøåíèå èç óìåíüøàþùåãî îðóæèÿ +#define REDUCE_EFFECT_Z 35 + + +//äëÿ êîíêðåòíûõ vid'îâ ìîæíî óêàçàòü îòäåëüíî REDUCE_PERCENT +SetReducePercents() +{ + SendCommand( EXT_SETVIDREDUCESCALE, 1030, 50 ); +} + + +//------------------------------------------------------------------------------------------ +//êîíñòàíòû äëÿ îãíåìåòà + +//íà ñêîëüêî óìåíüøèòñÿ ãàììà ïðè ïîëíîì îáîææåíèè ìîíñòðà (äî ñìåðòè) +#define BURNING_PER_DAMAGE 256 +//ìèíèìàëüíàÿ ãàììà ïðè îáæèãàíèè +#define MIN_BURNING -200 + +//vid ïóëè îãíåìåòà +#define NVID_FLAMETHROWER_BULLET 904 +#define NVID_FLAMETHROWER_BULLET2 1343 +#define NVID_BURNER_BULLET 1392 +#define NVID_BURNER_BULLET2 1369 + +//vid ïóëè freeze-îðóæèÿ +#define NVID_FREEZEWPN_BULLET 1395 +#define NVID_FREEZEWPN_BULLET2 1396 + + +//------------------------------------------------------------------------------------------ +//êîíñòàíòû äëÿ ñòàöèîíàðíîé àïòå÷êè + +//ìåñòî ðîæäåíèÿ ýôôåêòà îòíîñèòåëüíî àïòå÷êè +static int SM_EFFECT_X[] = { 21, -21 }; +static int SM_EFFECT_Y[] = { 21, 21 }; +static int SM_EFFECT_Z[] = { -40, -40 }; + +//ðàäèóñ ëå÷åíèÿ ñòàöèîíàðíîé àïòå÷êè +#define STATICMEDKIT_HEALING_RADIUS 45 +//÷àñòîòà ëå÷åíèÿ â ìèëëèñåêóíäàõ (äîáàâëÿåò ïî 1 hp) +#define STATICMEDKIT_HEALING_PERIOD 200 +//ðîæäàåìûé fx +#define STATICMEDKIT_FX 1347 + + +//------------------------------------------------------------------------------------------ +//êîíñòàíòû äëÿ ôàð ìàøèí + +//ñìåùåíèå ïî x è y äëÿ ïåðâîé è âòîðîé ôàðû +static int HeadLightsX[] = { 110, 110 }; +static int HeadLightsY[] = { 50, -50 }; + +//ñìåùåíèå ïî x è y äëÿ ïåðâîãî è âòîðîãî ëó÷à +static int HeadLightRaysX[] = { 100, 100 }; +static int HeadLightRaysY[] = { 50, -50 }; + +//âûñîòà ðîæäåíèÿ ñâåòîâîãî ïÿòíà +#define HEAD_LIGHT_Z 30 +//âûñîòà ðîæäåíèÿ ëó÷åé +#define HEAD_LIGHT_RAYS_Z 30 + +//scale äëÿ ïÿòåí îò ôàð (1000 - ýòî 100%) +#define CAR_SPOT_SCALE 1300 +//scale äëÿ ëó÷åé îò ôàð (1000 - ýòî 100%) +#define CAR_RAY_SCALE 1500 + +//------------------------------------------------------------------------------------------ +//ïåðåìåííûå äëÿ âçëåòàþùèõ íàä ãåðîåì ïðåäìåòîâ (ïðè àâòîïîäáîðå) + +//ñëåäîâàòü ëè çà ãåðîåì ( 0/1 ) +#define FOLLOW_FLAGMAN 0 + +//ìàêñèìàëüíîå êîë-âî îäíîâðåìåííî âçëåòàþùèõ ïðåäåìåòîâ +//(åñëè ñòåê ïåðåïîëíåí, òî íîâûå ïðåäìåòû íå áóäóò âçëåòàòü) +#define MAX_FLY_NUM 50 +//ìàêñèìàëüíîå êîëè÷åñòâî çíàêîâ â ÷èñëå âçëåòàþùèõ ïðåäåìåòîâ (çíàê '+' òîæå ñ÷èòàåòñÿ) +#define MAX_CNT_NUM 6 + +//äëèòåëüíîñòü ïîë¸òà (â ìèëëèñåêóíäàõ) +#define FLYITEM_SHOWTIME 2200 +//âðåìÿ ïîñëå íà÷àëà ïîë¸òà, ÷åðåç êîòîðîå ïðåäìåò íà÷èíàåò ïîãàñàòü +#define FLYITEM_ALPHATIME 1400 +//ìèíèìàëüíîå âðåìÿ (â ìèëëèñåêóíäàõ), ÷åðåç êîòîðîå íà÷èíàåò âûëåòàòü ñëåäóþùèé ïðåäìåò +#define FLYITEM_MINDELTATIME 100 + +//ñïåöèàëüíî äëÿ çíà÷êà ïîâûøåíèÿ óðîâíÿ: +//äëèòåëüíîñòü ïîë¸òà çíà÷êà ïîâûøåíèÿ óðîâíÿ (â ìèëëèñåêóíäàõ) +#define FLYITEM_SHOWTIME_LEVELUP 1500 +//âðåìÿ ïîñëå íà÷àëà ïîë¸òà, ÷åðåç êîòîðîå íà÷èíàåò ïîãàñàòü çíà÷îê ïîâûøåíèÿ óðîâíÿ +#define FLYITEM_ALPHATIME_LEVELUP 800 + +//íà÷àëüíàÿ âûñîòà ïðåäìåòà îòíîñèòåëüíî ãåðîÿ +#define FLYITEM_Z_START 90 +//îêîí÷àòåëüíàÿ âûñîòà ïðåäìåòà îòíîñèòåëüíî ãåðîÿ +#define FLYITEM_Z_FINISH 105 +//íà÷àëüíàÿ àëüôà ïðåäìåòà +#define FLYITEM_ALPHA_DEFAULT 0x00 +//îêîí÷àòåëüíàÿ àëüôà ïðåäìåòà +#define FLYITEM_ALPHA_MAX 0x7F + +//øèðèíà öèôð +#define NUMBER_WIDTH 7 +//øèðèíà çíàêà '+' +#define PLUS_WIDTH 8 +//îòñòóï äëÿ âûâîäà öèôð îòíîñèòåëüíî êàðòèíêè ïðåäìåòà +#define NUMBER_DELTA_X 20 +//îòñòóï äëÿ âûâîäà çíàêà '+ îòíîñèòåëüíî êàðòèíêè ïðåäìåòà (òîëüêî äëÿ äåíåã!) +#define PLUS_DELTA_X -10 +//îòñòóï äëÿ âûâîäà öèôð îòíîñèòåëüíî êàðòèíêè ïðåäìåòà (òîëüêî äëÿ äåíåã!) +#define MONEY_DELTA_X 1 +//ñïåöèàëüíûé NUMBER_DELTA_X äëÿ vid'à 2213 (money) +#define VID2213_DELTA_X 9 +//ñïåöèàëüíûé NUMBER_DELTA_X äëÿ vid'à 2214 (hp è exp) +#define VID2214_DELTA_X 13 +//ñïåöèàëüíûé NUMBER_DELTA_X äëÿ vid'à 1619 (ammo) +#define VID1619_DELTA_X 16 + + +//------------------------------------------------------------------------------------------ +//ñïèñîê vid'îâ ìàøèí +static int CarsVids[] = { 1206, 3000, 1208, 3100 }; + +//------------------------------------------------------------------------------------------ +//scale ýêðàíà ïðè ïîñàäêå â ìàøèíó +#ifndef CAR_SCREEN_SCALE + #define CAR_SCREEN_SCALE 90 +#endif +//scale ýêðàíà ïðè óïðàâëåíèè ñòàöèîíàðíîé ïóøêîé +#define STATGUN_SCREEN_SCALE 100 +//äëèòåëüíîñòü ýôôåêòà ñêàëëèðîâàíèÿ +#define SCREEN_SCALE_TIME 1000 + +//------------------------------------------------------------------------------------------ +//êîíñòàíòû äëÿ ìàøèí + +//ìàêñèìàëüíàÿ ñêîðîñòü. åñëè àâòî ðàçâèâàåò áÎëüøóþ, òî äâèãàòåëü áîëüøåå å¸ íå óñêîðÿåò, +//òî åñòü äàííûé ïàðàìåòð ÿâëÿåòñÿ "îãðàíè÷èòåëåì" ñâåðõó. åñëè ìàêñèìàëüíàÿ ñêîðîñòü íå ìîæåò +//áûòü äîñòèãíóòà èç-çà ñîïðîòèâëåíèÿ âîçäóõà è òðåíèÿ, òî äàííûé ïàðàìåòð íè÷åì ïîìî÷ü íå ìîæåò. +#ifndef VEH_1206_MAX_SPEED +#define VEH_1206_MAX_SPEED 270 //450 +#endif +//êîýôôèöèåíò ñîïðîòèâëåíèÿ âîçäóõà. íàèáîëüøåå âëèÿíèå îêàçûâàåò ïðè âûñîêèõ ñêîðîñòÿõ, ò.ê. +//ñîïðîòèâëåíèå âîçäóõà ðàññ÷èòûâàåòñÿ ÷åðåç êâàäðàò ñêîðîñòè +//âëèÿåò íà ñêîðîñòü ðàçãîíà è ìàêñèìàëüíóþ ñêîðîñòü. +#define VEH_1206_AIR_RESISTANCE 2200 //2300 +//êîýôôèöèåíò ñîïðîòèâëåíèÿ ñèëû òðåíèÿ (ïðè êà÷åíèè àâòîìîáèëÿ). îêàçûâàåò ëèíåéíîå âëèÿíèå +//âëèÿåò íà ñêîðîñòü ðàçãîíà è ìàêñèìàëüíóþ ñêîðîñòü. +#define VEH_1206_FRICTION_RESISTANCE 500 +//êîýôôèöèåíò áîêîâîãî ñêîëüæåíèÿ äëÿ ïåðåäíèõ êîë¸ñ. ìåíÿòü îñòîðîæíî! +#define VEH_1206_STIFFNESS_FRONT -850 //-1500 +//êîýôôèöèåíò áîêîâîãî ñêîëüæåíèÿ äëÿ çàäíèõ êîë¸ñ. ìåíÿòü îñòîðîæíî! +#define VEH_1206_STIFFNESS_REAR -2500 //-5500 +//êîýôôèöèåíò, ÷åðåç êîòîðûé îáðóáàåòñÿ ñëèøêîì áîëüøîå áîêîâîå ñêîëüæåíèå. ÷åì áîëüøå +//êîýôôèöèåíò, òåì áîëüøåå ñêîëüæåíèå âîçìîæíî. ìåíÿòü îñòîðîæíî! +#define VEH_1206_MAX_GRIP 9550 //8650 +//ñèëà, ïðèìåíÿåìàÿ ê àâòîìîáèëþ äëÿ ðàçãîíà +//âëèÿåò íà ñêîðîñòü ðàçãîíà è ìàêñèìàëüíóþ ñêîðîñòü. +#ifndef VEH_1206_ACCELERATION_FORCE +#define VEH_1206_ACCELERATION_FORCE 20 +#endif +//ìàññà àâòîìîáèëÿ. ìîæíî áûëî îáîéòèñü áåç íå¸, ïðîñòî èçìåíÿÿ âñå îñòàëüíûå ïàðàìåòðû. +//âëèÿåò íà óñêîðåíèå. +#define VEH_1206_MASS 500 +//ìîìåíò èíåðöèè àâòîìîáèëÿ. íåïîñðåäñòâåííûì îáðàçîì âëèÿåò íà óãëîâîå óñêîðåíèå - ÷åì áîëüøå +//ìîìåíò èíåðöèè, òåì óñêîðåíèå óãëîâîé ñêîðîñòè ìåíüøå. +#define VEH_1206_INERTIA 20 // 100 //300 +//ðàññòîÿíèå îò öåíòðà èíåðöèè äî îñè ïåðåäíèõ êîë¸ñ +#define VEH_1206_FRONT_WHEELS_TO_CG_DIST 500 +//ðàññòîÿíèå îò öåíòðà èíåðöèè äî îñè çàäíèõ êîë¸ñ +//ñîîòíîøåíèå FRONT_WHEELS_TO_CG_DIST è REAR_WHEELS_TO_CG_DIST âëèÿåò íà óãëîâîå óñêîðåíèå. +//FRONT_WHEELS_TO_CG_DIST + REAR_WHEELS_TO_CG_DIST - äëèíà ìàøèíû. ìåíÿòü îñòîðîæíî! +#define VEH_1206_REAR_WHEELS_TO_CG_DIST 300 +//ìàêñèìàëüíûé óãîë ïîâîðîòà êîë¸ñ +#define VEH_1206_MAX_STEER_ANGLE 48 // 40 //45 +//ñêîðîñòü ïîâîðîòà êîë¸ñ â ãðàäóñàõ çà ñåêóíäó +#define VEH_1206_STEER_ANGLE_SPEED VEH_1206_MAX_STEER_ANGLE * 4 + + +//íåíóæíàÿ ñêðèïòîâàÿ ïåðåìåííàÿ. áåç íå¸ íå ðàáîòàåò. +static int UnnededVardsfdgfdhfdgh; diff --git a/Backup/damageframe1024.men b/Backup/damageframe1024.men new file mode 100644 index 0000000000000000000000000000000000000000..f29545bfb4acf27c0259b1fc9396835aa7e43ffc GIT binary patch literal 348 zcmWG?4OR$YWMJ@h^$YcIb#zf-0D}e)2^3}!0b*eghoQlRfx!WY?GFPvhl2xx6l6dO zfD#~r6^I>yxZ=}&h9^uQkp<2S2c&@NO@J63G&lgYfv`PH24oZqh_D6X1s6hPz=j;~ zaA9yL0b&yu2cS4ASl|G35D+5_0n3975V!<2fI%7PTA%?yR~!J#A`^HFXt)eB0O*Yc Y%fJRSAnOIQ8ywKR0TyNflK+7K0C>qQx&QzG literal 0 HcmV?d00001 diff --git a/Backup/gamebar1024.men b/Backup/gamebar1024.men new file mode 100644 index 0000000000000000000000000000000000000000..d2fc4969d458f060e5307d60d3388a68cfba0226 GIT binary patch literal 3502 zcmbW3UuYaf9LK-aDA%sl^H0+#(Jr>4sI8Y=PY$GdySI}|Yc9FwJWvoXL9W!&=y}$f zhl2Z<$0%A;ML88Tg=!BUG};%z2TSQg9;;S8_8}EP2`xgA)%cs=-u^RWdz*o|o!OoF z+;@Jzncw`zMOpo1Gf)(xm0_V7JHW-1zZ<CDLG^aoLDK+Cs`yUUa%o(Bk>*h`<xiUG z9;yrHF5!pksA1L(q=p4@{epV`E9Mh4pi={%Bw+3zTN%1RzI@rhG6C8#0jYm&<wvOi zO&zH$DagcAaFzhi+$aHA9kT=|Wkf}GL&cRZpMj!Ndt${_didRjJn)!6D=W4H#yCwM zu#s)i8KBoD8+ejB?RP9(&o6iDXzvj)v!b^%$bYOsDNIh)^vOn58!wKHvt#DxENHwc zLq~nDz-+&eP74<w7kV!plRIJIC${U>JaPnx<Jo-@@P@mfb2>`o*=E1k8u}aA@fB<e zn#EgCu{eei8kcy}rJdK&+{d)OxHLm6Y6XG)G;fi337-FY9urp#eEX-|?0#91O<&zc z{|gFwb)<H*cDPz8VYK!dx7q0Rw=7&_n_bnA9Erb~6K}hKQ@RU?<+a~V*@~lJbKV6U z2uOFD{<1=!q}$EUT!7&LPJ~9uP6VLua~E*T1DuZoXc6ESHsbH(Y1(*kBf{`$Tltv* z2|7umbRM?}jxZq=5lhH@X~6+};Q=;<Cd*C);DQH8=3NE1!~xX5aupOjfDFyy5}_cm z-~woScWiKHcsBJS08Ik?8uY?)%($HW+CrNF6cuw6R@*V-@*)9xIU+u7U~wA<pfhon zaPS)oH4cFb8q6K>BA7f2IO76Z8Yb>%fD<!<G9rvP7X;)UWWcS#x!jHbOg~^N-V(5r z0bRTCaiaH8Jm^T)VLn8+%DqDARskeo{<s?`d+2`M#e|z;5oR8CH4q^=zyv3i2x8W- z0&6JkbP3S0oMyt!!O7fSiy&Rux64*4ycY_zneOK6a1|ixJhVJO*+AO?gf9$<TSJ0W zF#JeIf%%-LU}lws2teBf;E;iqqafCKm`>Tsr@R>`(W$Q^Q%Vll%1H*uJM*#u^N-ag zh_b;v0p=O7JrC8134eEMgCQE28?=>698@l7z;-$hw{@ND(XG9I?~&TnZb(uq9Ux8I zwJy>ClhjOrlq0{aL(?FWW*-fZRCQgXG?T8r*EzH%?G^Pt0hMgEs`#5NnB5eGQ5~%m zDaDuDcJ6%(r=`o(<K*j)D8U7~&W<G@^+5-KX#(6s>2-hi>9x%K&Jy5zQt<4RL&nm@ zEwQXpezkG5T7LeeM(vd<<;N%yFZrQko66;b#?rCgYx06wCi9+}J_3h1^g?3_W5k^K j*n-Ru-u>%<v2^&_%wRSlnGOzv1DW(-DuW(Etx)+7We?Hc literal 0 HcmV?d00001 diff --git a/Backup/gamebar_gun1024.men b/Backup/gamebar_gun1024.men new file mode 100644 index 0000000000000000000000000000000000000000..c346b9e19d6166adbf2594703a52ae2fc1cd151b GIT binary patch literal 805 zcmWG?4OWn4W?=Aj^$YcIb#zf-0D}e)$q2+EP|U!vz=eUK!G*zr(}m%HkxOtukit_Y zkSc}-5Wx+^wm=+^x`}lK2Lr>m=T<JepXInRJTP_r1yX<l8tj4EpcqL4WWWKS0n32~ zd|xi>vfC`zmBGQ(6-fz{3DXRskpRem71^6uZvkEQO<m1p_cx#mNHxF$Xh0+z)CFNc z7X+BPh9X%4Vd8Ls6HwMd@F@cekp7l#<g)u%zAM893s+G*25^GI0;<3%HL-}n8_4-^ zdMhh1Vi>-s0|R1Nkt;)kg{v5`rno2OraC1S#XAQ1`Uf%i1GRN9Zf4~I(xtt}Tx4B5 zfWab!H(Wt#VIa7)s4O@+zbLhs!N}0m*vP<?Apj`1f@w1=Fs2x;avyh*4Iyl#1k5}j z4Kgx5q@siYVy;_eQ7(fIP~0PZ6YFuHp*+qfU1XQIyD})?cP5gN5Hlg>#REMLPLB!s en^+%!QUfS1*np7<OpnNVAZ#3w35vx3KmY(PVS|1E literal 0 HcmV?d00001 diff --git a/Backup/gamebar_net1024.men b/Backup/gamebar_net1024.men new file mode 100644 index 0000000000000000000000000000000000000000..0c609018014bfa90bde82d582c90ac574f80db2f GIT binary patch literal 1539 zcmWG?4OaNg%D~|3>KE$a>gb}v00s>pk`ahSfLIvBVOZe8z|i2r;85tw;Lzh591x^% z7^n{j8bAa{O%xC(#82gC2GX;=XSzn%3Ar&iOmYQs(LjSeP#YLaAjt&e#OI}!#OEdE zrW!I_{QUmuhxk(;UOakt;q&)b4;Z|GDmirL@^b;{61|zO3^xgz4pIvPP}7T(^NWlb z3>X4|;y30^fIC*^4q@YPIM$fKFJA%VYOtXnx{(ak5hgbTOi&E<$U!pn4B3X7!3_n4 zri1PTL}*qLHWWu_nnFWU<5)i;G;0VOha)si;coN<x>4dwAO8ss28NEjS*|jIcU>6{ z2;)spu-FFCpv06`l$ai$lx@raGA!ca1cYHH@3}G*kY$(|gFn!)3a>eE@2=`4JMkDX z1m`7Yr$XF!4#|CnK=(C}<vvqzUeOS0hR1GC7h(6|h+QKF3$WWZF!vzB&JpOg1rp>$ zgdx~%EAsl_Ze!3SoK$eQ%><b8KnXcQ1j)FQWE*D&G!B$ZR_sKIhK0a1w}7l@FaaCZ tu?xwtmv>wlHi(cDZbl5gK$qQU>V=1!jWyYEYRF({V8p-zH1IzV000?q6^;M^ literal 0 HcmV?d00001 diff --git a/Backup/nag1024.men b/Backup/nag1024.men new file mode 100644 index 0000000000000000000000000000000000000000..c6a7d4fa3df8349b3714a11aca72104f13a39183 GIT binary patch literal 424 zcmWG?4OUpd$iU$1>KE$a>gb}v00s>p5-7|d0>r`~4#NT$28IS8E;!7<5OO#;AV?tt zqyQ)gB3Oag9f&*r-sQf`#J~{1ZRYa$TOLsT7H5z=GMF`Urv2G7KK4MZK#Tw(uE8O$ zLBa99z6@bN(GAJ>xLJVo`?+Q=?O_703<}qP#-Rg{5fChiBo&fcT#{N;9Pe6@S;BzA zi36$%NQIg#Yv!_xOp|>RGxK~?^Ge~S!v#EnHW*~yg9pPO-h8rx!8O7&gaH%)|A7Di DtszyT literal 0 HcmV?d00001 diff --git a/Backup/radiotalk1024.men b/Backup/radiotalk1024.men new file mode 100644 index 0000000000000000000000000000000000000000..a6cea100bed444ebede9e08e283dcb045948944b GIT binary patch literal 218 zcmWG?4OY0sz`)?^>KE$a>gb{ZWCKA1h+qU_5g--@aTpf30EK~=;V=jX2Lvh10trLa zG6Na5Al`x7-0dKZ2N+yVomF>bVE6^ng96sMC)&@N8EFsH3dBgj5yU=po0|nhH>`I) dHCM%zLE)E63W$#cK$@`{U}$K_0Mh&)2mrVzB=`UT literal 0 HcmV?d00001 diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..da52f53 --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright © 2023. DUB1401. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README.md b/README.md new file mode 100644 index 0000000..1fd4f9e --- /dev/null +++ b/README.md @@ -0,0 +1,37 @@ +# 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). + +Метод работы оÑнован на подмене Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð² конфигурационном файле и изменении названий файлов завиÑимых от Ñ€Ð°Ð·Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ñ‚ÐµÐºÑтур. + +## ПорÑдок уÑтановки и иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ +1. УÑтановить [Alien Shooter 2: Reloaded](https://store.steampowered.com/app/33120/Alien_Shooter_2_Reloaded/) из [Steam](https://store.steampowered.com/) и запуÑтить игру. ПоÑледнее необходимо Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, чтобы процеÑÑÑ‹ игры Ñоздал нужный файл конфигурации. ПоÑле загрузки главного меню игру необходимо закрыть. +2. УÑтановить .Net SDK верÑии 7.0 или новее Ñ Ð¾Ñ„Ð¸Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ [Ñайта](https://dotnet.microsoft.com/en-us/download). +2. Скачать поÑледний [релиз](https://github.com/DUB1401/AS2R-ResolutionPatcher/releases) патча. +3. ЗапуÑтить иÑполнÑемый _*.exe_ файл и убедитьÑÑ, что вÑе иÑходные Ð¿Ð¾Ð»Ñ Ð¸Ð¼ÐµÑŽÑ‚ зелёный цвет шрифта. +4. Выбрать нужное разрешение и нажать кнопку уÑтановки патча. + +# FAQ +### _ВопроÑ_: Поле «Steam» горит краÑным. + +_**Ответ**_: Патч разрабатывалÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ Steam-верÑии игры. УÑтановите клиент [Steam](https://store.steampowered.com/) или проверьте директорию уÑтановки по умолчанию. +___ +### _ВопроÑ_: Поле «Save folder» горит краÑным. + +_**Ответ**_: ЗапуÑтите игру, дождитеÑÑŒ загрузки меню и закройте её. Ðто необходимо Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° конфигурации. +___ +### _ВопроÑ_: Одно из названий файлов краÑное. + +_**Ответ**_: Программе не удалоÑÑŒ найти Ñтот файл или же он уже изменён. Выполните проверку целоÑтноÑти файлов игры перед уÑтановкой патча. +___ +### _ВопроÑ_: Как мне вернуть файлы игры к иÑходному ÑоÑтоÑнию? + +_**Ответ**_: Выполните проверку целоÑтноÑти файлов игры в клиенте [Steam](https://store.steampowered.com/). +___ +### _ВопроÑ_: Патч уÑтановлен, но меню игры вÑÑ‘ равно выглÑдит маленьким. + +_**Ответ**_: Патч работает только во Ð²Ñ€ÐµÐ¼Ñ Ð¸Ð³Ñ€Ð¾Ð²Ð¾Ð³Ð¾ процеÑÑа и не влиÑет на меню в виду программных оÑобенноÑтей. + +# Скриншот + + +_Copyright © DUB1401. 2023._