From 74692bde664f812c6a30501c838cc4e7f0eccafe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Sun, 27 Oct 2013 09:22:10 +0100 Subject: [PATCH] load maps only from MapFolders defined separately in mod.yaml --- OpenRA.FileFormats/Manifest.cs | 3 ++- OpenRA.Game/ModData.cs | 2 +- mods/cnc/mod.yaml | 4 +++- mods/d2k/mod.yaml | 4 +++- mods/ra/mod.yaml | 4 +++- mods/ts/mod.yaml | 6 ++++-- 6 files changed, 16 insertions(+), 7 deletions(-) diff --git a/OpenRA.FileFormats/Manifest.cs b/OpenRA.FileFormats/Manifest.cs index 63ec0b0c38..43515a02e1 100644 --- a/OpenRA.FileFormats/Manifest.cs +++ b/OpenRA.FileFormats/Manifest.cs @@ -19,7 +19,7 @@ namespace OpenRA.FileFormats public class Manifest { public readonly string[] - Mods, Folders, Rules, ServerTraits, + Mods, Folders, MapFolders, Rules, ServerTraits, Sequences, VoxelSequences, Cursors, Chrome, Assemblies, ChromeLayout, Weapons, Voices, Notifications, Music, Movies, Translations, TileSets, ChromeMetrics, PackageContents; @@ -39,6 +39,7 @@ namespace OpenRA.FileFormats // TODO: Use fieldloader Folders = YamlList(yaml, "Folders"); + MapFolders = YamlList(yaml, "MapFolders"); Packages = yaml["Packages"].NodesDict.ToDictionary(x => x.Key, x => x.Value.Value); Rules = YamlList(yaml, "Rules"); ServerTraits = YamlList(yaml, "ServerTraits"); diff --git a/OpenRA.Game/ModData.cs b/OpenRA.Game/ModData.cs index ed67ec49c2..b736ef2840 100755 --- a/OpenRA.Game/ModData.cs +++ b/OpenRA.Game/ModData.cs @@ -149,7 +149,7 @@ namespace OpenRA Dictionary FindMaps() { - var paths = Manifest.Folders.SelectMany(f => FindMapsIn(f)); + var paths = Manifest.MapFolders.SelectMany(f => FindMapsIn(f)); var ret = new Dictionary(); diff --git a/mods/cnc/mod.yaml b/mods/cnc/mod.yaml index 721bfc229d..32ca45d723 100644 --- a/mods/cnc/mod.yaml +++ b/mods/cnc/mod.yaml @@ -8,9 +8,11 @@ Folders: . ./mods/cnc ./mods/cnc/bits - ./mods/cnc/maps ./mods/cnc/uibits ~^/Content/cnc + +MapFolders: + ./mods/cnc/maps ~^/maps/cnc Packages: diff --git a/mods/d2k/mod.yaml b/mods/d2k/mod.yaml index 4dfc9d9b6f..9f132f842a 100644 --- a/mods/d2k/mod.yaml +++ b/mods/d2k/mod.yaml @@ -8,12 +8,14 @@ Folders: . ./mods/d2k ./mods/d2k/bits - ./mods/d2k/maps ./mods/d2k/uibits ./mods/ra/uibits ~^/Content/d2k ~^/Content/d2k/GAMESFX ~^/Content/d2k/Music + +MapFolders: + ./mods/d2k/maps ~^/maps/d2k Packages: diff --git a/mods/ra/mod.yaml b/mods/ra/mod.yaml index e85e5c2f53..394eb836c9 100644 --- a/mods/ra/mod.yaml +++ b/mods/ra/mod.yaml @@ -9,9 +9,11 @@ Folders: ./mods/ra ./mods/ra/bits ./mods/ra/bits/desert - ./mods/ra/maps ./mods/ra/uibits ~^/Content/ra + +MapFolders: + ./mods/ra/maps ~^/maps/ra Packages: diff --git a/mods/ts/mod.yaml b/mods/ts/mod.yaml index 81bb6d7c5b..63adc87e73 100644 --- a/mods/ts/mod.yaml +++ b/mods/ts/mod.yaml @@ -9,13 +9,15 @@ Folders: # Tiberian Sun ./mods/ts ./mods/ts/bits - ./mods/ts/maps ./mods/ts/uibits ~^/Content/ts - ~^/maps/ts # Red Alert ./mods/ra/uibits +MapFolders: + ./mods/ts/maps + ~^/maps/ts + Packages: # Red Alert interior.mix