From b62619b34cc4a4fe1b3d976becdbfd131268c4c2 Mon Sep 17 00:00:00 2001 From: chrisf Date: Fri, 13 Jul 2007 01:30:46 +0000 Subject: [PATCH] best way of removing duplication?? *delete* git-svn-id: svn://svn.ijw.co.nz/svn/OpenRa@1184 993157c7-ee19-0410-b2c4-bb4e9862e678 --- OpenRa.FileFormats/TileSheetBuilder.cs | 1 - OpenRa.Game/MainWindow.cs | 27 ++-- OpenRa.Game/Mcv.cs | 11 +- OpenRa.Game/OpenRa.Game.csproj | 1 + OpenRa.Game/Program.cs | 6 +- OpenRa.Game/Settings.cs | 45 +++++++ OpenRa.Game/World.cs | 9 +- OpenRa.sln | 12 -- TileSheetTest/Form1.Designer.cs | 60 --------- TileSheetTest/Form1.cs | 67 ---------- TileSheetTest/Form1.resx | 120 ------------------ TileSheetTest/Program.cs | 20 --- TileSheetTest/Properties/AssemblyInfo.cs | 33 ----- .../Properties/Resources.Designer.cs | 71 ----------- TileSheetTest/Properties/Resources.resx | 117 ----------------- TileSheetTest/Properties/Settings.Designer.cs | 30 ----- TileSheetTest/Properties/Settings.settings | 7 - TileSheetTest/TileSheetTest.csproj | 84 ------------ 18 files changed, 82 insertions(+), 639 deletions(-) create mode 100644 OpenRa.Game/Settings.cs delete mode 100644 TileSheetTest/Form1.Designer.cs delete mode 100644 TileSheetTest/Form1.cs delete mode 100644 TileSheetTest/Form1.resx delete mode 100644 TileSheetTest/Program.cs delete mode 100644 TileSheetTest/Properties/AssemblyInfo.cs delete mode 100644 TileSheetTest/Properties/Resources.Designer.cs delete mode 100644 TileSheetTest/Properties/Resources.resx delete mode 100644 TileSheetTest/Properties/Settings.Designer.cs delete mode 100644 TileSheetTest/Properties/Settings.settings delete mode 100644 TileSheetTest/TileSheetTest.csproj diff --git a/OpenRa.FileFormats/TileSheetBuilder.cs b/OpenRa.FileFormats/TileSheetBuilder.cs index b4845158cd..31b81c6954 100644 --- a/OpenRa.FileFormats/TileSheetBuilder.cs +++ b/OpenRa.FileFormats/TileSheetBuilder.cs @@ -5,7 +5,6 @@ using System.Drawing; namespace OpenRa.FileFormats { - // T is probably going to be BluntDirectX.Direct3D.Texture public delegate T Provider(); public class TileSheetBuilder diff --git a/OpenRa.Game/MainWindow.cs b/OpenRa.Game/MainWindow.cs index 8820b6c46b..29de5c16b4 100644 --- a/OpenRa.Game/MainWindow.cs +++ b/OpenRa.Game/MainWindow.cs @@ -21,8 +21,6 @@ namespace OpenRa.Game Package TileMix; string TileSuffix; - const string mapName = "scm12ea.ini"; - Dictionary> tileMapping = new Dictionary>(); @@ -35,14 +33,14 @@ namespace OpenRa.Game void LoadTextures() { - List tempSheets = new List(); + List sheets = new List(); Size pageSize = new Size(1024,512); Provider sheetProvider = delegate { Sheet t = new Sheet( new Bitmap(pageSize.Width, pageSize.Height)); - tempSheets.Add(t); + sheets.Add(t); return t; }; @@ -55,8 +53,9 @@ namespace OpenRa.Game if (!tileMapping.ContainsKey(tileRef)) { - SheetRectangle rect = builder.AddImage(new Size(24, 24)); - Bitmap srcImage = tileSet.tiles[ tileRef.tile ].GetTile( tileRef.image ); + Bitmap srcImage = tileSet.tiles[tileRef.tile].GetTile(tileRef.image); + SheetRectangle rect = builder.AddImage(srcImage.Size); + using (Graphics g = Graphics.FromImage(rect.sheet.bitmap)) g.DrawImage(srcImage, rect.origin); @@ -64,7 +63,7 @@ namespace OpenRa.Game } } - foreach (Sheet s in tempSheets) + foreach (Sheet s in sheets) s.LoadTexture(renderer.Device); world = new World(renderer.Device); @@ -105,12 +104,22 @@ namespace OpenRa.Game } } - public MainWindow() + static Size GetResolution(Settings settings) + { + Size desktopResolution = Screen.PrimaryScreen.Bounds.Size; + + return new Size(settings.GetValue("width", desktopResolution.Width), + settings.GetValue("height", desktopResolution.Height)); + } + + public MainWindow( Settings settings ) { FormBorderStyle = FormBorderStyle.None; - renderer = new Renderer(this, Screen.PrimaryScreen.Bounds.Size, false); + renderer = new Renderer(this, GetResolution(settings), false); Visible = true; + string mapName = settings.GetValue("map", "scm12ea.ini"); + IniFile mapFile = new IniFile(File.OpenRead("../../../" + mapName)); map = new Map(mapFile); diff --git a/OpenRa.Game/Mcv.cs b/OpenRa.Game/Mcv.cs index 1d7d533a1b..b492f742bc 100644 --- a/OpenRa.Game/Mcv.cs +++ b/OpenRa.Game/Mcv.cs @@ -8,16 +8,21 @@ namespace OpenRa.Game { class Mcv : Actor { - //int facing; // not currently used - public Mcv( PointF location ) { this.location = location; } + int GetFacing() + { + int x = (Environment.TickCount >> 6) % 64; + + return x < 32 ? x : 63 - x; + } + public override SheetRectangle[] CurrentImages { - get { return new SheetRectangle[] { UnitSheetBuilder.McvSheet[ 0 ] }; } + get { return new SheetRectangle[] { UnitSheetBuilder.McvSheet[ GetFacing() ] }; } } } } diff --git a/OpenRa.Game/OpenRa.Game.csproj b/OpenRa.Game/OpenRa.Game.csproj index e7f15c90ef..7cb7e69f7b 100644 --- a/OpenRa.Game/OpenRa.Game.csproj +++ b/OpenRa.Game/OpenRa.Game.csproj @@ -49,6 +49,7 @@ + diff --git a/OpenRa.Game/Program.cs b/OpenRa.Game/Program.cs index 2a32eef6e5..7d7e0d04b4 100644 --- a/OpenRa.Game/Program.cs +++ b/OpenRa.Game/Program.cs @@ -8,14 +8,16 @@ namespace OpenRa.Game static class Program { [STAThread] - static void Main() + static void Main( string[] args ) { try { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault( false ); - new MainWindow().Run(); + Settings settings = new Settings(args); + + new MainWindow( settings ).Run(); } catch( Exception e ) { diff --git a/OpenRa.Game/Settings.cs b/OpenRa.Game/Settings.cs new file mode 100644 index 0000000000..720eddb564 --- /dev/null +++ b/OpenRa.Game/Settings.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Text.RegularExpressions; + +namespace OpenRa.Game +{ + class Settings + { + Dictionary settings = new Dictionary(); + + public Settings(IEnumerable src) + { + Regex regex = new Regex("([^=]+)=(.*)"); + foreach (string s in src) + { + Match m = regex.Match(s); + if (m == null || !m.Success) + continue; + + settings.Add(m.Groups[1].Value, m.Groups[2].Value); + } + } + + public bool Contains(string key) + { + return settings.ContainsKey(key); + } + + public string GetValue(string key, string defaultValue) + { + return Contains(key) ? settings[key] : defaultValue; + } + + public int GetValue(string key, int defaultValue) + { + int result; + + if (!int.TryParse(GetValue(key, defaultValue.ToString()), out result)) + result = defaultValue; + + return result; + } + } +} diff --git a/OpenRa.Game/World.cs b/OpenRa.Game/World.cs index 1c7ff658a1..2282dcaed5 100644 --- a/OpenRa.Game/World.cs +++ b/OpenRa.Game/World.cs @@ -28,12 +28,15 @@ namespace OpenRa.Game actors.Add(a); //todo: protect from concurrent modification } - // assumption: there is only one sheet! - // some noob needs to fix this! - // assumption: its not going to hurt, to draw *all* units. // in reality, 500 tanks is going to hurt our perf. + // assumption: we dont skip around between sheets much. otherwise, our perf is going to SUCK. + // this can be fixed by pooling vertex/index lists, except that breaks z-ordering + // across sheets. + + // assumption: when people fix these items, they might update the warning comment? + public void Draw(Renderer renderer) { int sprites = 0; diff --git a/OpenRa.sln b/OpenRa.sln index ee3a597b50..c1f7514281 100644 --- a/OpenRa.sln +++ b/OpenRa.sln @@ -17,8 +17,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRa.Game", "OpenRa.Game\ {4EA97564-C929-4ABE-AC5D-A9D11EDE08E1} = {4EA97564-C929-4ABE-AC5D-A9D11EDE08E1} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TileSheetTest", "TileSheetTest\TileSheetTest.csproj", "{8A2FF5A6-D2CC-4CC4-844A-A1E7D3F69D0B}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenRa.TechTreeTest", "OpenRa.TechTreeTest\OpenRa.TechTreeTest.csproj", "{C0DA4050-CF36-494B-AEB8-BFFC3F65B2AA}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BluntDx", "BluntDx\BluntDx.vcproj", "{4EA97564-C929-4ABE-AC5D-A9D11EDE08E1}" @@ -83,16 +81,6 @@ Global {0DFB103F-2962-400F-8C6D-E2C28CCBA633}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {0DFB103F-2962-400F-8C6D-E2C28CCBA633}.Release|Mixed Platforms.Build.0 = Release|Any CPU {0DFB103F-2962-400F-8C6D-E2C28CCBA633}.Release|Win32.ActiveCfg = Release|Any CPU - {8A2FF5A6-D2CC-4CC4-844A-A1E7D3F69D0B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8A2FF5A6-D2CC-4CC4-844A-A1E7D3F69D0B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8A2FF5A6-D2CC-4CC4-844A-A1E7D3F69D0B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {8A2FF5A6-D2CC-4CC4-844A-A1E7D3F69D0B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {8A2FF5A6-D2CC-4CC4-844A-A1E7D3F69D0B}.Debug|Win32.ActiveCfg = Debug|Any CPU - {8A2FF5A6-D2CC-4CC4-844A-A1E7D3F69D0B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8A2FF5A6-D2CC-4CC4-844A-A1E7D3F69D0B}.Release|Any CPU.Build.0 = Release|Any CPU - {8A2FF5A6-D2CC-4CC4-844A-A1E7D3F69D0B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {8A2FF5A6-D2CC-4CC4-844A-A1E7D3F69D0B}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {8A2FF5A6-D2CC-4CC4-844A-A1E7D3F69D0B}.Release|Win32.ActiveCfg = Release|Any CPU {C0DA4050-CF36-494B-AEB8-BFFC3F65B2AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C0DA4050-CF36-494B-AEB8-BFFC3F65B2AA}.Debug|Any CPU.Build.0 = Debug|Any CPU {C0DA4050-CF36-494B-AEB8-BFFC3F65B2AA}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU diff --git a/TileSheetTest/Form1.Designer.cs b/TileSheetTest/Form1.Designer.cs deleted file mode 100644 index 83a27d45d6..0000000000 --- a/TileSheetTest/Form1.Designer.cs +++ /dev/null @@ -1,60 +0,0 @@ -namespace TileSheetTest -{ - partial class Form1 - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel(); - this.SuspendLayout(); - // - // flowLayoutPanel1 - // - this.flowLayoutPanel1.AutoScroll = true; - this.flowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; - this.flowLayoutPanel1.Location = new System.Drawing.Point(0, 0); - this.flowLayoutPanel1.Name = "flowLayoutPanel1"; - this.flowLayoutPanel1.Size = new System.Drawing.Size(917, 582); - this.flowLayoutPanel1.TabIndex = 0; - // - // Form1 - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(917, 582); - this.Controls.Add(this.flowLayoutPanel1); - this.Name = "Form1"; - this.Text = "Form1"; - this.ResumeLayout(false); - - } - - #endregion - - private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1; - } -} - diff --git a/TileSheetTest/Form1.cs b/TileSheetTest/Form1.cs deleted file mode 100644 index cf6077687a..0000000000 --- a/TileSheetTest/Form1.cs +++ /dev/null @@ -1,67 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Text; -using System.Windows.Forms; -using OpenRa.FileFormats; -using System.IO; - -namespace TileSheetTest -{ - public partial class Form1 : Form - { - static readonly Size pageSize = new Size(256,256); - const int sheetBorder = 4; - - public Form1() - { - InitializeComponent(); - - Package package = new Package("../../../snow.mix"); - Palette palette = new Palette(File.OpenRead("../../../snow.pal")); - TileSet tileSet = new TileSet(package, ".sno", palette); - - List sheets = new List(); - - Provider sheetProvider = delegate - { - Bitmap b = new Bitmap(pageSize.Width, pageSize.Height); - - using (Graphics g = Graphics.FromImage(b)) - g.FillRectangle(Brushes.Violet, 0, 0, pageSize.Width, pageSize.Height); - - sheets.Add(b); - return b; - }; - - TileSheetBuilder builder = - new TileSheetBuilder(pageSize, sheetProvider); - - foreach (Terrain t in tileSet.tiles.Values) - for (int i = 0; i < t.NumTiles; i++) - { - Bitmap tileImage = t.GetTile(i); - - if (tileImage == null) - continue; - - SheetRectangle item = builder.AddImage(tileImage.Size); - - using (Graphics g = Graphics.FromImage(item.sheet)) - g.DrawImage(tileImage, item.origin); - } - - foreach (Bitmap b in sheets) - { - PictureBox box = new PictureBox(); - box.Image = b; - box.SizeMode = PictureBoxSizeMode.CenterImage; - box.Size = new Size(2 * sheetBorder + b.Width, 2 * sheetBorder + b.Height); - - flowLayoutPanel1.Controls.Add(box); - } - } - } -} \ No newline at end of file diff --git a/TileSheetTest/Form1.resx b/TileSheetTest/Form1.resx deleted file mode 100644 index ff31a6db56..0000000000 --- a/TileSheetTest/Form1.resx +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/TileSheetTest/Program.cs b/TileSheetTest/Program.cs deleted file mode 100644 index e877032d0a..0000000000 --- a/TileSheetTest/Program.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Windows.Forms; - -namespace TileSheetTest -{ - static class Program - { - /// - /// The main entry point for the application. - /// - [STAThread] - static void Main() - { - Application.EnableVisualStyles(); - Application.SetCompatibleTextRenderingDefault(false); - Application.Run(new Form1()); - } - } -} \ No newline at end of file diff --git a/TileSheetTest/Properties/AssemblyInfo.cs b/TileSheetTest/Properties/AssemblyInfo.cs deleted file mode 100644 index cb4fadb38a..0000000000 --- a/TileSheetTest/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("TileSheetTest")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("TileSheetTest")] -[assembly: AssemblyCopyright("Copyright © 2007")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("9eca2ea1-e6e8-42ac-af48-2422176e7132")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/TileSheetTest/Properties/Resources.Designer.cs b/TileSheetTest/Properties/Resources.Designer.cs deleted file mode 100644 index 9dd3bea2c8..0000000000 --- a/TileSheetTest/Properties/Resources.Designer.cs +++ /dev/null @@ -1,71 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:2.0.50727.1318 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace TileSheetTest.Properties -{ - - - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.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() - { - } - - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager - { - get - { - if ((resourceMan == null)) - { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("TileSheetTest.Properties.Resources", typeof(Resources).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [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/TileSheetTest/Properties/Resources.resx b/TileSheetTest/Properties/Resources.resx deleted file mode 100644 index c40a448a31..0000000000 --- a/TileSheetTest/Properties/Resources.resx +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/TileSheetTest/Properties/Settings.Designer.cs b/TileSheetTest/Properties/Settings.Designer.cs deleted file mode 100644 index 4ea1c3a45a..0000000000 --- a/TileSheetTest/Properties/Settings.Designer.cs +++ /dev/null @@ -1,30 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:2.0.50727.1318 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace TileSheetTest.Properties -{ - - - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "8.0.0.0")] - internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase - { - - private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); - - public static Settings Default - { - get - { - return defaultInstance; - } - } - } -} diff --git a/TileSheetTest/Properties/Settings.settings b/TileSheetTest/Properties/Settings.settings deleted file mode 100644 index abf36c5d3d..0000000000 --- a/TileSheetTest/Properties/Settings.settings +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/TileSheetTest/TileSheetTest.csproj b/TileSheetTest/TileSheetTest.csproj deleted file mode 100644 index 02139d41d8..0000000000 --- a/TileSheetTest/TileSheetTest.csproj +++ /dev/null @@ -1,84 +0,0 @@ - - - Debug - AnyCPU - 8.0.50727 - 2.0 - {8A2FF5A6-D2CC-4CC4-844A-A1E7D3F69D0B} - WinExe - Properties - TileSheetTest - TileSheetTest - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - - - - - - - - Form - - - Form1.cs - - - - - Designer - Form1.cs - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - True - Resources.resx - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - True - Settings.settings - True - - - - - {BDAEAB25-991E-46A7-AF1E-4F0E03358DAA} - OpenRa.FileFormats - - - - - \ No newline at end of file