diff --git a/RulesConverter/Program.cs b/RulesConverter/Program.cs index 546dfdc6bb..cb1089223b 100644 --- a/RulesConverter/Program.cs +++ b/RulesConverter/Program.cs @@ -45,7 +45,7 @@ namespace RulesConverter { "Selectable", new PL { { "Priority", "SelectionPriority" }, { "Voice", "Voice" }, - { "Bounds", "SelectionSize" } } + { "@Bounds", "SelectionSize" } } }, { "Mobile", new PL { @@ -69,50 +69,10 @@ namespace RulesConverter { "Image", "Image" } } }, - { "RenderUnit", new PL { - { "Image", "Image" } } - }, - - { "RenderBuildingCharge", new PL { - { "Image", "Image" } } - }, - - { "RenderBuildingOre", new PL { - { "Image", "Image" } } - }, - - { "RenderBuildingTurreted", new PL { - { "Image", "Image" } } - }, - - { "RenderInfantry", new PL { - { "Image", "Image" } } - }, - - { "RenderUnitMuzzleFlash", new PL { - { "Image", "Image" } } - }, - - { "RenderUnitReload", new PL { - { "Image", "Image" } } - }, - - { "RenderUnitRotor", new PL { - { "Image", "Image" } } - }, - - { "RenderUnitSpinner", new PL { - { "Image", "Image" } } - }, - - { "RenderUnitTurreted", new PL { - { "Image", "Image" } } - }, - { "Buildable", new PL { { "TechLevel", "TechLevel" }, { "Tab", "$Tab" }, - { "Prerequisites", "Prerequisite" }, + { "@Prerequisites", "Prerequisite" }, { "Owner", "Owner" }, { "Cost", "Cost" }, { "Icon", "Icon" }, @@ -121,14 +81,63 @@ namespace RulesConverter }, { "Cargo", new PL { - { "PassengerTypes", "PassengerTypes" } } + { "@PassengerTypes", "PassengerTypes" }, + { "UnloadFacing", "UnloadFacing" } } }, { "LimitedAmmo", new PL { { "Ammo", "Ammo" } } }, + + { "Building", new PL { + { "Power", "Power" }, + { "RequiresPower", "Powered" }, + { "Footprint", "Footprint" }, + { "@Dimensions", "Dimensions" }, + { "Capturable", "Capturable" }, + { "Repairable", "Repairable" }, + { "BaseNormal", "BaseNormal" }, + { "Adjacent", "Adjacent" }, + { "Bib", "Bib" } } + }, + + { "StoresOre", new PL { + { "Pips", "OrePips" }, + { "Capacity", "Storage" } } + }, + + { "Harvester", new PL { + { "Pips", "OrePips" } } + //{ "Capacity" + }, + + { "AttackBase", new PL { + { "PrimaryWeapon", "Primary" }, + { "SecondaryWeapon", "SecondaryWeapon" }, + { "PrimaryOffset", "PrimaryOffset" }, + { "SecondaryOffset", "SecondaryOffset" }, + { "PrimaryLocalOffset", "PrimaryLocalOffset" }, + { "SecondaryLocalOffset", "SecondaryLocalOffset" }, + { "MuzzleFlash", "MuzzleFlash" }, // maybe + { "Recoil", "Recoil"} } + }, }; + traitMap["RenderUnit"] = traitMap["RenderBuilding"]; + traitMap["RenderBuildingCharge"] = traitMap["RenderBuilding"]; + traitMap["RenderBuildingOre"] = traitMap["RenderBuilding"]; + traitMap["RenderBuildingTurreted"] = traitMap["RenderBuilding"]; + traitMap["RenderInfantry"] = traitMap["RenderBuilding"]; + traitMap["RenderUnitMuzzleFlash"] = traitMap["RenderBuilding"]; + traitMap["RenderUnitReload"] = traitMap["RenderBuilding"]; + traitMap["RenderUnitRotor"] = traitMap["RenderBuilding"]; + traitMap["RenderUnitSpinner"] = traitMap["RenderBuilding"]; + traitMap["RenderUnitTurreted"] = traitMap["RenderBuilding"]; + + traitMap["AttackTurreted"] = traitMap["AttackBase"]; + traitMap["AttackPlane"] = traitMap["AttackBase"]; + traitMap["AttackHeli"] = traitMap["AttackBase"]; + using (var writer = File.CreateText(outputFile)) { foreach (var cat in categoryMap) @@ -147,8 +156,6 @@ namespace RulesConverter if (iniSection.GetValue("TechLevel", "-1") != "-1") traits.Insert(0, "Buildable"); - - foreach (var t in traits) { writer.WriteLine("\t{0}:", t); @@ -159,7 +166,7 @@ namespace RulesConverter var v = kv.Value == "$Tab" ? cat.Value.Second : iniSection.GetValue(kv.Value, ""); var fmt = "\t\t{0}: {1}"; var k = kv.Key; - if (k.StartsWith("@")) { k = k.Substring(1); fmt = "\t\t{0}: [{1}]"; } + if (k.StartsWith("@")) { k = k.Substring(1); /*fmt = "\t\t{0}: [{1}]";*/ } if (k.StartsWith("$")) { k = k.Substring(1); fmt = "\t\t{0}: \"{1}\""; } if (!string.IsNullOrEmpty(v)) writer.WriteLine(fmt, k, v);