diff --git a/OpenRa.Game/GameRules/UnitInfo.cs b/OpenRa.Game/GameRules/UnitInfo.cs index ff695d485a..45d9c14ea3 100755 --- a/OpenRa.Game/GameRules/UnitInfo.cs +++ b/OpenRa.Game/GameRules/UnitInfo.cs @@ -19,6 +19,7 @@ namespace OpenRa.Game.GameRules } public readonly string Name; + public readonly string Description = ""; public readonly int Ammo = -1; public readonly ArmorType Armor = ArmorType.none; diff --git a/OpenRa.Game/MainWindow.cs b/OpenRa.Game/MainWindow.cs old mode 100644 new mode 100755 index 51a717543c..9d377ae42a --- a/OpenRa.Game/MainWindow.cs +++ b/OpenRa.Game/MainWindow.cs @@ -62,7 +62,7 @@ using System.Runtime.InteropServices; game.world.Add( jeep ); var tank = new Actor( "3tnk", new int2( 12, 7 ), game.players[ 1 ] ); game.world.Add( tank ); - tank.traits.Get().target = jeep; + //tank.traits.Get().target = jeep; sidebar = new Sidebar(renderer, game); diff --git a/OpenRa.Game/Sidebar.cs b/OpenRa.Game/Sidebar.cs index f26ae57215..4c669f3617 100644 --- a/OpenRa.Game/Sidebar.cs +++ b/OpenRa.Game/Sidebar.cs @@ -66,8 +66,9 @@ namespace OpenRa.Game void LoadSprites(string filename) { - foreach (string line in Util.ReadAllLines(FileSystem.Open(filename))) + foreach (string l in Util.ReadAllLines(FileSystem.Open(filename))) { + var line = l.ToLowerInvariant(); string key = line.Substring(0, line.IndexOf(',')); int secondComma = line.IndexOf(',', line.IndexOf(',') + 1); string group = line.Substring(secondComma + 1, line.Length - secondComma - 1); diff --git a/OpenRa.Game/TechTree/Item.cs b/OpenRa.Game/TechTree/Item.cs old mode 100644 new mode 100755 index bc4b99a2c8..10211a8c21 --- a/OpenRa.Game/TechTree/Item.cs +++ b/OpenRa.Game/TechTree/Item.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using OpenRa.FileFormats; using OpenRa.Game.GameRules; +using System.Diagnostics; namespace OpenRa.TechTree { @@ -11,10 +12,10 @@ namespace OpenRa.TechTree public bool IsStructure { get { return isStructure; } } - public Item(string tag, string friendlyName, UnitInfo unitInfo, bool isStructure) + public Item(string tag, UnitInfo unitInfo, bool isStructure) { this.tag = tag; - this.friendlyName = friendlyName; + this.friendlyName = unitInfo.Description; this.isStructure = isStructure; owner = ParseOwner(unitInfo.Owner, unitInfo.DoubleOwned); @@ -40,38 +41,40 @@ namespace OpenRa.TechTree static Tuple ParsePrerequisites(string prerequisites, string tag) { - List allied = new List(prerequisites.ToUpper().Split( + Debug.WriteLine( tag ); + List allied = new List(prerequisites.ToLowerInvariant().Split( new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)); List soviet = new List(allied); - if (allied.Remove("STEK")) - allied.Add("ATEK"); + if (allied.Remove("stek")) + allied.Add("atek"); - if (soviet.Remove("ATEK")) - soviet.Add("STEK"); + if (soviet.Remove("atek")) + soviet.Add("stek"); - if (soviet.Remove("TENT")) - soviet.Add("BARR"); + if (soviet.Remove("tent")) + soviet.Add("barr"); - if (allied.Remove("BARR")) - allied.Add("TENT"); + if (allied.Remove("barr")) + allied.Add("tent"); - if ((tag.Length == 2 && tag[0] == 'E') || tag == "MEDI" || tag == "THF" || tag == "SPY") + // TODO: rewrite this based on "InfantryTypes" in units.ini + if ((tag.Length == 2 && tag[0] == 'e') || tag == "medi" || tag == "thf" || tag == "spy") { - if (!allied.Contains("TENT")) - allied.Add("TENT"); - if (!soviet.Contains("BARR")) - soviet.Add("BARR"); + if (!allied.Contains("tent")) + allied.Add("tent"); + if (!soviet.Contains("barr")) + soviet.Add("barr"); } - if (tag == "LST") + if (tag == "lst") { - if (!soviet.Contains("SPEN")) - soviet.Add("SPEN"); + if (!soviet.Contains("spen")) + soviet.Add("spen"); - if (!allied.Contains("SYRD")) - allied.Add("SYRD"); + if (!allied.Contains("syrd")) + allied.Add("syrd"); } return new Tuple( diff --git a/OpenRa.Game/TechTree/TechTree.cs b/OpenRa.Game/TechTree/TechTree.cs index 50ab7ae9f7..d044210212 100644 --- a/OpenRa.Game/TechTree/TechTree.cs +++ b/OpenRa.Game/TechTree/TechTree.cs @@ -54,13 +54,13 @@ namespace OpenRa.TechTree .Concat( Lines( "infantry.txt", false ) ); foreach (Tuple p in definitions) - objects.Add(p.a, new Item(p.a, p.b, Rules.UnitInfo[p.a], p.c)); + objects.Add(p.a.ToLowerInvariant(), new Item(p.a.ToLowerInvariant(), Rules.UnitInfo[p.a.ToLowerInvariant()], p.c)); } public bool Build(string key, bool force) { if( string.IsNullOrEmpty( key ) ) return false; - key = key.ToUpperInvariant(); + key = key.ToLowerInvariant(); Item b = objects[ key ]; if (!force && !b.CanBuild) return false; built.Add(key); @@ -75,7 +75,7 @@ namespace OpenRa.TechTree public bool Unbuild(string key) { - key = key.ToUpperInvariant(); + key = key.ToLowerInvariant(); Item b = objects[key]; if (!built.Contains(key)) return false; built.Remove(key);