Releases: CensoredUsername/unrpyc
Un.rpyc v2.0.4
A small bugfix release.
Recent changes had resulted in a bug in un.rpyc, causing it to fail. This release fixes that.
Usage of the artifacts below:
Simply copy the un.rpyc or un.rpy file into the "game" directory inside the game. Run the game and it will decompile the entire game into .rpy files at startup.
For the bytecode-39.rpyb file, copy it into the game/cache directory, replacing the existing file. Run the game and it will decompile the entire game into .rpy files at startup. The game will regenerate the old bytecode-39.rpyb file after running.
Un.rpyc v2.0.3
This release brings unrpyc more up to date with ren'py 8.5.
Additionally, several bugs have been fixed with the tool, the following should be the most visible:
- atl
animationstatement is decompiled menustatement is no longer printed at the wrong line when an integrated say statement is present.- several default property values have been upated
- the
rpy pythondirective is handled correctly camerastatement is no longer broken- less unnecessary
returnstatements on newer ren'py versions - fixed some issues with missing ast classes causing decompilation to fail.
- correctly handle broken keyword syntax in screen language.
Thanks go out to @madeddy, @neuschaefer, @dukebismaya and @valery-iwanofu for their contributions.
Usage of the artifacts below:
Simply copy the un.rpyc or un.rpy file into the "game" directory inside the game. Run the game and it will decompile the entire game into .rpy files at startup.
For the bytecode-39.rpyb file, copy it into the game/cache directory, replacing the existing file. Run the game and it will decompile the entire game into .rpy files at startup. The game will regenerate the old bytecode-39.rpyb file after running.
Unrpyc v1.3.2
This release is a backport of the featureset of v2.0.2 to legacy. It brings a significant rework of the command line interface presented by un.rpyc. Options have stayed the same, but expect a clearer report of the actions of unrpyc when running it.
Additional items include:
- A rework of the translation feature. It is no longer required to run the tool twice. Instead you can just specify the language that the script is exported in (provided a translation is available in the scripts).
Usage:
Simply copy the un.rpyc or un.rpy file into the "game" directory inside the game. Run the game and it will decompile the entire game into .rpy files at startup.
For the bytecode.rpyb file, copy it into the game/cache directory, replacing the existing file. Run the game and it will decompile the entire game into .rpy files at startup. The game will regenerate the old bytecode.rpyb file after running.
Thanks to @madeddy for a significant part of this work.
Edit: I had to remake this release. Apparently the tag was set wrong causing the source code download to actually be for 2.0.2. This should be fixed now.
Un.rpyc v2.0.2
This release brings a significant rework of the command line interface presented by un.rpyc. Options have stayed the same, but expect a clearer report of the actions of unrpyc when running it. Additionally, it also brings compatibility with python 3.12 (which made some changes to the import system).
Additional items include:
- A rework of the translation feature. It is no longer required to run the tool twice. Instead you can just specify the language that the script is exported in (provided a translation is available in the scripts).
- Some bugfixes to deobfuscation to solve issues introduced in the python 3 port.
Usage:
Simply copy the un.rpyc or un.rpy file into the "game" directory inside the game. Run the game and it will decompile the entire game into .rpy files at startup.
For the bytecode-39.rpyb file, copy it into the game/cache directory, replacing the existing file. Run the game and it will decompile the entire game into .rpy files at startup. The game will regenerate the old bytecode-39.rpyb file after running.
Thanks to @madeddy for a significant part of this work.
Un.rpyc v2.0.1
This release brings increased compatibility for unrpyc v2. The command line tool can now decompile ren'py 8 and 7 games, and even a significant amount of ren'py 6 games. It still requires just python 3.
It also includes some significant internal changes to the tool architecture, and improved error reporting, next to some small bugfixes.
When using un.rpyc, you still need to use un.rpyc v1.3.1 due to it using the python version packaged with the game. It can however now also decompile .rpyc files that were compiled with previous versions of the ren'py engine, and just shipped with a new engine version.
This release has the equivalent feature set of legacy v1.3.1.
Usage:
Simply copy the un.rpyc or un.rpy file into the "game" directory inside the game. Run the game and it will decompile the entire game into .rpy files at startup.
For the bytecode-39.rpyb file, copy it into the "game/cache" directory, replacing the existing file. Run the game and it will decompile the entire game into .rpy files at startup. The game will regenerate the old bytecode-39.rpyb file after running.
Un.rpyc v1.3.1
This release is the legacy counterpart of un.rpyc v2.0.1. It targets ren'py 7 and 6, and requires python 2 to run.
It includes significant internal changes to the tool architecture and improved error reporting, next to some small bugfixes.
Usage:
Simply copy the un.rpyc or un.rpy file into the "game" directory inside the game. Run the game and it will decompile the entire game into .rpy files at startup.
For the bytecode.rpyb file, copy it into the "game/cache" directory, replacing the existing file. Run the game and it will decompile the entire game into .rpy files at startup. The game will regenerate the old bytecode.rpyb file after running.
Un.rpyc v2.0.0
🎉 This release is the first release targetting ren'py 8 and Python 3. 🎉
It has the same feature support as v1.3.0 (which targets ren'py 7 and Python 2).
Usage:
Simply copy the un.rpyc or un.rpy file into the "game" directory inside the game. Run the game and it will decompile the entire game into .rpy files at startup.
For the bytecode-39.rpyb file, copy it into the "game/cache" directory, replacing the existing file. Run the game and it will decompile the entire game into .rpy files at startup. The game will regenerate the old bytecode-39.rpyb file after running.
Un.rpyc v1.3.0
This release supports ren'py features up to 7.7. It is the first release that targets the legacy branch specifically after the ren'py 8 and 7 split.
This release fixes several bugs, and adds support for a few lesser-used ren'py features.
Usage:
Simply copy the un.rpyc or un.rpy file into the "game" directory inside the game. Run the game and it will decompile the entire game into .rpy files at startup.
For the bytecode.rpyb file, copy it into the "game/cache" directory, replacing the existing file. Run the game and it will decompile the entire game into .rpy files at startup. The game will regenerate the old bytecode.rpyb file after running.
Un.rpyc v1.2.0
This release should add support for ren'py features up to 7.7.0
Usage:
Simply copy the un.rpyc or un.rpy file into the "game" directory inside the game. Run the game and it will decompile the entire game into .rpy files at startup.
For the bytecode.rpyb file, copy it into the "game/cache" directory, replacing the existing file. Run the game and it will decompile the entire game into .rpy files at startup. The game will regenerate the old bytecode.rpyb file after running.
Un.rpyc v1.1.8
Bugfix release.
Fixes a code execution vulnerability when loading rpyc files discovered by @splitline .
Usage
Simply copy the un.rpyc or un.rpy file into the "game" directory inside the game. Run the game and it will decompile the entire game into .rpy files at startup.
For the bytecode.rpyb file, copy it into the "game/cache" directory, replacing the existing file. Run the game and it will decompile the entire game into .rpy files at startup. The game will regenerate the old bytecode.rpyb file after running.