Skip to content

daytwentynine/unrpyc

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.
  --no-screenlang   
                 Only for decompiling, don't decompile back to screen language

  --no-codegen   Only dumping and for decompiling screen language 1 screens.
                 Don't decompile the screen python ast back to python.
                 This implies --no-screenlang

  --single-line-screen-kwargs
                 Only for decompiling, don't force all keyword arguments
                 from screencode to different lines
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.

Supported:
renpy version 6 up to 6.18.3
Windows, OSX and Linux

Requirements:
Python version 2.7

https://github.com/CensoredUsername/unrpyc

About

A ren'py script decompiler

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%