Apparently, Ren'Py sometimes allows characters above 127 in non-Unicode strings. Keep that from breaking everything.
|Failed to load latest commit information.|
|un.rpyc||more minimization was possible|
|.gitignore||Publish the tools used to create un.rpyc|
|LICENSE||Added screen support, fixed pickle newer versions|
Unrpyc is a script to decompile Ren'Py (http://www.renpy.org/) compiled .rpyc script files. It will not extract files from .rpa archives. For that, use rpatool (https://github.com/Shizmob/rpatool), or UnRPA (https://github.com/Lattyware/unrpa). Thanks to recent changes, unrpyc no longer needs internal renpy structures to work. Usage options: Options: --version show program's version number and exit -h, --help show this help message and exit -c, --clobber overwrites existing output files -d, --dump Instead of decompiling, pretty print the contents of the AST in a human readable format. This is mainly useful for debugging. --sl1-as-python Only dumping and for decompiling screen language 1 screens. Convert SL1 Python AST to Python code instead of dumping it or converting it to screenlang. --comparable Only for dumping, remove several false differences when comparing dumps. This suppresses attributes that are different even when the code is identical, such as file modification times. Line numbers are also suppressed unless the --line-numbers option is used. --line-numbers Allow line numbers to be compared. When decompiling, this causes extra lines to be printed to make line numbers match. When dumping the ast, this causes line numbers to be printed even when using --comparable. Usage: [python2] unrpyc.py [options] script1 script2 ... You can give several .rpyc files on the command line. Each script will be decompiled to a corresponding .rpy on the same directory. By default, the program will not overwrite existing files, use -c to do that. This script will try to disassemble all AST nodes. In the case it encounters an unknown node type, which may be caused by an update to Ren'Py somewhere in the future, a warning will be printed and a placeholder inserted in the script when it finds a node it doesn't know how to handle. If you encounter this, please open an issue to alert us of the problem. For the script to run correctly it is required for the unrpyc.py file to be in the same directory as the modules directory. You can also import the module from python and call unrpyc.decompile_rpyc(filename, ...) directly As of renpy version 6.18 the way renpy handles screen language changed significantly. Due to this significant changes had to be made, and the script might be less stable for older renpy versions. If you encounter any problems due to this, please report them. Alternatively there is an experimental version of the decompiler packed into one file available at https://github.com/CensoredUsername/unrpyc/releases This version will decompile a game from inside the renpy runtime. Simply copy the un.rpyc file into the "game" directory inside the game files and everything will be decompiled. Supported: renpy version 6 up to 6.18.3 Windows, OSX and Linux Requirements: Python version 2.7 https://github.com/CensoredUsername/unrpyc