diff --git a/OpenRA.Game/Game.cs b/OpenRA.Game/Game.cs index df10e9d523..c3b170274d 100644 --- a/OpenRA.Game/Game.cs +++ b/OpenRA.Game/Game.cs @@ -281,6 +281,7 @@ namespace OpenRA Sound.Initialize(); ModData = new ModData(mod, !Settings.Server.Dedicated); + ModData.MountFiles(); ModData.InitializeLoaders(); if (!Settings.Server.Dedicated) Renderer.InitializeFonts(ModData.Manifest); diff --git a/OpenRA.Game/ModData.cs b/OpenRA.Game/ModData.cs index 4042318503..fa4713552d 100644 --- a/OpenRA.Game/ModData.cs +++ b/OpenRA.Game/ModData.cs @@ -74,11 +74,6 @@ namespace OpenRA SpriteSequenceLoader = (ISpriteSequenceLoader)ctor.Invoke(new[] { this }); SpriteSequenceLoader.OnMissingSpriteError = s => Log.Write("debug", s); - // HACK: Mount only local folders so we have a half-working environment for the asset installer - GlobalFileSystem.UnmountAll(); - foreach (var dir in Manifest.Folders) - GlobalFileSystem.Mount(dir); - defaultRules = Exts.Lazy(() => RulesetCache.Load()); initialThreadId = System.Threading.Thread.CurrentThread.ManagedThreadId; @@ -92,6 +87,11 @@ namespace OpenRA LoadScreen.Display(); } + public void MountFiles() + { + GlobalFileSystem.LoadFromManifest(Manifest); + } + public void InitializeLoaders() { // all this manipulation of static crap here is nasty and breaks