Use '@' in mod.yaml to indicate extra info
Applies to MapFolders (to indicate System and User directories) and Packages (to indicate package annotation).
This commit is contained in:
@@ -160,8 +160,19 @@ namespace OpenRA
|
|||||||
if (!yaml.ContainsKey(key))
|
if (!yaml.ContainsKey(key))
|
||||||
return new ReadOnlyDictionary<string, string>();
|
return new ReadOnlyDictionary<string, string>();
|
||||||
|
|
||||||
Func<string, string> keySelector = parsePaths ? (Func<string, string>)Platform.ResolvePath : k => k;
|
var inner = new Dictionary<string, string>();
|
||||||
var inner = yaml[key].ToDictionary(keySelector, my => my.Value);
|
foreach (var node in yaml[key].Nodes)
|
||||||
|
{
|
||||||
|
// '@' may be used in mod.yaml to indicate extra information (similar to trait @ tags).
|
||||||
|
// Applies to MapFolders (to indicate System and User directories) and Packages (to indicate package annotation).
|
||||||
|
if (node.Key.Contains('@'))
|
||||||
|
{
|
||||||
|
var split = node.Key.Split('@');
|
||||||
|
inner.Add(split[0], split[1]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
inner.Add(node.Key, null);
|
||||||
|
}
|
||||||
|
|
||||||
return new ReadOnlyDictionary<string, string>(inner);
|
return new ReadOnlyDictionary<string, string>(inner);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,8 +18,8 @@ Folders:
|
|||||||
~^Content/cnc
|
~^Content/cnc
|
||||||
|
|
||||||
MapFolders:
|
MapFolders:
|
||||||
./mods/cnc/maps: System
|
./mods/cnc/maps@System
|
||||||
~^maps/cnc: User
|
~^maps/cnc@User
|
||||||
|
|
||||||
Packages:
|
Packages:
|
||||||
speech.mix
|
speech.mix
|
||||||
|
|||||||
@@ -20,8 +20,8 @@ Folders:
|
|||||||
~^Content/d2k/Music
|
~^Content/d2k/Music
|
||||||
|
|
||||||
MapFolders:
|
MapFolders:
|
||||||
./mods/d2k/maps: System
|
./mods/d2k/maps@System
|
||||||
~^maps/d2k: User
|
~^maps/d2k@User
|
||||||
|
|
||||||
Packages:
|
Packages:
|
||||||
SOUND.RS
|
SOUND.RS
|
||||||
|
|||||||
@@ -16,8 +16,8 @@ Folders:
|
|||||||
~^Content/ra
|
~^Content/ra
|
||||||
|
|
||||||
MapFolders:
|
MapFolders:
|
||||||
./mods/ra/maps: System
|
./mods/ra/maps@System
|
||||||
~^maps/ra: User
|
~^maps/ra@User
|
||||||
|
|
||||||
Packages:
|
Packages:
|
||||||
~main.mix
|
~main.mix
|
||||||
|
|||||||
@@ -15,49 +15,49 @@ Folders:
|
|||||||
~^Content/ts
|
~^Content/ts
|
||||||
|
|
||||||
MapFolders:
|
MapFolders:
|
||||||
./mods/ts/maps: System
|
./mods/ts/maps@System
|
||||||
~^maps/ts: User
|
~^maps/ts@User
|
||||||
|
|
||||||
Packages:
|
Packages:
|
||||||
# Tiberian Sun
|
# Tiberian Sun
|
||||||
~scores.mix:CRC32
|
~scores.mix@CRC32
|
||||||
~sidenc01.mix:CRC32
|
~sidenc01.mix@CRC32
|
||||||
~sidenc02.mix:CRC32
|
~sidenc02.mix@CRC32
|
||||||
~gmenu.mix:CRC32
|
~gmenu.mix@CRC32
|
||||||
~e01scd01.mix:CRC32
|
~e01scd01.mix@CRC32
|
||||||
~e01scd02.mix:CRC32
|
~e01scd02.mix@CRC32
|
||||||
~maps01.mix:CRC32
|
~maps01.mix@CRC32
|
||||||
~maps02.mix:CRC32
|
~maps02.mix@CRC32
|
||||||
~movies01.mix:CRC32
|
~movies01.mix@CRC32
|
||||||
~movies02.mix:CRC32
|
~movies02.mix@CRC32
|
||||||
~multi.mix:CRC32
|
~multi.mix@CRC32
|
||||||
~patch.mix:CRC32
|
~patch.mix@CRC32
|
||||||
~sidecd01.mix:CRC32
|
~sidecd01.mix@CRC32
|
||||||
~sidecd02.mix:CRC32
|
~sidecd02.mix@CRC32
|
||||||
~tibsun.mix:CRC32
|
~tibsun.mix@CRC32
|
||||||
cache.mix:CRC32
|
cache.mix@CRC32
|
||||||
conquer.mix:CRC32
|
conquer.mix@CRC32
|
||||||
isosnow.mix:CRC32
|
isosnow.mix@CRC32
|
||||||
isotemp.mix:CRC32
|
isotemp.mix@CRC32
|
||||||
local.mix:CRC32
|
local.mix@CRC32
|
||||||
sidec01.mix:CRC32
|
sidec01.mix@CRC32
|
||||||
sidec02.mix:CRC32
|
sidec02.mix@CRC32
|
||||||
sno.mix:CRC32
|
sno.mix@CRC32
|
||||||
snow.mix:CRC32
|
snow.mix@CRC32
|
||||||
sounds.mix:CRC32
|
sounds.mix@CRC32
|
||||||
speech01.mix:CRC32 # EVA
|
speech01.mix@CRC32 # EVA
|
||||||
speech02.mix:CRC32 # Cabal
|
speech02.mix@CRC32 # Cabal
|
||||||
tem.mix:CRC32
|
tem.mix@CRC32
|
||||||
temperat.mix:CRC32
|
temperat.mix@CRC32
|
||||||
# Firestorm
|
# Firestorm
|
||||||
~scores01.mix:CRC32
|
~scores01.mix@CRC32
|
||||||
~expand01.mix:CRC32
|
~expand01.mix@CRC32
|
||||||
~sounds01.mix:CRC32
|
~sounds01.mix@CRC32
|
||||||
~e01sc01.mix:CRC32
|
~e01sc01.mix@CRC32
|
||||||
~e01sc02.mix:CRC32
|
~e01sc02.mix@CRC32
|
||||||
~e01vox01.mix:CRC32
|
~e01vox01.mix@CRC32
|
||||||
~e01vox02.mix:CRC32
|
~e01vox02.mix@CRC32
|
||||||
~ecache01.mix:CRC32
|
~ecache01.mix@CRC32
|
||||||
|
|
||||||
Rules:
|
Rules:
|
||||||
./mods/ts/rules/ai.yaml
|
./mods/ts/rules/ai.yaml
|
||||||
|
|||||||
Reference in New Issue
Block a user