diff --git a/OpenRA.Game/Graphics/ChromeProvider.cs b/OpenRA.Game/Graphics/ChromeProvider.cs index 5b6c3be2cf..969248f108 100644 --- a/OpenRA.Game/Graphics/ChromeProvider.cs +++ b/OpenRA.Game/Graphics/ChromeProvider.cs @@ -10,6 +10,7 @@ using System.Collections.Generic; using System.Linq; +using OpenRA.FileSystem; namespace OpenRA.Graphics { @@ -24,17 +25,19 @@ namespace OpenRA.Graphics static Dictionary collections; static Dictionary cachedSheets; static Dictionary> cachedSprites; + static IReadOnlyFileSystem fileSystem; public static void Initialize(ModData modData) { Deinitialize(); + fileSystem = modData.DefaultFileSystem; collections = new Dictionary(); cachedSheets = new Dictionary(); cachedSprites = new Dictionary>(); var chrome = MiniYaml.Merge(modData.Manifest.Chrome - .Select(s => MiniYaml.FromStream(modData.ModFiles.Open(s)))); + .Select(s => MiniYaml.FromStream(fileSystem.Open(s)))); foreach (var c in chrome) LoadCollection(c.Key, c.Value); @@ -107,7 +110,7 @@ namespace OpenRA.Graphics sheet = cachedSheets[mi.Src]; else { - using (var stream = Game.ModData.ModFiles.Open(mi.Src)) + using (var stream = fileSystem.Open(mi.Src)) sheet = new Sheet(SheetType.BGRA, stream); cachedSheets.Add(mi.Src, sheet); diff --git a/OpenRA.Game/Widgets/ChromeMetrics.cs b/OpenRA.Game/Widgets/ChromeMetrics.cs index acfb8da59d..3fbcffa6d2 100644 --- a/OpenRA.Game/Widgets/ChromeMetrics.cs +++ b/OpenRA.Game/Widgets/ChromeMetrics.cs @@ -21,7 +21,7 @@ namespace OpenRA.Widgets { data = new Dictionary(); var metrics = MiniYaml.Merge(modData.Manifest.ChromeMetrics.Select( - y => MiniYaml.FromStream(modData.ModFiles.Open(y)))); + y => MiniYaml.FromStream(modData.DefaultFileSystem.Open(y)))); foreach (var m in metrics) foreach (var n in m.Value.Nodes) data[n.Key] = n.Value.Value; diff --git a/OpenRA.Game/Widgets/WidgetLoader.cs b/OpenRA.Game/Widgets/WidgetLoader.cs index 6a9e7db967..132751191a 100644 --- a/OpenRA.Game/Widgets/WidgetLoader.cs +++ b/OpenRA.Game/Widgets/WidgetLoader.cs @@ -24,7 +24,7 @@ namespace OpenRA { this.modData = modData; - foreach (var file in modData.Manifest.ChromeLayout.Select(a => MiniYaml.FromStream(modData.ModFiles.Open(a)))) + foreach (var file in modData.Manifest.ChromeLayout.Select(a => MiniYaml.FromStream(modData.DefaultFileSystem.Open(a)))) foreach (var w in file) { var key = w.Key.Substring(w.Key.IndexOf('@') + 1); diff --git a/OpenRA.Mods.Cnc/CncLoadScreen.cs b/OpenRA.Mods.Cnc/CncLoadScreen.cs index 3c18eae282..03c1118214 100644 --- a/OpenRA.Mods.Cnc/CncLoadScreen.cs +++ b/OpenRA.Mods.Cnc/CncLoadScreen.cs @@ -42,7 +42,7 @@ namespace OpenRA.Mods.Cnc r = Game.Renderer; if (r == null) return; - using (var stream = modData.ModFiles.Open(info["Image"])) + using (var stream = modData.DefaultFileSystem.Open(info["Image"])) sheet = new Sheet(SheetType.BGRA, stream); var res = r.Resolution; diff --git a/OpenRA.Mods.Common/LoadScreens/LogoStripeLoadScreen.cs b/OpenRA.Mods.Common/LoadScreens/LogoStripeLoadScreen.cs index d32ba40731..708070e279 100644 --- a/OpenRA.Mods.Common/LoadScreens/LogoStripeLoadScreen.cs +++ b/OpenRA.Mods.Common/LoadScreens/LogoStripeLoadScreen.cs @@ -41,7 +41,7 @@ namespace OpenRA.Mods.Common.LoadScreens if (info.ContainsKey("Image")) { - using (var stream = modData.ModFiles.Open(info["Image"])) + using (var stream = modData.DefaultFileSystem.Open(info["Image"])) sheet = new Sheet(SheetType.BGRA, stream); logo = new Sprite(sheet, new Rectangle(0, 0, 256, 256), TextureChannel.Alpha); diff --git a/OpenRA.Mods.Common/LoadScreens/ModChooserLoadScreen.cs b/OpenRA.Mods.Common/LoadScreens/ModChooserLoadScreen.cs index c1a0ca4ba3..562d556b42 100644 --- a/OpenRA.Mods.Common/LoadScreens/ModChooserLoadScreen.cs +++ b/OpenRA.Mods.Common/LoadScreens/ModChooserLoadScreen.cs @@ -26,7 +26,7 @@ namespace OpenRA.Mods.Common.LoadScreens var res = Game.Renderer.Resolution; bounds = new Rectangle(0, 0, res.Width, res.Height); - using (var stream = modData.ModFiles.Open(info["Image"])) + using (var stream = modData.DefaultFileSystem.Open(info["Image"])) { var sheet = new Sheet(SheetType.BGRA, stream); sprite = new Sprite(sheet, new Rectangle(0, 0, 1024, 480), TextureChannel.Alpha);