Releases: fireundubh/pyro
Pyro
Hotfix
An upstream issue with Nuitka 0.6.9.x causes Pyro to hang when executing workers. Each worker is actually crashing with an access violation.
Recompiling Pyro through Nuitka 0.6.8.4 circumvents the issue.
Thanks to Exit_9B (Parapets) for reporting the issue.
Fixes
- Fixed issue where
--game-type
argument value was not passed forward - Fixed issue where
--zip-compression
argument was not handled - Fixed issue where
--game-type
and--zip-compression
argument values could be not lowercase - Fixed issue where "game type detected from registry path" warning could print in error
- Fixed issue where "game type detected from registry path" warning could throw KeyError
Licensing
- Pyro is transpiled by Nuitka 0.6.8.4 from Python 3.8.6 to C and compiled with MSVC 2019.
- Pyro is distributed with bsarch v0.7 under the MPL 2.0 License. (Source Code)
- The Pyro source code is licensed under the MIT License.
Pyro
Hotfix
In Skyrim Special Edition, an issue was recently discovered where packages containing textures can crash the game if they have the Embed File Names flag. To work around this issue, for SSE projects, Pyro will now detect whether packages will contain textures, and if so, pass an argument to BSArch to prevent this flag from being added to the package.
Thanks to @dmdemoura for the contribution and @zilav for his advice.
Licensing
- Pyro is transpiled by Nuitka from Python 3.8.5 to C and compiled with MSVC 2019.
- Pyro is distributed with bsarch v0.7 under the MPL 2.0 License. (Source Code)
- The Pyro source code is licensed under the MIT License.
Pyro
New Features
Pre- and Post-Build Events (EXPERIMENTAL!)
PreBuildEvent
and PostBuildEvent
elements have been added to the PyroProject XSD. These parent elements contain Command
children.
Options
- A
Description
attribute can be used to clarify each event. This description will be printed in the build output. - A
UseInBuild
attribute can be used to toggle whether the event is used.
Timing
Event | Runs When |
---|---|
PRE | Immediately prior to compilation |
POST | Immediately after build success |
Examples
<PreBuildEvent Description="Pre-Build Event Example" UseInBuild="true">
<Command>echo Hi! I'm a pre-build command!</Command>
</PreBuildEvent>
<PostBuildEvent Description="Post-Build Event Example" UseInBuild="true">
<Command>echo Hi! I'm a post-build command!</Command>
</PostBuildEvent >
Fixes
- Fixed issue where implicit import paths could be duplicated in merged output
- Fixed issue where Fallout 4 namespaces could not be resolved in some cases
- Fixed issue where Fallout 4 game type could not be determined from registry path
- Fixed issue where excessive whitespace could interfere with build event commands
Other Changes
- Removed JSON-based state logging (TODO: better logging)
Licensing
- Pyro is transpiled by Nuitka from Python 3.8.5 to C and compiled with MSVC 2019.
- Pyro is distributed with bsarch v0.7 under the MPL 2.0 License. (Source Code)
- The Pyro source code is licensed under the MIT License.
Pyro
Fixes
- Fixed issue where implicit import discovery failed quietly when imports were on different drives
- Fixed issue where environment variables were unusable due to character restriction in
<Variable>
element values - Fixed issue where only some environment variable formats were supported in
<Variable>
element values - Fixed issue where registry paths could fail to resolve for Fallout games
- Fixed issue where average compilation time dividend was switched around
Optimizations
- Increased long path comparison speed with high-efficiency string comparators
- Improved maintainability of PapyrusProject XML Schema Definition (XSD)
Licensing
- Pyro is transpiled by Nuitka from Python 3.8.5 to C and compiled with MSVC 2019.
- Pyro is distributed with bsarch v0.7 under the MPL 2.0 License. (Source Code)
- The Pyro source code is licensed under the MIT License.
Pyro
Major Changes
Added support for multiple ZipFile nodes
Pyro now supports building multiple ZIP archives from a single PPJ. This is a breaking change.
ZipFile
nodes must descend from theZipFiles
node, consistent with other top-level nodes.- The
Output
attribute was reassigned from theZipFile
node to its parentZipFiles
node.
Example
<ZipFiles Output="@MyProject">
<ZipFile Name="@ModName - Legendary Edition" RootDir="@MyProject" Compression="deflate">
<Include>@MyProject\@ModName - Legendary Edition.esp</Include>
<Include NoRecurse="true">*.bsa</Include>
</ZipFile>
<ZipFile Name="@ModName - Special Edition" RootDir="@MyProject" Compression="deflate">
<Include>@MyProject\@ModName - Special Edition.esp</Include>
<Include NoRecurse="true">*.bsa</Include>
</ZipFile>
</ZipFiles>
Fixes
- Fixed issue where node attribute updater failed to run due to obsolete code
- Fixed issue where BSA/BA2 packages created in a session could be clobbered when sharing file name
- Fixed issue where relative
RootDir
path resolution logged failures to wrong logger - Slightly improved clobber prevention for packages and zip files
Licensing
- Pyro is transpiled by Nuitka from Python 3.7.7 to C and compiled with MSVC 2019.
- Pyro is distributed with bsarch v0.7 under the MPL 2.0 License. (Source Code)
- The Pyro source code is licensed under the MIT License.
Pyro
Fixes
- Fixed issue where Pyro and XSD did not agree on TES5 game type signature
- Updated Python to 3.7.7 and Nuitka to 0.6.7
Licensing
- Pyro is transpiled by Nuitka from Python 3.7.7 to C and compiled with MSVC 2019.
- Pyro is distributed with bsarch v0.7 under the MPL 2.0 License. (Source Code)
- The Pyro source code is licensed under the MIT License.
Pyro
Fixes
- Fixed issue where anonymizer could fail to run due to bad timestamp comparison
- Fixed issue where anonymizer would log confusing error when targeting anonymized script
Licensing
- Pyro is transpiled by Nuitka from Python 3.7.5 to C and compiled with MSVC 2019.
- Pyro is distributed with bsarch v0.7 under the MPL 2.0 License. (Source Code)
- The Pyro source code is licensed under the MIT License.
Pyro
Major Changes
- Added positional input path argument (usage:
pyro.exe MyProject.ppj
) - Deprecated optional input path arguments (
-i
and--input-path
will be phased out)
Fixes
- Fixed issue where
Output
attribute values could never be.
even if desired by user - Fixed issue where
.
was not parsed as project path inOutput
attribute values
Licensing
- Pyro is transpiled by Nuitka from Python 3.7.5 to C and compiled with MSVC 2019.
- Pyro is distributed with bsarch v0.7 under the MPL 2.0 License. (Source Code)
- The Pyro source code is licensed under the MIT License.
Pyro
Major Changes
New Features
- Implemented public Bitbucket Cloud remote support (no access token required)
[Note: This change does not include support for private Bitbucket Cloud repositories or Bitbucket Server repositories.]
Fixes
- Fixed issue where failing to load remote URL did not stop download process
Licensing
- Pyro is transpiled by Nuitka from Python 3.7.5 to C and compiled with MSVC 2019.
- Pyro is distributed with bsarch v0.7 under the MPL 2.0 License. (Source Code)
- The Pyro source code is licensed under the MIT License.
Pyro
Fixes
- Fixed issue where files other than scripts were downloaded from remotes
- Fixed issue where local path for folder remote was not also imported
Licensing
- Pyro is transpiled by Nuitka from Python 3.7.5 to C and compiled with MSVC 2019.
- Pyro is distributed with bsarch v0.7 under the MPL 2.0 License. (Source Code)
- The Pyro source code is licensed under the MIT License.