Don't reenumerate files when loading maps.
This commit is contained in:
@@ -372,7 +372,7 @@ namespace OpenRA
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
return Game.ModData.RulesetCache.Load(Game.ModData.DefaultFileSystem, this);
|
return Game.ModData.RulesetCache.Load(this, this);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
@@ -1178,22 +1178,30 @@ namespace OpenRA
|
|||||||
// Placeholders for future implementation
|
// Placeholders for future implementation
|
||||||
public Stream Open(string filename)
|
public Stream Open(string filename)
|
||||||
{
|
{
|
||||||
|
if (Container.Contains(filename))
|
||||||
|
return Container.GetStream(filename);
|
||||||
|
|
||||||
return Game.ModData.DefaultFileSystem.Open(filename);
|
return Game.ModData.DefaultFileSystem.Open(filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool TryGetPackageContaining(string path, out IReadOnlyPackage package, out string filename)
|
public bool TryGetPackageContaining(string path, out IReadOnlyPackage package, out string filename)
|
||||||
{
|
{
|
||||||
|
// Packages aren't supported inside maps
|
||||||
return Game.ModData.DefaultFileSystem.TryGetPackageContaining(path, out package, out filename);
|
return Game.ModData.DefaultFileSystem.TryGetPackageContaining(path, out package, out filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool TryOpen(string filename, out Stream s)
|
public bool TryOpen(string filename, out Stream s)
|
||||||
{
|
{
|
||||||
|
s = Container.GetStream(filename);
|
||||||
|
if (s != null)
|
||||||
|
return true;
|
||||||
|
|
||||||
return Game.ModData.DefaultFileSystem.TryOpen(filename, out s);
|
return Game.ModData.DefaultFileSystem.TryOpen(filename, out s);
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool Exists(string filename)
|
public bool Exists(string filename)
|
||||||
{
|
{
|
||||||
return Game.ModData.DefaultFileSystem.Exists(filename);
|
return Container.Contains(filename) || Game.ModData.DefaultFileSystem.Exists(filename);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -171,10 +171,6 @@ namespace OpenRA
|
|||||||
|
|
||||||
// Reinitialize all our assets
|
// Reinitialize all our assets
|
||||||
InitializeLoaders(map);
|
InitializeLoaders(map);
|
||||||
ModFiles.LoadFromManifest(Manifest);
|
|
||||||
|
|
||||||
// Mount map package so custom assets can be used.
|
|
||||||
ModFiles.Mount(ModFiles.OpenPackage(map.Path));
|
|
||||||
|
|
||||||
using (new Support.PerfTimer("Map.PreloadRules"))
|
using (new Support.PerfTimer("Map.PreloadRules"))
|
||||||
map.PreloadRules();
|
map.PreloadRules();
|
||||||
|
|||||||
Reference in New Issue
Block a user