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

5.00 star(s) 3 Votes

Gen Urobuchi

Newbie
Nov 19, 2020
84
139
52
For all Unren users,

Bad news since the release of Ren'Py 8.4.*, no tool is capable of decompiling rpyc files anymore.
This is because Ren'Py decided to change the file structure and implement anti-reverse engineering measures to prevent this.

We must therefore wait for an update of the unrpyc tools from CensoredUserName or rpydec, or even a new tool.
Are we able to "rebuild" the game in a lower ren'py version sdk - and do it that way?
 

gnadudu

Well-Known Member
Aug 31, 2018
1,995
2,957
437
For all Unren users,

Bad news since the release of Ren'Py 8.4.*, no tool is capable of decompiling rpyc files anymore.
This is because Ren'Py decided to change the file structure and implement anti-reverse engineering measures to prevent this.

We must therefore wait for an update of the unrpyc tools from CensoredUserName or rpydec, or even a new tool.
Did you check the dev branch of unrpyc? It did get an update 3 weeks ago to support the latest changes from renpy 8.4...
 
Last edited:
  • Thinking Face
Reactions: Gen Urobuchi

Gen Urobuchi

Newbie
Nov 19, 2020
84
139
52
Did you check the dev branch of unrpyc? It did get an update 3 weeks ago to support the latest changes from renpy 8.4...

I think that is what he was talking about?
Maybe Madeddy might know better?
 

gnadudu

Well-Known Member
Aug 31, 2018
1,995
2,957
437

I think that is what he was talking about?
Maybe Madeddy might know better?
I'm talking about this:
The person in the issue you linked still uses unrpyc v2.0.2 and not the one from the dev branch...
If you look at the commits from the dev branch you can see the work for supporting 8.4 was started in January and 3 weeks ago some additional work was done to support newly added attributes:
1753649982600.png
 
  • Like
Reactions: Gen Urobuchi

joelurmel

Engaged Member
Nov 3, 2022
2,644
4,701
397
I'm talking about this:
The person in the issue you linked still uses unrpyc v2.0.2 and not the one from the dev branch...
If you look at the commits from the dev branch you can see the work for supporting 8.4 was started in January and 3 weeks ago some additional work was done to support newly added attributes:
View attachment 5084233
Yep, got it and the solution work. So I've updated my UnRen-forall to Version 9.6.44 :cool:
 

gnadudu

Well-Known Member
Aug 31, 2018
1,995
2,957
437
Yep, got it and the solution work. So I've updated my UnRen-forall to Version 9.6.44 :cool:
Be aware it's the dev branch and there might still be some issues. Looking through the pull requests there seems to be a problem with else statements:


This should probably be fixable by changing line 407 in decompiler/__init__.py from
Code:
if (i + 1) == len(ast.entries) and not isinstance(condition, renpy.ast.PyExpr):
to

Code:
if (i + 1) == len(ast.entries) and not isinstance(condition, (renpy.ast.PyExpr, renpy.astsupport.PyExpr)):
if I understand it correctly, but that would need some tests (so if someone reports else statement errors this might be a way to fix it...)
 

joelurmel

Engaged Member
Nov 3, 2022
2,644
4,701
397
Be aware it's the dev branch and there might still be some issues. Looking through the pull requests there seems to be a problem with else statements:


This should probably be fixable by changing line 407 in decompiler/__init__.py from
Code:
if (i + 1) == len(ast.entries) and not isinstance(condition, renpy.ast.PyExpr):
to

Code:
if (i + 1) == len(ast.entries) and not isinstance(condition, (renpy.ast.PyExpr, renpy.astsupport.PyExpr)):
if I understand it correctly, but that would need some tests (so if someone reports else statement errors this might be a way to fix it...)
That's why I said it was a temporary solution. I'll update when it's published in the master branch.
 

Madeddy

Well-Known Member
Dec 17, 2017
1,016
735
244
Did you check the dev branch of unrpyc? It did get an update 3 weeks ago to support the latest changes from renpy 8.4...
If you look at the commits from the dev branch you can see the work for supporting 8.4 was started in January and 3 weeks ago some additional work was done to support newly added attributes:
Yeah. I expected already last year, after i catched by chance some dev talk, Ren'Py v8.4 will break again some stuff. In January there was then prove. (See image)

There is likely even more as the code errors as we got so far, because not every game uses the all functions which have "new" code. In the past there where games with new Ren'Py, but decompiled with "some" old unrpyc versions. o_O
Be aware it's the dev branch and there might still be some issues.
Exactly. That's one of the reasons why the dev branch sits for a while before release. As you perhaps noticed current dev has still some fixes missing for now. It will come with time...
 

Tidus Black

Newbie
Dec 20, 2021
51
49
152
Updated my Unren-forall.bat to support Ren'Py 8.4.1 which have Python 3.12. Next update of Python 3 will be supported automatically.
Good morning, good afternoon, or good evening. I don't know if it works that way for him, but when I try to use this new version in Renpy 7.4 to 8.0 games, it shows the rpyc files but closes the program. In the forall version (v9.4) (240216), they extract normally without closing, but it doesn't work in Renpy 8.4
 
5.00 star(s) 3 Votes