Files
OpenRA/mods/ra/installer/soviet95.yaml
RoosterDragon 578a9fe457 Fix mod content installers.
In 4312a4d3f4 MiniYaml merging was adjusted. One effect of this change was that duplicate keys in files that did not previously require merging was previously allowed, but was now an error. (Test case `TestMergeConflictsNoMerge`)

The installer files were relying on the previous behaviour to allow multiple `ContentPackage` keys. The above change caused a regression where attempting to manage mod content would crash due to now erroring on the duplicate keys.

We fix the issue by applying a unique ID suffix, as is a common pattern elsewhere in our yaml files, and teach InstallFromSourceLogic to recognise and strip it.
2024-08-03 12:10:08 +03:00

95 lines
4.9 KiB
YAML

soviet: Red Alert 95 (Soviet Disc, English)
Type: Disc
IDFiles:
MAIN.MIX: 9d108f18560716b684ab8b1da42cc7f3d1b52519
Length: 4096
INSTALL/REDALERT.MIX: 0e58f4b54f44f6cd29fecf8cf379d33cf2d4caef
Install:
# Base game files:
ContentPackage@base:
Name: base
Actions:
ExtractMix@1: INSTALL/REDALERT.MIX
^SupportDir|Content/ra/v2/hires.mix: hires.mix
^SupportDir|Content/ra/v2/local.mix: local.mix
^SupportDir|Content/ra/v2/lores.mix: lores.mix
^SupportDir|Content/ra/v2/speech.mix: speech.mix
ExtractMix@2: MAIN.MIX
^SupportDir|Content/ra/v2/conquer.mix: conquer.mix
^SupportDir|Content/ra/v2/general.mix: general.mix # Is this one used? The FirstDecade and TUC installers are missing this!
^SupportDir|Content/ra/v2/interior.mix: interior.mix
^SupportDir|Content/ra/v2/snow.mix: snow.mix
^SupportDir|Content/ra/v2/russian.mix: russian.mix
^SupportDir|Content/ra/v2/allies.mix: allies.mix
^SupportDir|Content/ra/v2/sounds.mix: sounds.mix
^SupportDir|Content/ra/v2/temperat.mix: temperat.mix
# Base game music (optional):
ContentPackage@music:
Name: music
Actions:
ExtractMix: MAIN.MIX
^SupportDir|Content/ra/v2/scores.mix: scores.mix
# Soviet campaign briefings (optional):
ContentPackage@movies-soviet:
Name: movies-soviet
Actions:
ExtractMix@1: MAIN.MIX
^SupportDir|Content/ra/v2/movies2.mix: movies2.mix
ExtractMix@2: ^SupportDir|Content/ra/v2/movies2.mix
^SupportDir|Content/ra/v2/movies/aagun.vqa: aagun.vqa
^SupportDir|Content/ra/v2/movies/cronfail.vqa: cronfail.vqa
^SupportDir|Content/ra/v2/movies/airfield.vqa: airfield.vqa
^SupportDir|Content/ra/v2/movies/ally1.vqa: ally1.vqa
^SupportDir|Content/ra/v2/movies/allymorf.vqa: allymorf.vqa
^SupportDir|Content/ra/v2/movies/averted.vqa: averted.vqa
^SupportDir|Content/ra/v2/movies/beachead.vqa: beachead.vqa
^SupportDir|Content/ra/v2/movies/bmap.vqa: bmap.vqa
^SupportDir|Content/ra/v2/movies/bombrun.vqa: bombrun.vqa
^SupportDir|Content/ra/v2/movies/countdwn.vqa: countdwn.vqa
^SupportDir|Content/ra/v2/movies/double.vqa: double.vqa
^SupportDir|Content/ra/v2/movies/dpthchrg.vqa: dpthchrg.vqa
^SupportDir|Content/ra/v2/movies/execute.vqa: execute.vqa
^SupportDir|Content/ra/v2/movies/flare.vqa: flare.vqa
^SupportDir|Content/ra/v2/movies/landing.vqa: landing.vqa
^SupportDir|Content/ra/v2/movies/mcvbrdge.vqa: mcvbrdge.vqa
^SupportDir|Content/ra/v2/movies/mig.vqa: mig.vqa
^SupportDir|Content/ra/v2/movies/movingin.vqa: movingin.vqa
^SupportDir|Content/ra/v2/movies/mtnkfact.vqa: mtnkfact.vqa
^SupportDir|Content/ra/v2/movies/nukestok.vqa: nukestok.vqa
^SupportDir|Content/ra/v2/movies/onthprwl.vqa: onthprwl.vqa
^SupportDir|Content/ra/v2/movies/periscop.vqa: periscop.vqa
^SupportDir|Content/ra/v2/movies/prolog.vqa: prolog.vqa
^SupportDir|Content/ra/v2/movies/radrraid.vqa: radrraid.vqa
^SupportDir|Content/ra/v2/movies/redintro.vqa: redintro.vqa
^SupportDir|Content/ra/v2/movies/search.vqa: search.vqa
^SupportDir|Content/ra/v2/movies/sfrozen.vqa: sfrozen.vqa
^SupportDir|Content/ra/v2/movies/sitduck.vqa: sitduck.vqa
^SupportDir|Content/ra/v2/movies/slntsrvc.vqa: slntsrvc.vqa
^SupportDir|Content/ra/v2/movies/snowbomb.vqa: snowbomb.vqa
^SupportDir|Content/ra/v2/movies/snstrafe.vqa: snstrafe.vqa
^SupportDir|Content/ra/v2/movies/sovbatl.vqa: sovbatl.vqa
^SupportDir|Content/ra/v2/movies/sovcemet.vqa: sovcemet.vqa
^SupportDir|Content/ra/v2/movies/sovfinal.vqa: sovfinal.vqa
^SupportDir|Content/ra/v2/movies/soviet1.vqa: soviet1.vqa
^SupportDir|Content/ra/v2/movies/soviet10.vqa: soviet10.vqa
^SupportDir|Content/ra/v2/movies/soviet11.vqa: soviet11.vqa
^SupportDir|Content/ra/v2/movies/soviet12.vqa: soviet12.vqa
^SupportDir|Content/ra/v2/movies/soviet13.vqa: soviet13.vqa
^SupportDir|Content/ra/v2/movies/soviet14.vqa: soviet14.vqa
^SupportDir|Content/ra/v2/movies/soviet2.vqa: soviet2.vqa
^SupportDir|Content/ra/v2/movies/soviet3.vqa: soviet3.vqa
^SupportDir|Content/ra/v2/movies/soviet4.vqa: soviet4.vqa
^SupportDir|Content/ra/v2/movies/soviet5.vqa: soviet5.vqa
^SupportDir|Content/ra/v2/movies/soviet6.vqa: soviet6.vqa
^SupportDir|Content/ra/v2/movies/soviet7.vqa: soviet7.vqa
^SupportDir|Content/ra/v2/movies/soviet8.vqa: soviet8.vqa
^SupportDir|Content/ra/v2/movies/soviet9.vqa: soviet9.vqa
^SupportDir|Content/ra/v2/movies/sovmcv.vqa: sovmcv.vqa
^SupportDir|Content/ra/v2/movies/sovtstar.vqa: sovtstar.vqa
^SupportDir|Content/ra/v2/movies/spotter.vqa: spotter.vqa
^SupportDir|Content/ra/v2/movies/strafe.vqa: strafe.vqa
^SupportDir|Content/ra/v2/movies/take_off.vqa: take_off.vqa
^SupportDir|Content/ra/v2/movies/tesla.vqa: tesla.vqa
^SupportDir|Content/ra/v2/movies/v2rocket.vqa: v2rocket.vqa
Delete: ^SupportDir|Content/ra/v2/movies2.mix