Implement new syntax for mod-specific filesystem requests.

This commit is contained in:
Paul Chote
2016-02-06 18:58:16 +00:00
parent a0bc556172
commit a229e4253f
8 changed files with 448 additions and 450 deletions

View File

@@ -81,10 +81,16 @@ namespace OpenRA.FileSystem
if (optional) if (optional)
name = name.Substring(1); name = name.Substring(1);
Action a = () => Mount(OpenPackage(name), explicitName); var modPackage = name.StartsWith("$");
if (modPackage)
name = name.Substring(1);
Action a = () => Mount(modPackage ? ModMetadata.AllMods[name].Package : OpenPackage(name), explicitName);
if (optional) if (optional)
{
try { a(); } try { a(); }
catch { } catch { }
}
else else
a(); a();
} }

View File

@@ -74,23 +74,23 @@ namespace OpenRA
MiniYaml packages; MiniYaml packages;
if (yaml.TryGetValue("Packages", out packages)) if (yaml.TryGetValue("Packages", out packages))
Packages = packages.ToDictionary(x => Platform.ResolvePath(x), x => x.Value).AsReadOnly(); Packages = packages.ToDictionary(x => x.Value).AsReadOnly();
Rules = YamlList(yaml, "Rules", true); Rules = YamlList(yaml, "Rules");
Sequences = YamlList(yaml, "Sequences", true); Sequences = YamlList(yaml, "Sequences");
VoxelSequences = YamlList(yaml, "VoxelSequences", true); VoxelSequences = YamlList(yaml, "VoxelSequences");
Cursors = YamlList(yaml, "Cursors", true); Cursors = YamlList(yaml, "Cursors");
Chrome = YamlList(yaml, "Chrome", true); Chrome = YamlList(yaml, "Chrome");
Assemblies = YamlList(yaml, "Assemblies", true); Assemblies = YamlList(yaml, "Assemblies");
ChromeLayout = YamlList(yaml, "ChromeLayout", true); ChromeLayout = YamlList(yaml, "ChromeLayout");
Weapons = YamlList(yaml, "Weapons", true); Weapons = YamlList(yaml, "Weapons");
Voices = YamlList(yaml, "Voices", true); Voices = YamlList(yaml, "Voices");
Notifications = YamlList(yaml, "Notifications", true); Notifications = YamlList(yaml, "Notifications");
Music = YamlList(yaml, "Music", true); Music = YamlList(yaml, "Music");
Translations = YamlList(yaml, "Translations", true); Translations = YamlList(yaml, "Translations");
TileSets = YamlList(yaml, "TileSets", true); TileSets = YamlList(yaml, "TileSets");
ChromeMetrics = YamlList(yaml, "ChromeMetrics", true); ChromeMetrics = YamlList(yaml, "ChromeMetrics");
Missions = YamlList(yaml, "Missions", true); Missions = YamlList(yaml, "Missions");
ServerTraits = YamlList(yaml, "ServerTraits"); ServerTraits = YamlList(yaml, "ServerTraits");
@@ -101,10 +101,10 @@ namespace OpenRA
throw new InvalidDataException("`LobbyDefaults` section is not defined."); throw new InvalidDataException("`LobbyDefaults` section is not defined.");
Fonts = yaml["Fonts"].ToDictionary(my => Fonts = yaml["Fonts"].ToDictionary(my =>
{ {
var nd = my.ToDictionary(); var nd = my.ToDictionary();
return Pair.New(nd["Font"].Value, Exts.ParseIntegerInvariant(nd["Size"].Value)); return Pair.New(nd["Font"].Value, Exts.ParseIntegerInvariant(nd["Size"].Value));
}); });
RequiresMods = yaml["RequiresMods"].ToDictionary(my => my.Value); RequiresMods = yaml["RequiresMods"].ToDictionary(my => my.Value);
@@ -157,9 +157,6 @@ namespace OpenRA
if (!yaml.ContainsKey(key)) if (!yaml.ContainsKey(key))
return new string[] { }; return new string[] { };
if (parsePaths)
return yaml[key].Nodes.Select(node => Platform.ResolvePath(node.Key, node.Value.Value ?? string.Empty)).ToArray();
return yaml[key].ToDictionary().Keys.ToArray(); return yaml[key].ToDictionary().Keys.ToArray();
} }

View File

@@ -100,14 +100,6 @@ namespace OpenRA
{ {
path = path.TrimEnd(new char[] { ' ', '\t' }); path = path.TrimEnd(new char[] { ' ', '\t' });
// If the path contains ':', chances are it is a package path.
// If it isn't, someone passed an already resolved path, which is wrong.
if (path.IndexOf(":", StringComparison.Ordinal) > 1)
{
var split = path.Split(':');
return ResolvePath(split[0], split[1]);
}
// paths starting with ^ are relative to the support dir // paths starting with ^ are relative to the support dir
if (path.StartsWith("^")) if (path.StartsWith("^"))
path = SupportDir + path.Substring(1); path = SupportDir + path.Substring(1);
@@ -119,16 +111,6 @@ namespace OpenRA
return path; return path;
} }
/// <summary>Replaces package names with full paths. Avoid using this for non-package paths.</summary>
public static string ResolvePath(string package, string target)
{
// Resolve mod package paths.
if (ModMetadata.AllMods.ContainsKey(package))
package = ModMetadata.AllMods[package].Package.Name;
return ResolvePath(Path.Combine(package, target));
}
/// <summary>Replace special character prefixes with full paths.</summary> /// <summary>Replace special character prefixes with full paths.</summary>
public static string ResolvePath(params string[] path) public static string ResolvePath(params string[] path)
{ {

View File

@@ -10,7 +10,8 @@ RequiresMods:
Packages: Packages:
~^Content/cnc ~^Content/cnc
. .
./mods/cnc $cnc: cnc
./mods/common: common
speech.mix speech.mix
conquer.mix conquer.mix
sounds.mix sounds.mix
@@ -24,122 +25,122 @@ Packages:
~scores.mix ~scores.mix
~scores2.mix ~scores2.mix
~transit.mix ~transit.mix
./mods/cnc/bits/snow.mix cnc|bits/snow.mix
./mods/cnc/bits cnc|bits
./mods/cnc/bits/jungle cnc|bits/jungle
./mods/cnc/bits/desert cnc|bits/desert
./mods/cnc/bits/ss cnc|bits/ss
./mods/cnc/uibits cnc|uibits
MapFolders: MapFolders:
./mods/cnc/maps@System ./mods/cnc/maps@System
~^maps/cnc/{DEV_VERSION}@User ~^maps/cnc/{DEV_VERSION}@User
Rules: Rules:
./mods/cnc/rules/misc.yaml cnc|rules/misc.yaml
./mods/cnc/rules/ai.yaml cnc|rules/ai.yaml
./mods/cnc/rules/player.yaml cnc|rules/player.yaml
./mods/cnc/rules/world.yaml cnc|rules/world.yaml
./mods/cnc/rules/palettes.yaml cnc|rules/palettes.yaml
./mods/cnc/rules/defaults.yaml cnc|rules/defaults.yaml
./mods/cnc/rules/structures.yaml cnc|rules/structures.yaml
./mods/cnc/rules/infantry.yaml cnc|rules/infantry.yaml
./mods/cnc/rules/vehicles.yaml cnc|rules/vehicles.yaml
./mods/cnc/rules/trees.yaml cnc|rules/trees.yaml
./mods/cnc/rules/civilian.yaml cnc|rules/civilian.yaml
./mods/cnc/rules/civilian-desert.yaml cnc|rules/civilian-desert.yaml
./mods/cnc/rules/tech.yaml cnc|rules/tech.yaml
./mods/cnc/rules/ships.yaml cnc|rules/ships.yaml
./mods/cnc/rules/aircraft.yaml cnc|rules/aircraft.yaml
./mods/cnc/rules/husks.yaml cnc|rules/husks.yaml
Sequences: Sequences:
./mods/cnc/sequences/structures.yaml cnc|sequences/structures.yaml
./mods/cnc/sequences/vehicles.yaml cnc|sequences/vehicles.yaml
./mods/cnc/sequences/infantry.yaml cnc|sequences/infantry.yaml
./mods/cnc/sequences/aircraft.yaml cnc|sequences/aircraft.yaml
./mods/cnc/sequences/decorations.yaml cnc|sequences/decorations.yaml
./mods/cnc/sequences/misc.yaml cnc|sequences/misc.yaml
./mods/cnc/sequences/funpark.yaml cnc|sequences/funpark.yaml
./mods/cnc/sequences/civilian.yaml cnc|sequences/civilian.yaml
./mods/cnc/sequences/campaign.yaml cnc|sequences/campaign.yaml
TileSets: TileSets:
./mods/cnc/tilesets/desert.yaml cnc|tilesets/desert.yaml
./mods/cnc/tilesets/winter.yaml cnc|tilesets/winter.yaml
./mods/cnc/tilesets/snow.yaml cnc|tilesets/snow.yaml
./mods/cnc/tilesets/temperat.yaml cnc|tilesets/temperat.yaml
./mods/cnc/tilesets/jungle.yaml cnc|tilesets/jungle.yaml
Weapons: Weapons:
./mods/cnc/weapons/explosions.yaml cnc|weapons/explosions.yaml
./mods/cnc/weapons/largecaliber.yaml cnc|weapons/largecaliber.yaml
./mods/cnc/weapons/missiles.yaml cnc|weapons/missiles.yaml
./mods/cnc/weapons/other.yaml cnc|weapons/other.yaml
./mods/cnc/weapons/smallcaliber.yaml cnc|weapons/smallcaliber.yaml
./mods/cnc/weapons/superweapons.yaml cnc|weapons/superweapons.yaml
Cursors: Cursors:
./mods/cnc/cursors.yaml cnc|cursors.yaml
Chrome: Chrome:
./mods/cnc/chrome.yaml cnc|chrome.yaml
Assemblies: Assemblies:
./mods/common/OpenRA.Mods.Common.dll common|OpenRA.Mods.Common.dll
./mods/cnc/OpenRA.Mods.Cnc.dll cnc|OpenRA.Mods.Cnc.dll
ChromeLayout: ChromeLayout:
./mods/cnc/chrome/mainmenu.yaml cnc|chrome/mainmenu.yaml
./mods/cnc/chrome/multiplayer.yaml cnc|chrome/multiplayer.yaml
./mods/cnc/chrome/multiplayer-browser.yaml cnc|chrome/multiplayer-browser.yaml
./mods/cnc/chrome/multiplayer-createserver.yaml cnc|chrome/multiplayer-createserver.yaml
./mods/cnc/chrome/multiplayer-directconnect.yaml cnc|chrome/multiplayer-directconnect.yaml
./mods/cnc/chrome/multiplayer-globalchat.yaml cnc|chrome/multiplayer-globalchat.yaml
./mods/cnc/chrome/lobby.yaml cnc|chrome/lobby.yaml
./mods/cnc/chrome/lobby-mappreview.yaml cnc|chrome/lobby-mappreview.yaml
./mods/cnc/chrome/lobby-players.yaml cnc|chrome/lobby-players.yaml
./mods/cnc/chrome/lobby-options.yaml cnc|chrome/lobby-options.yaml
./mods/cnc/chrome/lobby-music.yaml cnc|chrome/lobby-music.yaml
./mods/cnc/chrome/lobby-kickdialogs.yaml cnc|chrome/lobby-kickdialogs.yaml
./mods/cnc/chrome/lobby-globalchat.yaml cnc|chrome/lobby-globalchat.yaml
./mods/cnc/chrome/connection.yaml cnc|chrome/connection.yaml
./mods/cnc/chrome/color-picker.yaml cnc|chrome/color-picker.yaml
./mods/cnc/chrome/mapchooser.yaml cnc|chrome/mapchooser.yaml
./mods/cnc/chrome/replaybrowser.yaml cnc|chrome/replaybrowser.yaml
./mods/cnc/chrome/ingame.yaml cnc|chrome/ingame.yaml
./mods/cnc/chrome/ingame-chat.yaml cnc|chrome/ingame-chat.yaml
./mods/cnc/chrome/ingame-menu.yaml cnc|chrome/ingame-menu.yaml
./mods/cnc/chrome/ingame-debug.yaml cnc|chrome/ingame-debug.yaml
./mods/cnc/chrome/ingame-info.yaml cnc|chrome/ingame-info.yaml
./mods/cnc/chrome/ingame-infobriefing.yaml cnc|chrome/ingame-infobriefing.yaml
./mods/cnc/chrome/ingame-infoscripterror.yaml cnc|chrome/ingame-infoscripterror.yaml
./mods/cnc/chrome/ingame-infoobjectives.yaml cnc|chrome/ingame-infoobjectives.yaml
./mods/cnc/chrome/ingame-infostats.yaml cnc|chrome/ingame-infostats.yaml
./mods/cnc/chrome/ingame-observerstats.yaml cnc|chrome/ingame-observerstats.yaml
./mods/cnc/chrome/music.yaml cnc|chrome/music.yaml
./mods/cnc/chrome/settings.yaml cnc|chrome/settings.yaml
./mods/cnc/chrome/credits.yaml cnc|chrome/credits.yaml
./mods/cnc/chrome/dialogs.yaml cnc|chrome/dialogs.yaml
./mods/cnc/chrome/tooltips.yaml cnc|chrome/tooltips.yaml
./mods/cnc/chrome/assetbrowser.yaml cnc|chrome/assetbrowser.yaml
./mods/cnc/chrome/missionbrowser.yaml cnc|chrome/missionbrowser.yaml
./mods/cnc/chrome/editor.yaml cnc|chrome/editor.yaml
Voices: Voices:
./mods/cnc/audio/voices.yaml cnc|audio/voices.yaml
Notifications: Notifications:
./mods/cnc/audio/notifications.yaml cnc|audio/notifications.yaml
Music: Music:
./mods/cnc/audio/music.yaml cnc|audio/music.yaml
Translations: Translations:
./mods/cnc/languages/english.yaml cnc|languages/english.yaml
LoadScreen: CncLoadScreen LoadScreen: CncLoadScreen
Image: ./mods/cnc/uibits/chrome.png Image: cnc|uibits/chrome.png
Text: Loading Text: Loading
ContentInstaller: ContentInstaller:
@@ -171,33 +172,33 @@ LobbyDefaults:
TechLevel: Unrestricted TechLevel: Unrestricted
ChromeMetrics: ChromeMetrics:
./mods/common/metrics.yaml common|metrics.yaml
./mods/cnc/metrics.yaml cnc|metrics.yaml
Fonts: Fonts:
Small: Small:
Font:./mods/common/FreeSans.ttf Font: common|FreeSans.ttf
Size:12 Size:12
Regular: Regular:
Font:./mods/common/FreeSans.ttf Font: common|FreeSans.ttf
Size:14 Size:14
Bold: Bold:
Font:./mods/common/FreeSansBold.ttf Font: common|FreeSansBold.ttf
Size:14 Size:14
Title: Title:
Font:./mods/common/FreeSansBold.ttf Font: common|FreeSansBold.ttf
Size:32 Size:32
MediumBold: MediumBold:
Font:./mods/common/FreeSansBold.ttf Font: common|FreeSansBold.ttf
Size:18 Size:18
BigBold: BigBold:
Font:./mods/common/FreeSansBold.ttf Font: common|FreeSansBold.ttf
Size:24 Size:24
Tiny: Tiny:
Font:./mods/common/FreeSans.ttf Font: common|FreeSans.ttf
Size:10 Size:10
TinyBold: TinyBold:
Font:./mods/common/FreeSansBold.ttf Font: common|FreeSansBold.ttf
Size:10 Size:10
Missions: Missions:

View File

@@ -13,120 +13,124 @@ Packages:
~^Content/d2k/Movies ~^Content/d2k/Movies
~^Content/d2k/Music ~^Content/d2k/Music
. .
d2k: $d2k: d2k
$ra: ra
$cnc: cnc
./mods/common: common
SOUND.RS SOUND.RS
d2k:bits d2k|bits
d2k:bits/tex d2k|bits/tex
d2k:bits/xmas d2k|bits/xmas
d2k:uibits d2k|uibits
MapFolders: MapFolders:
d2k:maps@System ./mods/d2k/maps@System
~^maps/d2k/{DEV_VERSION}@User ~^maps/d2k/{DEV_VERSION}@User
Rules: Rules:
d2k:rules/misc.yaml d2k|rules/misc.yaml
d2k:rules/ai.yaml d2k|rules/ai.yaml
d2k:rules/player.yaml d2k|rules/player.yaml
d2k:rules/world.yaml d2k|rules/world.yaml
d2k:rules/palettes.yaml d2k|rules/palettes.yaml
d2k:rules/defaults.yaml d2k|rules/defaults.yaml
d2k:rules/vehicles.yaml d2k|rules/vehicles.yaml
d2k:rules/starport.yaml d2k|rules/starport.yaml
d2k:rules/husks.yaml d2k|rules/husks.yaml
d2k:rules/structures.yaml d2k|rules/structures.yaml
d2k:rules/aircraft.yaml d2k|rules/aircraft.yaml
d2k:rules/infantry.yaml d2k|rules/infantry.yaml
d2k:rules/arrakis.yaml d2k|rules/arrakis.yaml
Sequences: Sequences:
d2k:sequences/aircraft.yaml d2k|sequences/aircraft.yaml
d2k:sequences/vehicles.yaml d2k|sequences/vehicles.yaml
d2k:sequences/infantry.yaml d2k|sequences/infantry.yaml
d2k:sequences/structures.yaml d2k|sequences/structures.yaml
d2k:sequences/misc.yaml d2k|sequences/misc.yaml
TileSets: TileSets:
d2k:tilesets/arrakis.yaml d2k|tilesets/arrakis.yaml
MapGrid: MapGrid:
TileSize: 32,32 TileSize: 32,32
Type: Rectangular Type: Rectangular
Cursors: Cursors:
d2k:cursors.yaml d2k|cursors.yaml
Chrome: Chrome:
d2k:chrome.yaml d2k|chrome.yaml
Assemblies: Assemblies:
./mods/common/OpenRA.Mods.Common.dll common|OpenRA.Mods.Common.dll
./mods/cnc/OpenRA.Mods.Cnc.dll cnc|OpenRA.Mods.Cnc.dll
./mods/d2k/OpenRA.Mods.D2k.dll d2k|OpenRA.Mods.D2k.dll
ChromeLayout: ChromeLayout:
d2k:chrome/ingame.yaml d2k|chrome/ingame.yaml
./mods/ra/chrome/ingame-chat.yaml ra|chrome/ingame-chat.yaml
./mods/ra/chrome/ingame-fmvplayer.yaml ra|chrome/ingame-fmvplayer.yaml
d2k:chrome/ingame-menu.yaml d2k|chrome/ingame-menu.yaml
./mods/ra/chrome/ingame-info.yaml ra|chrome/ingame-info.yaml
./mods/ra/chrome/ingame-infoscripterror.yaml ra|chrome/ingame-infoscripterror.yaml
./mods/ra/chrome/ingame-infobriefing.yaml ra|chrome/ingame-infobriefing.yaml
./mods/ra/chrome/ingame-infoobjectives.yaml ra|chrome/ingame-infoobjectives.yaml
d2k:chrome/ingame-infostats.yaml d2k|chrome/ingame-infostats.yaml
d2k:chrome/ingame-observer.yaml d2k|chrome/ingame-observer.yaml
./mods/ra/chrome/ingame-observerstats.yaml ra|chrome/ingame-observerstats.yaml
d2k:chrome/ingame-player.yaml d2k|chrome/ingame-player.yaml
./mods/ra/chrome/ingame-perf.yaml ra|chrome/ingame-perf.yaml
./mods/ra/chrome/ingame-debug.yaml ra|chrome/ingame-debug.yaml
d2k:chrome/mainmenu.yaml d2k|chrome/mainmenu.yaml
./mods/ra/chrome/settings.yaml ra|chrome/settings.yaml
./mods/ra/chrome/credits.yaml ra|chrome/credits.yaml
./mods/ra/chrome/lobby.yaml ra|chrome/lobby.yaml
./mods/ra/chrome/lobby-mappreview.yaml ra|chrome/lobby-mappreview.yaml
d2k:chrome/lobby-players.yaml d2k|chrome/lobby-players.yaml
d2k:chrome/lobby-options.yaml d2k|chrome/lobby-options.yaml
./mods/ra/chrome/lobby-music.yaml ra|chrome/lobby-music.yaml
./mods/ra/chrome/lobby-kickdialogs.yaml ra|chrome/lobby-kickdialogs.yaml
./mods/ra/chrome/lobby-globalchat.yaml ra|chrome/lobby-globalchat.yaml
d2k:chrome/color-picker.yaml d2k|chrome/color-picker.yaml
./mods/ra/chrome/map-chooser.yaml ra|chrome/map-chooser.yaml
./mods/ra/chrome/multiplayer.yaml ra|chrome/multiplayer.yaml
./mods/ra/chrome/multiplayer-browser.yaml ra|chrome/multiplayer-browser.yaml
./mods/ra/chrome/multiplayer-createserver.yaml ra|chrome/multiplayer-createserver.yaml
./mods/ra/chrome/multiplayer-directconnect.yaml ra|chrome/multiplayer-directconnect.yaml
./mods/ra/chrome/multiplayer-globalchat.yaml ra|chrome/multiplayer-globalchat.yaml
./mods/ra/chrome/connection.yaml ra|chrome/connection.yaml
d2k:chrome/dropdowns.yaml d2k|chrome/dropdowns.yaml
./mods/ra/chrome/musicplayer.yaml ra|chrome/musicplayer.yaml
d2k:chrome/tooltips.yaml d2k|chrome/tooltips.yaml
./mods/ra/chrome/assetbrowser.yaml ra|chrome/assetbrowser.yaml
d2k:chrome/missionbrowser.yaml d2k|chrome/missionbrowser.yaml
./mods/ra/chrome/confirmation-dialogs.yaml ra|chrome/confirmation-dialogs.yaml
./mods/ra/chrome/editor.yaml ra|chrome/editor.yaml
./mods/ra/chrome/replaybrowser.yaml ra|chrome/replaybrowser.yaml
Weapons: Weapons:
d2k:weapons/debris.yaml d2k|weapons/debris.yaml
d2k:weapons/smallguns.yaml d2k|weapons/smallguns.yaml
d2k:weapons/largeguns.yaml d2k|weapons/largeguns.yaml
d2k:weapons/missiles.yaml d2k|weapons/missiles.yaml
d2k:weapons/other.yaml d2k|weapons/other.yaml
Voices: Voices:
d2k:audio/voices.yaml d2k|audio/voices.yaml
Notifications: Notifications:
d2k:audio/notifications.yaml d2k|audio/notifications.yaml
Music: Music:
d2k:audio/music.yaml d2k|audio/music.yaml
Translations: Translations:
d2k:languages/english.yaml d2k|languages/english.yaml
LoadScreen: LogoStripeLoadScreen LoadScreen: LogoStripeLoadScreen
Image: ./mods/d2k/uibits/loadscreen.png Image: d2k|uibits/loadscreen.png
Text: Filling Crates..., Breeding Sandworms..., Fuelling carryalls..., Deploying harvesters..., Preparing 'thopters..., Summoning mentats... Text: Filling Crates..., Breeding Sandworms..., Fuelling carryalls..., Deploying harvesters..., Preparing 'thopters..., Summoning mentats...
ContentInstaller: ContentInstaller:
@@ -161,37 +165,37 @@ LobbyDefaults:
TechLevel: Unrestricted TechLevel: Unrestricted
ChromeMetrics: ChromeMetrics:
./mods/common/metrics.yaml common|metrics.yaml
d2k:metrics.yaml d2k|metrics.yaml
Fonts: Fonts:
Regular: Regular:
Font:./mods/common/FreeSans.ttf Font: common|FreeSans.ttf
Size:14 Size:14
Bold: Bold:
Font:./mods/common/FreeSansBold.ttf Font: common|FreeSansBold.ttf
Size:14 Size:14
Title: Title:
Font:./mods/d2k/Dune2k.ttf Font: d2k|Dune2k.ttf
Size:32 Size:32
MediumBold: MediumBold:
Font:./mods/common/FreeSansBold.ttf Font: common|FreeSansBold.ttf
Size:18 Size:18
BigBold: BigBold:
Font:./mods/common/FreeSansBold.ttf Font: common|FreeSansBold.ttf
Size:24 Size:24
Small: Small:
Font:./mods/common/FreeSans.ttf Font: common|FreeSans.ttf
Size:12 Size:12
Tiny: Tiny:
Font:./mods/common/FreeSans.ttf Font: common|FreeSans.ttf
Size:10 Size:10
TinyBold: TinyBold:
Font:./mods/common/FreeSansBold.ttf Font: common|FreeSansBold.ttf
Size:10 Size:10
Missions: Missions:
d2k:missions.yaml d2k|missions.yaml
SupportsMapsFrom: d2k SupportsMapsFrom: d2k

View File

@@ -8,48 +8,49 @@ RequiresMods:
Packages: Packages:
. .
./mods/modchooser ./mods/modchooser: modchooser
./mods/common: common
Cursors: Cursors:
./mods/modchooser/cursors.yaml modchooser|cursors.yaml
Chrome: Chrome:
./mods/modchooser/chrome.yaml modchooser|chrome.yaml
Assemblies: Assemblies:
./mods/common/OpenRA.Mods.Common.dll common|OpenRA.Mods.Common.dll
ChromeLayout: ChromeLayout:
./mods/modchooser/modchooser.yaml modchooser|modchooser.yaml
./mods/modchooser/install.yaml modchooser|install.yaml
Notifications: Notifications:
./mods/modchooser/notifications.yaml modchooser|notifications.yaml
LoadScreen: ModChooserLoadScreen LoadScreen: ModChooserLoadScreen
Image: ./mods/modchooser/chrome.png Image: ./mods/modchooser/chrome.png
ChromeMetrics: ChromeMetrics:
./mods/modchooser/metrics.yaml modchooser|metrics.yaml
Fonts: Fonts:
Regular: Regular:
Font:./mods/common/FreeSans.ttf Font: common|FreeSans.ttf
Size:14 Size:14
Bold: Bold:
Font:./mods/common/FreeSansBold.ttf Font: common|FreeSansBold.ttf
Size:14 Size:14
BigBold: BigBold:
Font:./mods/common/FreeSansBold.ttf Font: common|FreeSansBold.ttf
Size:24 Size:24
MediumBold: MediumBold:
Font:./mods/common/FreeSansBold.ttf Font: common|FreeSansBold.ttf
Size:18 Size:18
Tiny: Tiny:
Font:./mods/common/FreeSans.ttf Font: common|FreeSans.ttf
Size:10 Size:10
TinyBold: TinyBold:
Font:./mods/common/FreeSansBold.ttf Font: common|FreeSansBold.ttf
Size:10 Size:10
LobbyDefaults: LobbyDefaults:

View File

@@ -10,7 +10,9 @@ RequiresMods:
Packages: Packages:
~^Content/ra ~^Content/ra
. .
./mods/ra $ra: ra
$cnc: cnc
./mods/common: common
~main.mix ~main.mix
redalert.mix redalert.mix
conquer.mix conquer.mix
@@ -26,121 +28,121 @@ Packages:
~scores.mix ~scores.mix
~movies1.mix ~movies1.mix
~movies2.mix ~movies2.mix
./mods/ra/bits ra|bits
./mods/ra/bits/desert ra|bits/desert
./mods/ra/uibits ra|uibits
MapFolders: MapFolders:
./mods/ra/maps@System ./mods/ra/maps@System
~^maps/ra/{DEV_VERSION}@User ~^maps/ra/{DEV_VERSION}@User
Rules: Rules:
./mods/ra/rules/misc.yaml ra|rules/misc.yaml
./mods/ra/rules/ai.yaml ra|rules/ai.yaml
./mods/ra/rules/player.yaml ra|rules/player.yaml
./mods/ra/rules/palettes.yaml ra|rules/palettes.yaml
./mods/ra/rules/world.yaml ra|rules/world.yaml
./mods/ra/rules/defaults.yaml ra|rules/defaults.yaml
./mods/ra/rules/vehicles.yaml ra|rules/vehicles.yaml
./mods/ra/rules/husks.yaml ra|rules/husks.yaml
./mods/ra/rules/structures.yaml ra|rules/structures.yaml
./mods/ra/rules/infantry.yaml ra|rules/infantry.yaml
./mods/ra/rules/civilian.yaml ra|rules/civilian.yaml
./mods/ra/rules/decoration.yaml ra|rules/decoration.yaml
./mods/ra/rules/aircraft.yaml ra|rules/aircraft.yaml
./mods/ra/rules/ships.yaml ra|rules/ships.yaml
./mods/ra/rules/fakes.yaml ra|rules/fakes.yaml
Sequences: Sequences:
./mods/ra/sequences/ships.yaml ra|sequences/ships.yaml
./mods/ra/sequences/vehicles.yaml ra|sequences/vehicles.yaml
./mods/ra/sequences/structures.yaml ra|sequences/structures.yaml
./mods/ra/sequences/infantry.yaml ra|sequences/infantry.yaml
./mods/ra/sequences/aircraft.yaml ra|sequences/aircraft.yaml
./mods/ra/sequences/misc.yaml ra|sequences/misc.yaml
./mods/ra/sequences/decorations.yaml ra|sequences/decorations.yaml
TileSets: TileSets:
./mods/ra/tilesets/snow.yaml ra|tilesets/snow.yaml
./mods/ra/tilesets/interior.yaml ra|tilesets/interior.yaml
./mods/ra/tilesets/temperat.yaml ra|tilesets/temperat.yaml
./mods/ra/tilesets/desert.yaml ra|tilesets/desert.yaml
Cursors: Cursors:
./mods/ra/cursors.yaml ra|cursors.yaml
Chrome: Chrome:
./mods/ra/chrome.yaml ra|chrome.yaml
Assemblies: Assemblies:
./mods/common/OpenRA.Mods.Common.dll common|OpenRA.Mods.Common.dll
./mods/ra/OpenRA.Mods.RA.dll ra|OpenRA.Mods.RA.dll
./mods/cnc/OpenRA.Mods.Cnc.dll cnc|OpenRA.Mods.Cnc.dll
ChromeLayout: ChromeLayout:
./mods/ra/chrome/ingame.yaml ra|chrome/ingame.yaml
./mods/ra/chrome/ingame-chat.yaml ra|chrome/ingame-chat.yaml
./mods/ra/chrome/ingame-fmvplayer.yaml ra|chrome/ingame-fmvplayer.yaml
./mods/ra/chrome/ingame-info.yaml ra|chrome/ingame-info.yaml
./mods/ra/chrome/ingame-infoscripterror.yaml ra|chrome/ingame-infoscripterror.yaml
./mods/ra/chrome/ingame-infobriefing.yaml ra|chrome/ingame-infobriefing.yaml
./mods/ra/chrome/ingame-infoobjectives.yaml ra|chrome/ingame-infoobjectives.yaml
./mods/ra/chrome/ingame-infostats.yaml ra|chrome/ingame-infostats.yaml
./mods/ra/chrome/ingame-menu.yaml ra|chrome/ingame-menu.yaml
./mods/ra/chrome/ingame-observer.yaml ra|chrome/ingame-observer.yaml
./mods/ra/chrome/ingame-observerstats.yaml ra|chrome/ingame-observerstats.yaml
./mods/ra/chrome/ingame-player.yaml ra|chrome/ingame-player.yaml
./mods/ra/chrome/ingame-perf.yaml ra|chrome/ingame-perf.yaml
./mods/ra/chrome/ingame-debug.yaml ra|chrome/ingame-debug.yaml
./mods/ra/chrome/mainmenu.yaml ra|chrome/mainmenu.yaml
./mods/ra/chrome/settings.yaml ra|chrome/settings.yaml
./mods/ra/chrome/credits.yaml ra|chrome/credits.yaml
./mods/ra/chrome/lobby.yaml ra|chrome/lobby.yaml
./mods/ra/chrome/lobby-mappreview.yaml ra|chrome/lobby-mappreview.yaml
./mods/ra/chrome/lobby-players.yaml ra|chrome/lobby-players.yaml
./mods/ra/chrome/lobby-options.yaml ra|chrome/lobby-options.yaml
./mods/ra/chrome/lobby-music.yaml ra|chrome/lobby-music.yaml
./mods/ra/chrome/lobby-kickdialogs.yaml ra|chrome/lobby-kickdialogs.yaml
./mods/ra/chrome/lobby-globalchat.yaml ra|chrome/lobby-globalchat.yaml
./mods/ra/chrome/color-picker.yaml ra|chrome/color-picker.yaml
./mods/ra/chrome/map-chooser.yaml ra|chrome/map-chooser.yaml
./mods/ra/chrome/multiplayer.yaml ra|chrome/multiplayer.yaml
./mods/ra/chrome/multiplayer-browser.yaml ra|chrome/multiplayer-browser.yaml
./mods/ra/chrome/multiplayer-createserver.yaml ra|chrome/multiplayer-createserver.yaml
./mods/ra/chrome/multiplayer-directconnect.yaml ra|chrome/multiplayer-directconnect.yaml
./mods/ra/chrome/multiplayer-globalchat.yaml ra|chrome/multiplayer-globalchat.yaml
./mods/ra/chrome/connection.yaml ra|chrome/connection.yaml
./mods/ra/chrome/replaybrowser.yaml ra|chrome/replaybrowser.yaml
./mods/ra/chrome/dropdowns.yaml ra|chrome/dropdowns.yaml
./mods/ra/chrome/musicplayer.yaml ra|chrome/musicplayer.yaml
./mods/ra/chrome/tooltips.yaml ra|chrome/tooltips.yaml
./mods/ra/chrome/assetbrowser.yaml ra|chrome/assetbrowser.yaml
./mods/ra/chrome/missionbrowser.yaml ra|chrome/missionbrowser.yaml
./mods/ra/chrome/confirmation-dialogs.yaml ra|chrome/confirmation-dialogs.yaml
./mods/ra/chrome/editor.yaml ra|chrome/editor.yaml
Weapons: Weapons:
./mods/ra/weapons/explosions.yaml ra|weapons/explosions.yaml
./mods/ra/weapons/largecaliber.yaml ra|weapons/largecaliber.yaml
./mods/ra/weapons/missiles.yaml ra|weapons/missiles.yaml
./mods/ra/weapons/other.yaml ra|weapons/other.yaml
./mods/ra/weapons/smallcaliber.yaml ra|weapons/smallcaliber.yaml
./mods/ra/weapons/superweapons.yaml ra|weapons/superweapons.yaml
Voices: Voices:
./mods/ra/audio/voices.yaml ra|audio/voices.yaml
Notifications: Notifications:
./mods/ra/audio/notifications.yaml ra|audio/notifications.yaml
Music: Music:
./mods/ra/audio/music.yaml ra|audio/music.yaml
Translations: Translations:
./mods/ra/languages/english.yaml ra|languages/english.yaml
LoadScreen: LogoStripeLoadScreen LoadScreen: LogoStripeLoadScreen
Image: ./mods/ra/uibits/loadscreen.png Image: ra|uibits/loadscreen.png
Text: Filling Crates..., Charging Capacitors..., Reticulating Splines..., Planting Trees..., Building Bridges..., Aging Empires..., Compiling EVA..., Constructing Pylons..., Activating Skynet..., Splitting Atoms... Text: Filling Crates..., Charging Capacitors..., Reticulating Splines..., Planting Trees..., Building Bridges..., Aging Empires..., Compiling EVA..., Constructing Pylons..., Activating Skynet..., Splitting Atoms...
ContentInstaller: ContentInstaller:
@@ -173,37 +175,37 @@ LobbyDefaults:
TechLevel: Unrestricted TechLevel: Unrestricted
ChromeMetrics: ChromeMetrics:
./mods/common/metrics.yaml common|metrics.yaml
./mods/ra/metrics.yaml ra|metrics.yaml
Fonts: Fonts:
Regular: Regular:
Font:./mods/common/FreeSans.ttf Font: common|FreeSans.ttf
Size:14 Size:14
Bold: Bold:
Font:./mods/common/FreeSansBold.ttf Font: common|FreeSansBold.ttf
Size:14 Size:14
Title: Title:
Font:./mods/ra/ZoodRangmah.ttf Font: ra|ZoodRangmah.ttf
Size:48 Size:48
MediumBold: MediumBold:
Font:./mods/common/FreeSansBold.ttf Font: common|FreeSansBold.ttf
Size:18 Size:18
BigBold: BigBold:
Font:./mods/common/FreeSansBold.ttf Font: common|FreeSansBold.ttf
Size:24 Size:24
Small: Small:
Font:./mods/common/FreeSans.ttf Font: common|FreeSans.ttf
Size:12 Size:12
Tiny: Tiny:
Font:./mods/common/FreeSans.ttf Font: common|FreeSans.ttf
Size:10 Size:10
TinyBold: TinyBold:
Font:./mods/common/FreeSansBold.ttf Font: common|FreeSansBold.ttf
Size:10 Size:10
Missions: Missions:
./mods/ra/missions.yaml ra|missions.yaml
MapGrid: MapGrid:
TileSize: 24,24 TileSize: 24,24

View File

@@ -10,7 +10,12 @@ RequiresMods:
Packages: Packages:
~^Content/ts ~^Content/ts
. .
./mods/ts $ts: ts
./mods/common: common
$ra: ra
$cnc: cnc
$d2k: d2k
# Tiberian Sun # Tiberian Sun
~scores.mix ~scores.mix
~sidenc01.mix ~sidenc01.mix
@@ -50,65 +55,65 @@ Packages:
~e01vox01.mix ~e01vox01.mix
~e01vox02.mix ~e01vox02.mix
~ecache01.mix ~ecache01.mix
./mods/ts/bits ts|bits
./mods/ts/uibits ts|uibits
MapFolders: MapFolders:
./mods/ts/maps@System ./mods/ts/maps@System
~^maps/ts/{DEV_VERSION}@User ~^maps/ts/{DEV_VERSION}@User
Rules: Rules:
./mods/ts/rules/ai.yaml ts|rules/ai.yaml
./mods/ts/rules/misc.yaml ts|rules/misc.yaml
./mods/ts/rules/player.yaml ts|rules/player.yaml
./mods/ts/rules/world.yaml ts|rules/world.yaml
./mods/ts/rules/palettes.yaml ts|rules/palettes.yaml
./mods/ts/rules/defaults.yaml ts|rules/defaults.yaml
./mods/ts/rules/aircraft.yaml ts|rules/aircraft.yaml
./mods/ts/rules/husks.yaml ts|rules/husks.yaml
./mods/ts/rules/civilian-infantry.yaml ts|rules/civilian-infantry.yaml
./mods/ts/rules/civilian-structures.yaml ts|rules/civilian-structures.yaml
./mods/ts/rules/civilian-vehicles.yaml ts|rules/civilian-vehicles.yaml
./mods/ts/rules/gdi-infantry.yaml ts|rules/gdi-infantry.yaml
./mods/ts/rules/gdi-structures.yaml ts|rules/gdi-structures.yaml
./mods/ts/rules/gdi-support.yaml ts|rules/gdi-support.yaml
./mods/ts/rules/gdi-vehicles.yaml ts|rules/gdi-vehicles.yaml
./mods/ts/rules/nod-infantry.yaml ts|rules/nod-infantry.yaml
./mods/ts/rules/nod-structures.yaml ts|rules/nod-structures.yaml
./mods/ts/rules/nod-support.yaml ts|rules/nod-support.yaml
./mods/ts/rules/nod-vehicles.yaml ts|rules/nod-vehicles.yaml
./mods/ts/rules/shared-infantry.yaml ts|rules/shared-infantry.yaml
./mods/ts/rules/shared-structures.yaml ts|rules/shared-structures.yaml
./mods/ts/rules/shared-support.yaml ts|rules/shared-support.yaml
./mods/ts/rules/shared-vehicles.yaml ts|rules/shared-vehicles.yaml
./mods/ts/rules/trees.yaml ts|rules/trees.yaml
Weapons: Weapons:
./mods/ts/weapons/bombsandgrenades.yaml ts|weapons/bombsandgrenades.yaml
./mods/ts/weapons/energyweapons.yaml ts|weapons/energyweapons.yaml
./mods/ts/weapons/explosions.yaml ts|weapons/explosions.yaml
./mods/ts/weapons/healweapons.yaml ts|weapons/healweapons.yaml
./mods/ts/weapons/largeguns.yaml ts|weapons/largeguns.yaml
./mods/ts/weapons/missiles.yaml ts|weapons/missiles.yaml
./mods/ts/weapons/otherweapons.yaml ts|weapons/otherweapons.yaml
./mods/ts/weapons/smallguns.yaml ts|weapons/smallguns.yaml
./mods/ts/weapons/superweapons.yaml ts|weapons/superweapons.yaml
Sequences: Sequences:
./mods/ts/sequences/aircraft.yaml ts|sequences/aircraft.yaml
./mods/ts/sequences/infantry.yaml ts|sequences/infantry.yaml
./mods/ts/sequences/misc.yaml ts|sequences/misc.yaml
./mods/ts/sequences/civilian.yaml ts|sequences/civilian.yaml
./mods/ts/sequences/structures.yaml ts|sequences/structures.yaml
./mods/ts/sequences/vehicles.yaml ts|sequences/vehicles.yaml
./mods/ts/sequences/trees.yaml ts|sequences/trees.yaml
VoxelSequences: VoxelSequences:
./mods/ts/sequences/voxels.yaml ts|sequences/voxels.yaml
TileSets: TileSets:
./mods/ts/tilesets/temperate.yaml ts|tilesets/temperate.yaml
./mods/ts/tilesets/snow.yaml ts|tilesets/snow.yaml
MapGrid: MapGrid:
TileSize: 48,24 TileSize: 48,24
@@ -118,75 +123,75 @@ MapGrid:
SubCellDefaultIndex: 2 SubCellDefaultIndex: 2
Cursors: Cursors:
./mods/ts/cursors.yaml ts|cursors.yaml
Chrome: Chrome:
./mods/ts/chrome.yaml ts|chrome.yaml
Assemblies: Assemblies:
./mods/common/OpenRA.Mods.Common.dll common|OpenRA.Mods.Common.dll
./mods/ra/OpenRA.Mods.RA.dll ra|OpenRA.Mods.RA.dll
./mods/cnc/OpenRA.Mods.Cnc.dll cnc|OpenRA.Mods.Cnc.dll
./mods/ts/OpenRA.Mods.TS.dll ts|OpenRA.Mods.TS.dll
ChromeLayout: ChromeLayout:
./mods/ra/chrome/ingame.yaml ra|chrome/ingame.yaml
./mods/ra/chrome/ingame-chat.yaml ra|chrome/ingame-chat.yaml
./mods/ra/chrome/ingame-fmvplayer.yaml ra|chrome/ingame-fmvplayer.yaml
./mods/ra/chrome/ingame-menu.yaml ra|chrome/ingame-menu.yaml
./mods/ts/chrome/ingame-info.yaml ts|chrome/ingame-info.yaml
./mods/ra/chrome/ingame-infoscripterror.yaml ra|chrome/ingame-infoscripterror.yaml
./mods/ra/chrome/ingame-infobriefing.yaml ra|chrome/ingame-infobriefing.yaml
./mods/ra/chrome/ingame-infoobjectives.yaml ra|chrome/ingame-infoobjectives.yaml
./mods/ra/chrome/ingame-infostats.yaml ra|chrome/ingame-infostats.yaml
d2k:chrome/ingame-observer.yaml d2k|chrome/ingame-observer.yaml
./mods/ts/chrome/ingame-observerstats.yaml ts|chrome/ingame-observerstats.yaml
./mods/ts/chrome/ingame-player.yaml ts|chrome/ingame-player.yaml
./mods/ra/chrome/ingame-perf.yaml ra|chrome/ingame-perf.yaml
./mods/ts/chrome/ingame-debug.yaml ts|chrome/ingame-debug.yaml
./mods/ra/chrome/mainmenu.yaml ra|chrome/mainmenu.yaml
./mods/ra/chrome/settings.yaml ra|chrome/settings.yaml
./mods/ra/chrome/credits.yaml ra|chrome/credits.yaml
./mods/ra/chrome/lobby.yaml ra|chrome/lobby.yaml
./mods/ra/chrome/lobby-mappreview.yaml ra|chrome/lobby-mappreview.yaml
./mods/ra/chrome/lobby-players.yaml ra|chrome/lobby-players.yaml
./mods/ra/chrome/lobby-options.yaml ra|chrome/lobby-options.yaml
./mods/ra/chrome/lobby-music.yaml ra|chrome/lobby-music.yaml
./mods/ra/chrome/lobby-kickdialogs.yaml ra|chrome/lobby-kickdialogs.yaml
./mods/ra/chrome/lobby-globalchat.yaml ra|chrome/lobby-globalchat.yaml
./mods/ts/chrome/color-picker.yaml ts|chrome/color-picker.yaml
./mods/ra/chrome/map-chooser.yaml ra|chrome/map-chooser.yaml
./mods/ra/chrome/multiplayer.yaml ra|chrome/multiplayer.yaml
./mods/ra/chrome/multiplayer-browser.yaml ra|chrome/multiplayer-browser.yaml
./mods/ra/chrome/multiplayer-createserver.yaml ra|chrome/multiplayer-createserver.yaml
./mods/ra/chrome/multiplayer-directconnect.yaml ra|chrome/multiplayer-directconnect.yaml
./mods/ra/chrome/multiplayer-globalchat.yaml ra|chrome/multiplayer-globalchat.yaml
./mods/ra/chrome/connection.yaml ra|chrome/connection.yaml
./mods/ra/chrome/replaybrowser.yaml ra|chrome/replaybrowser.yaml
./mods/ts/chrome/dropdowns.yaml ts|chrome/dropdowns.yaml
./mods/ra/chrome/musicplayer.yaml ra|chrome/musicplayer.yaml
./mods/ra/chrome/tooltips.yaml ra|chrome/tooltips.yaml
./mods/ra/chrome/assetbrowser.yaml ra|chrome/assetbrowser.yaml
./mods/ra/chrome/missionbrowser.yaml ra|chrome/missionbrowser.yaml
./mods/ra/chrome/confirmation-dialogs.yaml ra|chrome/confirmation-dialogs.yaml
./mods/ra/chrome/editor.yaml ra|chrome/editor.yaml
Voices: Voices:
./mods/ts/audio/voices.yaml ts|audio/voices.yaml
Notifications: Notifications:
./mods/ts/audio/speech-generic.yaml ts|audio/speech-generic.yaml
./mods/ts/audio/speech-singleplayer.yaml ts|audio/speech-singleplayer.yaml
./mods/ts/audio/sounds-generic.yaml ts|audio/sounds-generic.yaml
Music: Music:
./mods/ts/audio/music.yaml ts|audio/music.yaml
Translations: Translations:
./mods/ts/languages/english.yaml ts|languages/english.yaml
LoadScreen: LogoStripeLoadScreen LoadScreen: LogoStripeLoadScreen
Image: ./mods/ts/uibits/loadscreen.png Image: ts|uibits/loadscreen.png
Text: Updating EVA installation..., Changing perspective... Text: Updating EVA installation..., Changing perspective...
ContentInstaller: ContentInstaller:
@@ -218,33 +223,33 @@ LobbyDefaults:
Fog: true Fog: true
ChromeMetrics: ChromeMetrics:
./mods/common/metrics.yaml common|metrics.yaml
./mods/ts/metrics.yaml ts|metrics.yaml
Fonts: Fonts:
Regular: Regular:
Font:./mods/common/FreeSans.ttf Font: common|FreeSans.ttf
Size:14 Size:14
Bold: Bold:
Font:./mods/common/FreeSansBold.ttf Font: common|FreeSansBold.ttf
Size:14 Size:14
Title: Title:
Font:./mods/common/FreeSansBold.ttf Font: common|FreeSansBold.ttf
Size:32 Size:32
MediumBold: MediumBold:
Font:./mods/common/FreeSansBold.ttf Font: common|FreeSansBold.ttf
Size:18 Size:18
BigBold: BigBold:
Font:./mods/common/FreeSansBold.ttf Font: common|FreeSansBold.ttf
Size:24 Size:24
Small: Small:
Font:./mods/common/FreeSans.ttf Font: common|FreeSans.ttf
Size:12 Size:12
Tiny: Tiny:
Font:./mods/common/FreeSans.ttf Font: common|FreeSans.ttf
Size:10 Size:10
TinyBold: TinyBold:
Font:./mods/common/FreeSansBold.ttf Font: common|FreeSansBold.ttf
Size:10 Size:10
SupportsMapsFrom: ts SupportsMapsFrom: ts