Tool Ren'Py UnRenGUI, UnRen-forall(v9.4), UnRen-Powershell-forall(v9.4), UnRen-old

5.00 star(s) 3 Votes

Twistty

The Happy Beaver
Donor
Respected User
Former Staff
Sep 9, 2016
4,369
38,949
There are a bunch, Midnight Paradise for example use it.

I use this nowadays.

Thanks SonsOfLiberty (y)
Always nice to have new tools.
Does it decompile .rpyc files also, on renpy 8.2.x versions?

Edit:
Seems like it is a "file exploer" for RPA files only - not an extractor, or decompiler.
Unless I missed somethin?
 

SonsOfLiberty

Post Pro
Compressor
Sep 3, 2022
21,249
176,166
Thanks SonsOfLiberty (y)
Always nice to have new tools.
Does it decompile .rpyc files also, on renpy 8.2.x versions?

Edit:
Seems like it is a "file exploer" for RPA files only - not an extractor, or decompiler.
Unless I missed something?
There is a guide here on how to set it up. It does have rpyc support.

He is even using Midnight Paradise as an example in the guide.

You can extract files with it.
 

FaceCrap

Active Member
Oct 1, 2020
935
668
VepsrP

Game: Between Humanity 2.2.1
Ren'Py Version: 8.2.0
Decompiling: "game\scripts\functions\thirdParty\Better-EMR-Phone-3.2.2\phone\apps\contacts\contacts.rpy"
Error: # <<< COULD NOT DECOMPILE: Unknown AST node: <class 'renpy.sl2.slast.SLBreak'> >>> ~Line 29 in RPY file.
 

Twistty

The Happy Beaver
Donor
Respected User
Former Staff
Sep 9, 2016
4,369
38,949
VepsrP

Game: Between Humanity 2.2.1
Ren'Py Version: 8.2.0
Decompiling: "game\scripts\functions\thirdParty\Better-EMR-Phone-3.2.2\phone\apps\contacts\contacts.rpy"
Error: # <<< COULD NOT DECOMPILE: Unknown AST node: <class 'renpy.sl2.slast.SLBreak'> >>> ~Line 29 in RPY file.
1) To fix it - use UnRen-forall.bat v9.4 and choose choice 1 (To extract the rpa files) only - and when asked to delete the .rpa files choose Y (yes).
2) Now start the game up once and the close it. (Just to test that the first action went well).
3) Download the un.rpy file that I posted below and copy it into the game folder - start the game again - and it will decompile the .rpyc files.

You might have to download the game again and start fresh - at least I did.

Cheers

Log added as proof....
 

FaceCrap

Active Member
Oct 1, 2020
935
668
1) To fix it - use UnRen-forall.bat v9.4 and choose choice 1 (To extract the rpa files) only - and when asked to delete the .rpa files choose Y (yes).
Thanks, already did use your method. Point was so VepsrP would be aware and possibly update his unrpyc so the batchfile/powershell scripts would also be able to do this.
 
  • Like
Reactions: Twistty

Du_dudulu

New Member
Nov 16, 2019
3
0
After decompiling Summertime Saga [v21.0.0 wip.5003] using the latest version of , an error occurred when running renpy-8.2.3:

I'm sorry, but an uncaught exception occurred.

While loading the script.
File "game/src/+config.rpy", line 1, in <module>
init python early hide:
File "game/src/+config.rpy", line 2, in _execute_python_hide
from saga import __version__
ModuleNotFoundError: No module named 'saga'


Anybody know what's going on? Ty
 

master861

Well-Known Member
Nov 4, 2022
1,071
1,254
I know why UnRen-forall.bat v9.4 is not working correct because its the same bug as with sam's tool.
the error comes from this lines.
Bash:
if "%option%" == "2" (
        echo    + Searching for rpyc files in %gamedir%
        "%pythondir%python.exe" -O "%unrpycpy%" --init-offset "%gamedir%
    )
    if "%option%" == "9" (
        echo    + Searching for rpyc files in %gamedir%
        "%pythondir%python.exe" -O "%unrpycpy%" --init-offset "%gamedir%
    )
    if "%option%" == "8" (
        echo    + Searching for rpyc files in %gamedir%
        "%pythondir%python.exe" -O "%unrpycpy%" --init-offset "%gamedir%
    )
    if "%option%" == "7" (
        echo    + Searching for rpyc files in %gamedir%
        "%pythondir%python.exe" -O "%unrpycpy%" --init-offset --try-harder "%gamedir%
    )
) else (
    if "%option%" == "2" (
        echo    + Searching for rpyc files in %gamedir%
        "%pythondir%python.exe" "%unrpycpy%" --init-offset "%gamedir%
    )
    if "%option%" == "9" (
        echo    + Searching for rpyc files in %gamedir%
        "%pythondir%python.exe" "%unrpycpy%" --init-offset "%gamedir%
    )
    if "%option%" == "8" (
        echo    + Searching for rpyc files in %gamedir%
        "%pythondir%python.exe" "%unrpycpy%" --init-offset "%gamedir%
    )
    if "%option%" == "7" (
        echo    + Searching for rpyc files in %gamedir%
        "%pythondir%python.exe" "%unrpycpy%" --init-offset --try-harder "%gamedir%
    )
ther is no switch --init-offset in the new unrypc version the switch is called --no-init-offset but that switch is only for lower renpy versions 8 to 6.xx means all versions that are lower then 8 should us that switch if you on renpy 8 dont us that switch.
Remove that switch if you know its are renpy version higher as 8
 
Last edited:
  • Like
Reactions: joelurmel

Pantisocrat

Well-Known Member
Jul 3, 2017
1,026
1,427
You don't have permission to view the spoiler content. Log in or register now.

This is Thief of Hearts, but I'm getting similar from more or less everything the last few days. UnRen-forall.bat 9.4.
 

Wills747

Engaged Member
Dec 14, 2018
2,402
5,018
After decompiling Summertime Saga [v21.0.0 wip.5003] using the latest version of , an error occurred when running renpy-8.2.3:

I'm sorry, but an uncaught exception occurred.

While loading the script.
File "game/src/+config.rpy", line 1, in <module>
init python early hide:
File "game/src/+config.rpy", line 2, in _execute_python_hide
from saga import __version__
ModuleNotFoundError: No module named 'saga'


Anybody know what's going on? Ty
Try copy the "saga" folder into your SDK/lib/python39 folder if you're running from your SDK.
 

Madeddy

Active Member
Dec 17, 2017
820
474
Sorry for the late answers folks:

I thing i know what you looking for yes ther is another key used for that game because the line looks like this :
RPA-3.0 00000000009d0b28 42424242 that is 100% not the commen rpa3 key
Ah no, you're mistaken. There is everything right with your line.
  1. The first group is the RPA generation.
  2. The second group is the data offset and always different.
  3. The third is actually the key and always this value (42...).
You don't have permission to view the spoiler content. Log in or register now.

This is Thief of Hearts, but I'm getting similar from more or less everything the last few days. UnRen-forall.bat 9.4.
Sure.
As explained before, use a recent unrpyc for decompiling .rpyc files, if the the game has a newer variant of RenPy (7.5+). The ones in the different UnRen variants which float around are hopeless outdated.

That said, the available UnRen variants are half useless this days for newer games, because they are unmaintained. Simple starting some of the UnRen versions will error sometimes already. Unpacking works, decompiling only with luck.

Greets
 
Last edited:

master861

Well-Known Member
Nov 4, 2022
1,071
1,254
Sorry for the late answers folks:

Ah no, you're mistaken. There is everything right with your line.
  1. The first group is the RPA generation.
  2. The second group is the data offset and always different.
  3. The third is actually the key and always this value (42...).

Sure.
As explained before, use a recent unrpyc for decompiling .rpyc files, if the the game has a newer variant of RenPy (7.5+). The ones in the different UnRen variants which float around are hopeless outdated.

That said, the available UnRen variants are half useless this days for newer games, because they are unmaintained. Simple starting some of the UnRen versions will error sometimes already. Unpacking works, decompiling only with luck.

Greets
Ah ok then its my mistake. my unren version i postet works only with newer renpy games its only 1 switch that needs to be changed that my version works with all renpy games but not sure how to check if its renpy 8 or lower. The new unrpyc.py uses --no-init-offset for old renpy versions.
 

Madeddy

Active Member
Dec 17, 2017
820
474
not sure how to check if its renpy 8 or lower.
Everyone can always check for the version of a Ren'Py app by looking in the file ".../YOUR_APP/game/script_version.txt". Or in the directory above(APP base dir) in the "log.txt" or if you have the file in the "traceback.txt".
 

master861

Well-Known Member
Nov 4, 2022
1,071
1,254
Everyone can always check for the version of a Ren'Py app by looking in the file ".../YOUR_APP/game/script_version.txt". Or in the directory above(APP base dir) in the "log.txt" or if you have the file in the "traceback.txt".
No not that i dit mean in the batch script coding
 

RuruPP

New Member
Oct 9, 2017
2
0
It's 'normal' for an outdated version that's been around for years to malfunction. First, clasp your hands together in front of the monitor and pray. Then, proceed to dismantle the files. 90% of the time, you'll encounter errors, but if you're lucky, the remaining 10% might just work correctly.
 
5.00 star(s) 3 Votes