Major Changes

  • If the xmlns attribute of the PapyrusProject node is set to a valid XML Schema path, Pyro will use that XSD file to validate the PPJ.
  • The NoRecurse attribute was removed from the Folders node. Each Folder node now has an independent NoRecurse attribute.
  • Include nodes now support relative folder paths. Each Include node now has an independent NoRecurse attribute.
  • Comments, including XML-unsupported comments, can now be used in PPJs.

XML Schema Validation

<PapyrusProject xmlns="PapyrusProject.xsd">

Pyro will look for the file named PapyrusProject.xsd in the program path. If this attribute is omitted, Pyro will not validate the PPJ.

Folder Recursion

  <Folders>
    <Folder NoRecurse="true">Master of Disguise</Folder>
  </Folders>

When NoRecurse is enabled, Pyro will not compile scripts in subfolders within the given folder. By default, NoRecurse is disabled.

Include Folders

  <Includes Root="E:\projects\skyrim\Master of Disguise - Special Edition">
    <Include NoRecurse="false">interface</Include>
  </Includes>

When NoRecurse is disabled, Pyro will recursively add files in this folder and its subfolders to the output BSA/BA2. By default, NoRecurse is disabled.

Comments Allowed

<PapyrusProject
<!--  xmlns="PapyrusProject.xsd" -->
  Game="sse"
  Flags="<!-- TESV_Papyrus_Flags.flg -->"
  Output="E:\projects\skyrim\Master of Disguise - Special Edition\scripts"
  Archive="E:\projects\skyrim\Master of Disguise - Special Edition\Master of Disguise - Special Edition.bsa"
  Optimize="true">

These are not valid XML comments because they appear within element tags and attribute values. XML-unsupported comments will cause validators and syntax highlighters to treat the PPJ as malformed. Pyro will strip all supported and unsupported comments virtually before parsing the PPJ to avoid parsing errors.

Fixes

  • Fixed issue where passing an invalid input path (e.g., a nonexistent PPJ file) would produce an unhandled exception
  • Fixed issue where deeply nested Fallout 4 script paths were not resolved correctly (e.g., AutoLoot\Fragments\Terminals\TERM_AutoLoot_312_04001137.psc)
  • Fixed issue where Fallout 4 scripts were compiled repeatedly
Let's Play with Fire