Load mod yaml via the virtual filesystem.

This commit is contained in:
Paul Chote
2016-01-21 17:36:06 +00:00
parent 45bae7e9b3
commit 4a12e7bafc
11 changed files with 31 additions and 19 deletions

View File

@@ -92,8 +92,8 @@ namespace OpenRA
{
// all this manipulation of static crap here is nasty and breaks
// horribly when you use ModData in unexpected ways.
ChromeMetrics.Initialize(Manifest.ChromeMetrics);
ChromeProvider.Initialize(Manifest.Chrome);
ChromeMetrics.Initialize(this);
ChromeProvider.Initialize(this);
if (VoxelLoader != null)
VoxelLoader.Dispose();
@@ -130,7 +130,9 @@ namespace OpenRA
return;
}
var yaml = MiniYaml.Merge(Manifest.Translations.Select(MiniYaml.FromFile).Append(map.TranslationDefinitions));
var yaml = MiniYaml.Merge(Manifest.Translations
.Select(t => MiniYaml.FromStream(ModFiles.Open(t)))
.Append(map.TranslationDefinitions));
Languages = yaml.Select(t => t.Key).ToArray();
foreach (var y in yaml)
@@ -185,7 +187,7 @@ namespace OpenRA
foreach (var entry in map.Rules.Music)
entry.Value.Load();
VoxelProvider.Initialize(Manifest.VoxelSequences, map.VoxelSequenceDefinitions);
VoxelProvider.Initialize(this, Manifest.VoxelSequences, map.VoxelSequenceDefinitions);
VoxelLoader.Finish();
return map;