Pyro can substitute variables with defined values throughout projects.
To define variables:
Variables
block.Variable
child nodes to that block as needed.Variable
node should be an empty closed element.<Variables>
<Variable Name="namespace" Value="Master of Disguise"/>
<Variable Name="modname" Value="Master of Disguise - Special Edition"/>
<Variable Name="myproject" Value="E:\projects\skyrim\Master of Disguise - Special Edition"/>
</Variables>
Variables are prefixed with the @
symbol. The Name
and Value
attributes are required.
You can then replace values throughout the project file with variable names:
<ZipFiles Output="@myproject">
<ZipFile Name="@modname" RootDir="@myproject" Compression="deflate">
<Include>@myproject\@modname.esp</Include>
<Include NoRecurse="true">*.bsa</Include>
</ZipFile>
<ZipFiles>
Pyro will expand those variables when the project is loaded.
Regardless of whether a Variables
block is defined, environment variables (e.g., %APPDATA%
) and user variables (~user
) will be expanded.