From 98aed777d0466ddfc4231f71acfc755dcb163fc7 Mon Sep 17 00:00:00 2001 From: abcdefg30 Date: Thu, 25 Dec 2014 23:24:18 +0100 Subject: [PATCH] Improved legacy map import Health: 1 and Facing: 0 will be omitted. --- .../UtilityCommands/LegacyMapImporter.cs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/OpenRA.Mods.Common/UtilityCommands/LegacyMapImporter.cs b/OpenRA.Mods.Common/UtilityCommands/LegacyMapImporter.cs index f9bb2410a9..e2e3997323 100644 --- a/OpenRA.Mods.Common/UtilityCommands/LegacyMapImporter.cs +++ b/OpenRA.Mods.Common/UtilityCommands/LegacyMapImporter.cs @@ -387,23 +387,28 @@ namespace OpenRA.Mods.Common.UtilityCommands try { var parts = s.Value.Split(','); - var loc = Exts.ParseIntegerInvariant(parts[3]); if (parts[0] == "") parts[0] = "Neutral"; if (!players.Contains(parts[0])) players.Add(parts[0]); + var loc = Exts.ParseIntegerInvariant(parts[3]); + var health = float.Parse(parts[2], NumberFormatInfo.InvariantInfo) / 256; + var facing = (section == "INFANTRY") ? Exts.ParseIntegerInvariant(parts[6]) : Exts.ParseIntegerInvariant(parts[4]); + var actor = new ActorReference(parts[1].ToLowerInvariant()) { new LocationInit(new CPos(loc % mapSize, loc / mapSize)), new OwnerInit(parts[0]), - new HealthInit(float.Parse(parts[2], NumberFormatInfo.InvariantInfo) / 256), - new FacingInit((section == "INFANTRY") - ? Exts.ParseIntegerInvariant(parts[6]) - : Exts.ParseIntegerInvariant(parts[4])), }; + var initDict = actor.InitDict; + if (health != 1) + initDict.Add(new HealthInit(health)); + if (facing != 0) + initDict.Add(new FacingInit(facing)); + if (section == "INFANTRY") actor.Add(new SubCellInit(Exts.ParseIntegerInvariant(parts[4])));