Refactoring to remove static Rules & SequenceProvider
This commit is contained in:
@@ -195,15 +195,15 @@ namespace OpenRA.Utility
|
||||
var srcMod = args[1].Split(':')[0];
|
||||
Game.modData = new ModData(srcMod);
|
||||
GlobalFileSystem.LoadFromManifest(Game.modData.Manifest);
|
||||
Rules.LoadRules(Game.modData.Manifest, new Map());
|
||||
var srcPaletteInfo = Rules.Info["player"].Traits.Get<PlayerColorPaletteInfo>();
|
||||
var srcRules = Game.modData.RulesetCache.LoadDefaultRules();
|
||||
var srcPaletteInfo = srcRules.Actors["player"].Traits.Get<PlayerColorPaletteInfo>();
|
||||
int[] srcRemapIndex = srcPaletteInfo.RemapIndex;
|
||||
|
||||
var destMod = args[2].Split(':')[0];
|
||||
Game.modData = new ModData(destMod);
|
||||
GlobalFileSystem.LoadFromManifest(Game.modData.Manifest);
|
||||
Rules.LoadRules(Game.modData.Manifest, new Map());
|
||||
var destPaletteInfo = Rules.Info["player"].Traits.Get<PlayerColorPaletteInfo>();
|
||||
var destRules = Game.modData.RulesetCache.LoadDefaultRules();
|
||||
var destPaletteInfo = destRules.Actors["player"].Traits.Get<PlayerColorPaletteInfo>();
|
||||
var destRemapIndex = destPaletteInfo.RemapIndex;
|
||||
var shadowIndex = new int[] { };
|
||||
|
||||
@@ -304,7 +304,6 @@ namespace OpenRA.Utility
|
||||
public static void ExtractTraitDocs(string[] args)
|
||||
{
|
||||
Game.modData = new ModData(args[1]);
|
||||
Rules.LoadRules(Game.modData.Manifest, new Map());
|
||||
|
||||
Console.WriteLine(
|
||||
"This documentation is aimed at modders. It displays all traits with default values and developer commentary. " +
|
||||
@@ -371,7 +370,6 @@ namespace OpenRA.Utility
|
||||
public static void ExtractLuaDocs(string[] args)
|
||||
{
|
||||
Game.modData = new ModData(args[1]);
|
||||
Rules.LoadRules(Game.modData.Manifest, new Map());
|
||||
|
||||
Console.WriteLine("This is an automatically generated lising of the new Lua map scripting API, generated for {0} of OpenRA.", Game.modData.Manifest.Mod.Version);
|
||||
Console.WriteLine();
|
||||
@@ -520,9 +518,7 @@ namespace OpenRA.Utility
|
||||
foreach (var dir in Game.modData.Manifest.Folders)
|
||||
GlobalFileSystem.Mount(dir);
|
||||
|
||||
Rules.LoadRules(Game.modData.Manifest, map);
|
||||
|
||||
var minimap = Minimap.RenderMapPreview(map, true);
|
||||
var minimap = Minimap.RenderMapPreview(map.Rules.TileSets[map.Tileset], map, true);
|
||||
|
||||
var dest = Path.GetFileNameWithoutExtension(args[1]) + ".png";
|
||||
minimap.Save(dest);
|
||||
@@ -544,11 +540,11 @@ namespace OpenRA.Utility
|
||||
var mod = args[1];
|
||||
var filename = args[2];
|
||||
Game.modData = new ModData(mod);
|
||||
Rules.LoadRules(Game.modData.Manifest, new Map());
|
||||
var map = LegacyMapImporter.Import(filename, e => Console.WriteLine(e));
|
||||
var rules = Game.modData.RulesetCache.LoadDefaultRules();
|
||||
var map = LegacyMapImporter.Import(filename, rules, e => Console.WriteLine(e));
|
||||
map.RequiresMod = mod;
|
||||
map.MakeDefaultPlayers();
|
||||
map.FixOpenAreas();
|
||||
map.FixOpenAreas(rules);
|
||||
var dest = map.Title + ".oramap";
|
||||
map.Save(dest);
|
||||
Console.WriteLine(dest + " saved.");
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#region Copyright & License Information
|
||||
/*
|
||||
* Copyright 2007-2013 The OpenRA Developers (see AUTHORS)
|
||||
* Copyright 2007-2014 The OpenRA Developers (see AUTHORS)
|
||||
* This file is part of OpenRA, which is free software. It is made
|
||||
* available to you under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation. For more information,
|
||||
@@ -107,18 +107,20 @@ namespace OpenRA.Utility
|
||||
int mapSize;
|
||||
int actorCount = 0;
|
||||
Map map = new Map();
|
||||
MapRuleset rules;
|
||||
List<string> players = new List<string>();
|
||||
Action<string> errorHandler;
|
||||
|
||||
LegacyMapImporter(string filename, Action<string> errorHandler)
|
||||
LegacyMapImporter(string filename, MapRuleset rules, Action<string> errorHandler)
|
||||
{
|
||||
this.rules = rules;
|
||||
this.errorHandler = errorHandler;
|
||||
ConvertIniMap(filename);
|
||||
}
|
||||
|
||||
public static Map Import(string filename, Action<string> errorHandler)
|
||||
public static Map Import(string filename, MapRuleset rules, Action<string> errorHandler)
|
||||
{
|
||||
var converter = new LegacyMapImporter(filename, errorHandler);
|
||||
var converter = new LegacyMapImporter(filename, rules, errorHandler);
|
||||
return converter.map;
|
||||
}
|
||||
|
||||
@@ -399,7 +401,7 @@ namespace OpenRA.Utility
|
||||
if (section == "INFANTRY")
|
||||
actor.Add(new SubCellInit(Exts.ParseIntegerInvariant(parts[4])));
|
||||
|
||||
if (!Rules.Info.ContainsKey(parts[1].ToLowerInvariant()))
|
||||
if (!rules.Actors.ContainsKey(parts[1].ToLowerInvariant()))
|
||||
errorHandler("Ignoring unknown actor type: `{0}`".F(parts[1].ToLowerInvariant()));
|
||||
else
|
||||
map.Actors.Value.Add("Actor" + actorCount++, actor);
|
||||
|
||||
@@ -340,8 +340,8 @@ namespace OpenRA.Utility
|
||||
var engineDate = Exts.ParseIntegerInvariant(args[2]);
|
||||
|
||||
Game.modData = new ModData(map.RequiresMod);
|
||||
UpgradeWeaponRules(engineDate, ref map.Weapons, null, 0);
|
||||
UpgradeActorRules(engineDate, ref map.Rules, null, 0);
|
||||
UpgradeWeaponRules(engineDate, ref map.WeaponDefinitions, null, 0);
|
||||
UpgradeActorRules(engineDate, ref map.RuleDefinitions, null, 0);
|
||||
map.Save(args[1]);
|
||||
}
|
||||
|
||||
@@ -395,8 +395,8 @@ namespace OpenRA.Utility
|
||||
foreach (var map in maps)
|
||||
{
|
||||
Console.WriteLine("\t" + map.Path);
|
||||
UpgradeActorRules(engineDate, ref map.Rules, null, 0);
|
||||
UpgradeWeaponRules(engineDate, ref map.Weapons, null, 0);
|
||||
UpgradeActorRules(engineDate, ref map.RuleDefinitions, null, 0);
|
||||
UpgradeWeaponRules(engineDate, ref map.WeaponDefinitions, null, 0);
|
||||
map.Save(map.Path);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user