Files
fomod-manager/tests/data/fomod/moduleconfig/example_05.xml

134 lines
5.4 KiB
XML

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://qconsulting.ca/fo3/ModConfig5.0.xsd">
<moduleName>Example Mod</moduleName>
<moduleDependencies operator="And">
<fileDependency file="depend1.plugin" state="Active"/>
<dependencies operator="Or">
<fileDependency file="depend2v1.plugin" state="Active"/>
<fileDependency file="depend2v2.plugin" state="Active"/>
</dependencies>
</moduleDependencies>
<installSteps order="Explicit">
<installStep name="Choose Option">
<optionalFileGroups order="Explicit">
<group name="Select an option:" type="SelectExactlyOne">
<plugins order="Explicit">
<plugin name="Option A">
<description>Select this to install Option A!</description>
<image path="fomod/option_a.png"/>
<conditionFlags>
<flag name="option_a">selected</flag>
</conditionFlags>
<typeDescriptor>
<type name="Recommended"/>
</typeDescriptor>
</plugin>
<plugin name="Option B">
<description>Select this to install Option B!</description>
<image path="fomod/option_b.png"/>
<conditionFlags>
<flag name="option_b">selected</flag>
</conditionFlags>
<typeDescriptor>
<type name="Optional"/>
</typeDescriptor>
</plugin>
</plugins>
</group>
<!-- Since we're installing everything in
conditionalFileInstalls we're free to
make all selections in a single step.
-->
<group name="Select a texture:" type="SelectExactlyOne">
<plugins order="Explicit">
<plugin name="Texture Blue">
<description>Select this to install Texture Blue!</description>
<image path="fomod/texture_blue.png"/>
<conditionFlags>
<flag name="texture_blue">selected</flag>
</conditionFlags>
<typeDescriptor>
<type name="Optional"/>
</typeDescriptor>
</plugin>
<plugin name="Texture Red">
<description>Select this to install Texture Red!</description>
<image path="fomod/texture_red.png"/>
<conditionFlags>
<flag name="texture_red">selected</flag>
</conditionFlags>
<typeDescriptor>
<type name="Optional"/>
</typeDescriptor>
</plugin>
</plugins>
</group>
</optionalFileGroups>
</installStep>
</installSteps>
<!-- This is where we're installing everything.
-->
<conditionalFileInstalls>
<patterns>
<!-- Each pattern is a piece of the matrix
eseentially linking a set of dependencies
to a set of files to install.
-->
<pattern>
<dependencies operator="And">
<flagDependency flag="option_a" value="selected"/>
<flagDependency flag="texture_blue" value="selected"/>
</dependencies>
<files>
<folder source="option_a"/>
<folder source="texture_blue_a"/>
</files>
</pattern>
<pattern>
<dependencies operator="And">
<flagDependency flag="option_a" value="selected"/>
<flagDependency flag="texture_red" value="selected"/>
</dependencies>
<files>
<folder source="option_a"/>
<folder source="texture_red_a"/>
</files>
</pattern>
<pattern>
<dependencies operator="And">
<flagDependency flag="option_b" value="selected"/>
<flagDependency flag="texture_blue" value="selected"/>
</dependencies>
<files>
<folder source="option_b"/>
<folder source="texture_blue_b"/>
</files>
</pattern>
<pattern>
<dependencies operator="And">
<flagDependency flag="option_b" value="selected"/>
<flagDependency flag="texture_red" value="selected"/>
</dependencies>
<files>
<folder source="option_b"/>
<folder source="texture_red_b"/>
</files>
</pattern>
</patterns>
</conditionalFileInstalls>
</config>