Migrate to 1.06 patch content.

This commit is contained in:
Paul Chote
2016-07-05 22:30:19 +01:00
parent 53f284c35a
commit fdc74353fc
36 changed files with 526 additions and 466 deletions

View File

@@ -68,6 +68,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
var map = new Map(modData, package);
ProcessYaml(modData, map, map.WeaponDefinitions, engineDate, UpgradeRules.UpgradeWeaponRules);
ProcessYaml(modData, map, map.RuleDefinitions, engineDate, UpgradeRules.UpgradeActorRules);
ProcessYaml(modData, map, map.SequenceDefinitions, engineDate, UpgradeRules.UpgradeSequences);
UpgradeRules.UpgradePlayers(modData, engineDate, ref map.PlayerDefinitions, null, 0);
UpgradeRules.UpgradeActors(modData, engineDate, ref map.ActorDefinitions, null, 0);
map.Save(package);

View File

@@ -69,6 +69,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
ProcessYaml("Rules", modData.Manifest.Rules, modData, engineDate, UpgradeRules.UpgradeActorRules);
ProcessYaml("Weapons", modData.Manifest.Weapons, modData, engineDate, UpgradeRules.UpgradeWeaponRules);
ProcessYaml("Sequences", modData.Manifest.Sequences, modData, engineDate, UpgradeRules.UpgradeSequences);
ProcessYaml("Tilesets", modData.Manifest.TileSets, modData, engineDate, UpgradeRules.UpgradeTileset);
ProcessYaml("Cursors", modData.Manifest.Cursors, modData, engineDate, UpgradeRules.UpgradeCursors);
ProcessYaml("Chrome Metrics", modData.Manifest.ChromeMetrics, modData, engineDate, UpgradeRules.UpgradeChromeMetrics);

View File

@@ -329,6 +329,36 @@ namespace OpenRA.Mods.Common.UtilityCommands
}
}
static int RemapD2k106Sequence(int frame)
{
if (frame < 2518)
return frame;
if (frame < 3370)
return frame + 248;
if (frame < 4011)
return frame + 253;
if (frame < 4036)
return frame + 261;
return frame + 264;
}
internal static void UpgradeSequences(ModData modData, int engineVersion, ref List<MiniYamlNode> nodes, MiniYamlNode parent, int depth)
{
foreach (var node in nodes)
{
if (engineVersion < 20160730 && modData.Manifest.Mod.Id == "d2k" && depth == 2)
{
if (node.Key == "Start")
node.Value.Value = RemapD2k106Sequence(FieldLoader.GetValue<int>("", node.Value.Value)).ToString();
if (node.Key == "Frames")
node.Value.Value = FieldLoader.GetValue<int[]>("", node.Value.Value)
.Select(RemapD2k106Sequence).JoinWith(", ");
}
UpgradeSequences(modData, engineVersion, ref node.Value.Nodes, node, depth + 1);
}
}
internal static void UpgradeTileset(ModData modData, int engineVersion, ref List<MiniYamlNode> nodes, MiniYamlNode parent, int depth)
{
foreach (var node in nodes)