load maps only from MapFolders defined separately in mod.yaml

This commit is contained in:
Matthias Mailänder
2013-10-27 09:22:10 +01:00
parent c87c4cfda2
commit 74692bde66
6 changed files with 16 additions and 7 deletions

View File

@@ -19,7 +19,7 @@ namespace OpenRA.FileFormats
public class Manifest public class Manifest
{ {
public readonly string[] public readonly string[]
Mods, Folders, Rules, ServerTraits, Mods, Folders, MapFolders, Rules, ServerTraits,
Sequences, VoxelSequences, Cursors, Chrome, Assemblies, ChromeLayout, Sequences, VoxelSequences, Cursors, Chrome, Assemblies, ChromeLayout,
Weapons, Voices, Notifications, Music, Movies, Translations, TileSets, Weapons, Voices, Notifications, Music, Movies, Translations, TileSets,
ChromeMetrics, PackageContents; ChromeMetrics, PackageContents;
@@ -39,6 +39,7 @@ namespace OpenRA.FileFormats
// TODO: Use fieldloader // TODO: Use fieldloader
Folders = YamlList(yaml, "Folders"); Folders = YamlList(yaml, "Folders");
MapFolders = YamlList(yaml, "MapFolders");
Packages = yaml["Packages"].NodesDict.ToDictionary(x => x.Key, x => x.Value.Value); Packages = yaml["Packages"].NodesDict.ToDictionary(x => x.Key, x => x.Value.Value);
Rules = YamlList(yaml, "Rules"); Rules = YamlList(yaml, "Rules");
ServerTraits = YamlList(yaml, "ServerTraits"); ServerTraits = YamlList(yaml, "ServerTraits");

View File

@@ -149,7 +149,7 @@ namespace OpenRA
Dictionary<string, Map> FindMaps() Dictionary<string, Map> FindMaps()
{ {
var paths = Manifest.Folders.SelectMany(f => FindMapsIn(f)); var paths = Manifest.MapFolders.SelectMany(f => FindMapsIn(f));
var ret = new Dictionary<string, Map>(); var ret = new Dictionary<string, Map>();

View File

@@ -8,9 +8,11 @@ Folders:
. .
./mods/cnc ./mods/cnc
./mods/cnc/bits ./mods/cnc/bits
./mods/cnc/maps
./mods/cnc/uibits ./mods/cnc/uibits
~^/Content/cnc ~^/Content/cnc
MapFolders:
./mods/cnc/maps
~^/maps/cnc ~^/maps/cnc
Packages: Packages:

View File

@@ -8,12 +8,14 @@ Folders:
. .
./mods/d2k ./mods/d2k
./mods/d2k/bits ./mods/d2k/bits
./mods/d2k/maps
./mods/d2k/uibits ./mods/d2k/uibits
./mods/ra/uibits ./mods/ra/uibits
~^/Content/d2k ~^/Content/d2k
~^/Content/d2k/GAMESFX ~^/Content/d2k/GAMESFX
~^/Content/d2k/Music ~^/Content/d2k/Music
MapFolders:
./mods/d2k/maps
~^/maps/d2k ~^/maps/d2k
Packages: Packages:

View File

@@ -9,9 +9,11 @@ Folders:
./mods/ra ./mods/ra
./mods/ra/bits ./mods/ra/bits
./mods/ra/bits/desert ./mods/ra/bits/desert
./mods/ra/maps
./mods/ra/uibits ./mods/ra/uibits
~^/Content/ra ~^/Content/ra
MapFolders:
./mods/ra/maps
~^/maps/ra ~^/maps/ra
Packages: Packages:

View File

@@ -9,13 +9,15 @@ Folders:
# Tiberian Sun # Tiberian Sun
./mods/ts ./mods/ts
./mods/ts/bits ./mods/ts/bits
./mods/ts/maps
./mods/ts/uibits ./mods/ts/uibits
~^/Content/ts ~^/Content/ts
~^/maps/ts
# Red Alert # Red Alert
./mods/ra/uibits ./mods/ra/uibits
MapFolders:
./mods/ts/maps
~^/maps/ts
Packages: Packages:
# Red Alert # Red Alert
interior.mix interior.mix