Fix filesystem references under Windows.

This commit is contained in:
Paul Chote
2016-02-19 16:17:22 +00:00
parent 00e95864b9
commit 34e6bfdfa0

View File

@@ -1178,7 +1178,8 @@ namespace OpenRA
// Placeholders for future implementation // Placeholders for future implementation
public Stream Open(string filename) public Stream Open(string filename)
{ {
if (Container.Contains(filename)) // Explicit package paths never refer to a map
if (!filename.Contains("|") && Container.Contains(filename))
return Container.GetStream(filename); return Container.GetStream(filename);
return Game.ModData.DefaultFileSystem.Open(filename); return Game.ModData.DefaultFileSystem.Open(filename);
@@ -1191,17 +1192,25 @@ namespace OpenRA
} }
public bool TryOpen(string filename, out Stream s) public bool TryOpen(string filename, out Stream s)
{
// Explicit package paths never refer to a map
if (!filename.Contains("|"))
{ {
s = Container.GetStream(filename); s = Container.GetStream(filename);
if (s != null) if (s != null)
return true; 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 Container.Contains(filename) || Game.ModData.DefaultFileSystem.Exists(filename); // Explicit package paths never refer to a map
if (!filename.Contains("|") && Container.Contains(filename))
return true;
return Game.ModData.DefaultFileSystem.Exists(filename);
} }
} }
} }