diff --git a/OpenRA.Game/FileSystem/FileSystem.cs b/OpenRA.Game/FileSystem/FileSystem.cs index c4cc10e314..1235d43ae8 100644 --- a/OpenRA.Game/FileSystem/FileSystem.cs +++ b/OpenRA.Game/FileSystem/FileSystem.cs @@ -19,8 +19,8 @@ namespace OpenRA.FileSystem { public class FileSystem { - public readonly List FolderPaths = new List(); - public readonly List MountedFolders = new List(); + public readonly List PackagePaths = new List(); + public readonly List MountedPackages = new List(); static readonly Dictionary AssemblyCache = new Dictionary(); @@ -83,8 +83,8 @@ namespace OpenRA.FileSystem public void Mount(IPackage mount) { - if (!MountedFolders.Contains(mount)) - MountedFolders.Add(mount); + if (!MountedPackages.Contains(mount)) + MountedPackages.Add(mount); } public void Mount(string name, string annotation = null) @@ -95,7 +95,7 @@ namespace OpenRA.FileSystem name = Platform.ResolvePath(name); - FolderPaths.Add(name); + PackagePaths.Add(name); Action a = () => MountInner(OpenPackage(name, annotation, order++)); if (optional) @@ -107,38 +107,38 @@ namespace OpenRA.FileSystem void MountInner(IPackage package) { - MountedFolders.Add(package); + MountedPackages.Add(package); foreach (var hash in package.ClassicHashes()) { - var folderList = classicHashIndex[hash]; - if (!folderList.Contains(package)) - folderList.Add(package); + var packageList = classicHashIndex[hash]; + if (!packageList.Contains(package)) + packageList.Add(package); } foreach (var hash in package.CrcHashes()) { - var folderList = crcHashIndex[hash]; - if (!folderList.Contains(package)) - folderList.Add(package); + var packageList = crcHashIndex[hash]; + if (!packageList.Contains(package)) + packageList.Add(package); } } public bool Unmount(IPackage mount) { - if (MountedFolders.Contains(mount)) + if (MountedPackages.Contains(mount)) mount.Dispose(); - return MountedFolders.RemoveAll(f => f == mount) > 0; + return MountedPackages.RemoveAll(f => f == mount) > 0; } public void UnmountAll() { - foreach (var folder in MountedFolders) - folder.Dispose(); + foreach (var package in MountedPackages) + package.Dispose(); - MountedFolders.Clear(); - FolderPaths.Clear(); + MountedPackages.Clear(); + PackagePaths.Clear(); classicHashIndex = new Cache>(_ => new List()); crcHashIndex = new Cache>(_ => new List()); } @@ -156,12 +156,12 @@ namespace OpenRA.FileSystem Stream GetFromCache(PackageHashType type, string filename) { var index = type == PackageHashType.CRC32 ? crcHashIndex : classicHashIndex; - var folder = index[PackageEntry.HashFilename(filename, type)] + var package = index[PackageEntry.HashFilename(filename, type)] .Where(x => x.Exists(filename)) .MinByOrDefault(x => x.Priority); - if (folder != null) - return folder.GetContent(filename); + if (package != null) + return package.GetContent(filename); return null; } @@ -178,20 +178,20 @@ namespace OpenRA.FileSystem public bool TryOpen(string name, out Stream s) { var filename = name; - var foldername = string.Empty; + var packageName = string.Empty; // Used for faction specific packages; rule out false positive on Windows C:\ drive notation - var explicitFolder = name.Contains(':') && !Directory.Exists(Path.GetDirectoryName(name)); - if (explicitFolder) + var explicitPackage = name.Contains(':') && !Directory.Exists(Path.GetDirectoryName(name)); + if (explicitPackage) { var divide = name.Split(':'); - foldername = divide.First(); + packageName = divide.First(); filename = divide.Last(); } // Check the cache for a quick lookup if the package name is unknown // TODO: This disables caching for explicit package requests - if (filename.IndexOfAny(new char[] { '/', '\\' }) == -1 && !explicitFolder) + if (filename.IndexOfAny(new[] { '/', '\\' }) == -1 && !explicitPackage) { s = GetFromCache(PackageHashType.Classic, filename); if (s != null) @@ -204,10 +204,10 @@ namespace OpenRA.FileSystem // Ask each package individually IPackage package; - if (explicitFolder && !string.IsNullOrEmpty(foldername)) - package = MountedFolders.Where(x => x.Name == foldername).MaxByOrDefault(x => x.Priority); + if (explicitPackage && !string.IsNullOrEmpty(packageName)) + package = MountedPackages.Where(x => x.Name == packageName).MaxByOrDefault(x => x.Priority); else - package = MountedFolders.Where(x => x.Exists(filename)).MaxByOrDefault(x => x.Priority); + package = MountedPackages.Where(x => x.Exists(filename)).MaxByOrDefault(x => x.Priority); if (package != null) { @@ -221,16 +221,16 @@ namespace OpenRA.FileSystem public bool Exists(string name) { - var explicitFolder = name.Contains(':') && !Directory.Exists(Path.GetDirectoryName(name)); - if (explicitFolder) + var explicitPackage = name.Contains(':') && !Directory.Exists(Path.GetDirectoryName(name)); + if (explicitPackage) { var divide = name.Split(':'); - var foldername = divide.First(); + var packageName = divide.First(); var filename = divide.Last(); - return MountedFolders.Where(n => n.Name == foldername).Any(f => f.Exists(filename)); + return MountedPackages.Where(n => n.Name == packageName).Any(f => f.Exists(filename)); } else - return MountedFolders.Any(f => f.Exists(name)); + return MountedPackages.Any(f => f.Exists(name)); } public static Assembly ResolveAssembly(object sender, ResolveEventArgs e) diff --git a/OpenRA.Mods.Common/Widgets/Logic/AssetBrowserLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/AssetBrowserLogic.cs index e2b1e3b8f0..b878bf343c 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/AssetBrowserLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/AssetBrowserLogic.cs @@ -50,7 +50,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic this.world = world; panel = widget; - assetSource = Game.ModData.ModFiles.MountedFolders.First(); + assetSource = Game.ModData.ModFiles.MountedPackages.First(); var ticker = panel.GetOrNull("ANIMATION_TICKER"); if (ticker != null) @@ -345,7 +345,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic // TODO: Re-enable "All Packages" once list generation is done in a background thread // var sources = new[] { (IPackage)null }.Concat(GlobalFileSystem.MountedFolders); - var sources = Game.ModData.ModFiles.MountedFolders; + var sources = Game.ModData.ModFiles.MountedPackages; dropdown.ShowDropDown("LABEL_DROPDOWN_TEMPLATE", 280, sources, setupItem); return true; }