Support loading mods from arbitrary locations.

This commit is contained in:
Paul Chote
2016-08-05 19:41:26 +01:00
parent cff8e949d8
commit 3261516b51
5 changed files with 47 additions and 12 deletions

View File

@@ -23,9 +23,9 @@ namespace OpenRA
{
readonly Dictionary<string, Manifest> mods;
public InstalledMods()
public InstalledMods(string customModPath)
{
mods = GetInstalledMods();
mods = GetInstalledMods(customModPath);
}
static IEnumerable<Pair<string, string>> GetCandidateMods()
@@ -89,10 +89,14 @@ namespace OpenRA
}
}
static Dictionary<string, Manifest> GetInstalledMods()
static Dictionary<string, Manifest> GetInstalledMods(string customModPath)
{
var ret = new Dictionary<string, Manifest>();
foreach (var pair in GetCandidateMods())
var candidates = GetCandidateMods();
if (customModPath != null)
candidates = candidates.Append(Pair.New(Path.GetFileNameWithoutExtension(customModPath), customModPath));
foreach (var pair in candidates)
{
var mod = LoadMod(pair.First, pair.Second);