This reference documents the elements and attribute defaults in the Pyro Project Schema.
The PapyrusProject
block contains the <Variables>
, <Imports>
, <Scripts>
, <Folders>
, <Packages>
, and <ZipFiles>
blocks.
<PapyrusProject
xmlns="PapyrusProject.xsd"
Game="FO4"
Flags="Institute_Papyrus_Flags.flg"
Output="@modpath\scripts"
Optimize="true"
Release="true"
Final="true"
Anonymize="true"
Package="true"
Zip="true">
<!-- block children -->
</PapyrusProject>
Node | Attribute | Type | Default Value |
---|---|---|---|
PapyrusProject |
Game |
str |
(determined programmatically) |
PapyrusProject |
Flags |
str |
(determined programmatically from game path) |
PapyrusProject |
Output |
str |
Path to the pyro\out folder |
PapyrusProject |
Optimize |
bool |
false |
PapyrusProject |
Release (FO4 only) |
bool |
false |
PapyrusProject |
Final (FO4 only) |
bool |
false |
PapyrusProject |
Anonymize |
bool |
false |
PapyrusProject |
Package |
bool |
false |
The Variables
block contains Variable
child nodes.
<Variables>
<!-- block children -->
</Variables>
Each Variable
node declares a variable name and its associated value.
<Variable Name="modname" Value="Auto Loot"/>
Node | Attribute | Type | Default Value | Required |
---|---|---|---|---|
Variable |
Name |
string |
'' |
True |
Variable |
Value |
string |
'' |
True |
The Imports
block contains Import
child nodes.
<Imports>
<!-- block children -->
</Imports>
Each Import
node contains the local path or remote URL for an import folder.
<Import>F:\SDKs\SKSE\@SourceDir</Import>
<Import>https://github.com/fireundubh/LibFire.git</Import>
<Import>@RepoBaseURL/skyui/contents/dist/Data/Scripts/Source?ref=master</Import>
<Import>@OutputPath\@SourceDir</Import>
<Import>@ScriptsPath\Base</Import>
The Scripts
block contains Script
child nodes.
<Scripts>
<!-- block children -->
</Scripts>
Each Script
node contains the path to a script file.
<Script>@namespace\dubhAutoLootDummyScript.psc</Script>
The Folders
block contains Folder
child nodes.
<Folders>
<!-- block children -->
</Folders>
Each Folder
node contains a path to a script sources folder.
<Folder NoRecurse="true">@namespace\Fragments\Terminals</Folder>
Node | Attribute | Type | Default Value |
---|---|---|---|
Folder |
NoRecurse |
bool |
false |
The Packages
block contains Package
child nodes.
<Packages Output="@OutputPath">
<!-- block children -->
</Packages>
Node | Attribute | Type | Default Value |
---|---|---|---|
Packages |
Output |
str |
Path to the pyro\dist folder |
Each Package
block contains Include
and/or Match
child nodes.
<Package Name="@ModName" RootDir="@OutputPath">
<!-- block children -->
</Package>
Node | Attribute | Type | Default Value |
---|---|---|---|
Package |
Name |
str |
If the attribute is omitted:
|
Package |
RootDir |
str |
Path to the project folder |
Each Include
node contains an absolute or relative file or folder path, or a glob expression.
<Include NoRecurse="false">**/*.pex</Include>
Node | Attribute | Type | Default Value |
---|---|---|---|
Include |
NoRecurse |
bool |
false |
Include |
Path |
str |
If not empty, this value will be prepended to the file's location in the package. |
Each Match
node contains a wildcard file expression, which may also include file negation and directory exclusion patterns.
<Match In="Textures">*.dds</Match>
Node | Attribute | Type | Default Value |
---|---|---|---|
Match |
In |
str |
Path to the project folder |
Match |
Exclude |
str |
If not empty, this pattern can be used to exclude directories from matches. |
Include |
NoRecurse |
bool |
false |
The ZipFiles
block contains ZipFile
child nodes.
<ZipFiles Output="@modpath">
<!-- block children -->
</ZipFiles>
Node | Attribute | Type | Default Value |
---|---|---|---|
ZipFiles |
Output |
str |
Path to the pyro\dist folder |
Each ZipFile
block contains Include
and/or Match
child nodes.
<ZipFile Name="@modname" RootDir="@modpath" Compression="deflate">
<!-- block children -->
</ZipFile>
Node | Attribute | Type | Default Value |
---|---|---|---|
ZipFile |
Name |
str |
If the attribute is omitted, the ZIP file will be named after the project. |
ZipFile |
RootDir |
str |
Path to the project folder |
ZipFile |
Compression |
str |
deflate |
Each Include
node contains an absolute or relative file or folder path, or a glob expression.
<Include Path="optional">@modpath\MyOptionalPlugin.esp</Include>
Node | Attribute | Type | Default Value |
---|---|---|---|
Include |
NoRecurse |
bool |
false |
Include |
Path |
str |
If not empty, this value will be prepended to the file's location in the archive. |
Each Match
node contains a wildcard file expression, which may also include file negation and directory exclusion patterns.
<Match In="Strings">*.*STRINGS</Match>
Node | Attribute | Type | Default Value |
---|---|---|---|
Match |
In |
str |
Path to the project folder |
Match |
Exclude |
str |
If not empty, this pattern can be used to exclude directories from matches. |
Include |
NoRecurse |
bool |
false |