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

5.00 star(s) 3 Votes

VepsrP

Well-Known Member
Modder
Dec 13, 2017
1,387
1,384
Sorry if this has already been answered, but how do I use the windowed version exactly?
I used to use the old unren.bat copying it in the game folder and then clicking on it and selecting the appropriate menu choice, is this the same? I am asking because I can see the zip file has some .py but I can't see any executable.

Thanks in advance for any explanation.
It is launched using python. Usually this version lies in its native place and runs from there. It is so named because it has a graphical interface. This version is more suitable for those users who have all the games in the same folder. Once you have set the path to the folder with games, there is no need to throw anything anywhere anymore. Plus, the latest version has sorting by date of change, so the recently unpacked game is likely to be at the top of the list. But without the ability to run python scripts, I do not recommend this version.
 
  • Like
Reactions: PhantomStranger

PhantomStranger

Active Member
Oct 23, 2017
805
1,130
It is launched using python. Usually this version lies in its native place and runs from there. It is so named because it has a graphical interface. This version is more suitable for those users who have all the games in the same folder. Once you have set the path to the folder with games, there is no need to throw anything anywhere anymore. Plus, the latest version has sorting by date of change, so the recently unpacked game is likely to be at the top of the list. But without the ability to run python scripts, I do not recommend this version.
I have python 3.10 installed, but it seems I am not able to open any of the files. What's the command to launch it?
 

VepsrP

Well-Known Member
Modder
Dec 13, 2017
1,387
1,384
I have python 3.10 installed, but it seems I am not able to open any of the files. What's the command to launch it?
python Unren.py, If errors are issued instead of a window, then need to look at what exactly it don't like.
 

estrada777

Engaged Member
Modder
Donor
Mar 22, 2020
3,960
9,738
I've run into a couple errors on decompiling this one: https://f95zone.to/threads/raptus-ep-5-part-2-redstarstudios-by-infros.63041/

Using v11.

Example:

Code:
Decompiling S:\working\Raptus_RedStarStudios-pc\game\mapscreens.rpyc to S:\working\Raptus_RedStarStudios-pc\game\mapscreens.rpy...
Error while decompiling S:\working\Raptus_RedStarStudios-pc\game\mapscreens.rpyc:
Traceback (most recent call last):
  File "S:\working\Raptus_RedStarStudios-pc\unrpyc.py", line 244, in worker
    return decompile_rpyc(filename, args.clobber, args.dump, decompile_python=args.decompile_python,
  File "S:\working\Raptus_RedStarStudios-pc\unrpyc.py", line 208, in decompile_rpyc
    data, ast = magic.safe_loads(raw_contents, class_factory, {"_ast", "collections"})
  File "S:\working\Raptus_RedStarStudios-pc\decompiler\magic.py", line 597, in safe_loads
    return SafeUnpickler(StringIO(string), class_factory, safe_modules, use_copyreg,
  File "/home/tom/ab/renpy-build/tmp/install.linux-x86_64/lib/python3.9/pickle.py", line 1212, in load
  File "/home/tom/ab/renpy-build/tmp/install.linux-x86_64/lib/python3.9/pickle.py", line 1697, in load_setitems
TypeError: 'RevertableDict' object does not support item assignment

Decompilation of 1 file failed
 

VepsrP

Well-Known Member
Modder
Dec 13, 2017
1,387
1,384
I've run into a couple errors on decompiling this one: https://f95zone.to/threads/raptus-ep-5-part-2-redstarstudios-by-infros.63041/

Using v11.

Example:

Code:
Decompiling S:\working\Raptus_RedStarStudios-pc\game\mapscreens.rpyc to S:\working\Raptus_RedStarStudios-pc\game\mapscreens.rpy...
Error while decompiling S:\working\Raptus_RedStarStudios-pc\game\mapscreens.rpyc:
Traceback (most recent call last):
  File "S:\working\Raptus_RedStarStudios-pc\unrpyc.py", line 244, in worker
    return decompile_rpyc(filename, args.clobber, args.dump, decompile_python=args.decompile_python,
  File "S:\working\Raptus_RedStarStudios-pc\unrpyc.py", line 208, in decompile_rpyc
    data, ast = magic.safe_loads(raw_contents, class_factory, {"_ast", "collections"})
  File "S:\working\Raptus_RedStarStudios-pc\decompiler\magic.py", line 597, in safe_loads
    return SafeUnpickler(StringIO(string), class_factory, safe_modules, use_copyreg,
  File "/home/tom/ab/renpy-build/tmp/install.linux-x86_64/lib/python3.9/pickle.py", line 1212, in load
  File "/home/tom/ab/renpy-build/tmp/install.linux-x86_64/lib/python3.9/pickle.py", line 1697, in load_setitems
TypeError: 'RevertableDict' object does not support item assignment

Decompilation of 1 file failed
Probably the file was not recompiled for the new version of the engine. Only an older engine from another game will help here. Throw a file there and decompile it. There has already been such a case.
 

Madeddy

Active Member
Dec 17, 2017
838
487
I've run into a couple errors on decompiling this one: https://f95zone.to/threads/raptus-ep-5-part-2-redstarstudios-by-infros.63041/

Using v11.

Example:
Code:
...
TypeError: 'RevertableDict' object does not support item assignment
...
Probably the file was not recompiled for the new version of the engine....
I checked his game and it runs renpy v8.0.3 so i would say the error is legit.

In my version of unrpyc(pure py3 - in my GH to find) the error doesnt happen. I think its because i have a code change extra in it(magic.py, from line 112). But i get another error for 3 files which didn happen with your version or at least he did'n post them up there. Dont know. Either way the extra error i get with my version lets me scratching my head... i can't figure it out.
 
Last edited:

VepsrP

Well-Known Member
Modder
Dec 13, 2017
1,387
1,384
I checked his game and it runs renpy v8.0.3 so i would say the error is legit.

In my version of unrpyc(pure py3 - in my GH to find) the error doesnt happen. I think its because i have a code change extra in it(magic.py, from line 112). But i get another error for 3 files which didn happen with your version or at least he did'n post them up there. Dont know. Either way the extra error i get with my version lets me scratching my head... i can't figure it out.
Look what a joke. I have already encountered a game in which one file was not compiled on the 7.5+ or 8 version engine. In the engine itself, there is backward compatibility with the old version of "RevertableDict", and in the decompiler, the version is selected depending on the version of the engine. When I threw the file into the game with the old engine, it was calmly processed. So this is more likely just a problem of an not recompiled file, rather than the decompiler itself.
 

Madeddy

Active Member
Dec 17, 2017
838
487
Sorry, I dont understand what you say in the last post.
You don't have permission to view the spoiler content. Log in or register now.

The previous code is in win7 with your unren-ultrahack and the game estrada777 mentioned up there. With my current unrpyc version and in linux, like explained up there in my other post, i get the following:

You don't have permission to view the spoiler content. Log in or register now.

Like said: I miss something what changed in the revertabledict code. But what...

Greets
 
Last edited:

VepsrP

Well-Known Member
Modder
Dec 13, 2017
1,387
1,384
Sorry, I dont understand what you say in the last post.
You don't have permission to view the spoiler content. Log in or register now.

The previous code is in win7 with your unren-ultrahack and the game estrada777 mentioned up there. With my current unrpyc version and in linux, like explained up there in my other post, i get the following:

You don't have permission to view the spoiler content. Log in or register now.

Like said: I miss something what changed in the revertabledict code. But what...

Greets
They just changed the module responsible for this element. It used to be "renpy.python", now "renpy.Revertable"
 

Madeddy

Active Member
Dec 17, 2017
838
487
They just changed the module responsible for this element. It used to be "renpy.python", now "renpy.Revertable"
Yes and no. :p
I have seen the changes happen in February and expected already trouble if the new version are released. Didn know it will be this hard to understand.

They have broken up the old renpy.python in three modules: renpy.python, renpy.revertable andrenpy.rollback. But there where also some changes on the old code. If i understand it correctly, they mutate the normal python dict() somehow. Perhaps for better revert/rollback behavior. ->

Whatever it is, its headache for the decompiler. And for us... :cautious:
 

VepsrP

Well-Known Member
Modder
Dec 13, 2017
1,387
1,384
Yes and no. :p
I have seen the changes happen in February and expected already trouble if the new version are released. Didn know it will be this hard to understand.

They have broken up the old renpy.python in three modules: renpy.python, renpy.revertable andrenpy.rollback. But there where also some changes on the old code. If i understand it correctly, they mutate the normal python dict() somehow. Perhaps for better revert/rollback behavior. ->

Whatever it is, its headache for the decompiler. And for us... :cautious:
No, not a headache. A headache is if the authors of the game do not recompile all scripts after changing the engine. Otherwise, everything is decompiled calmly. I'm just checking for the presence of "renpy.Revertable" and from this I form the necessary module in the un.rpyc file.
 

Madeddy

Active Member
Dec 17, 2017
838
487
the authors of the game do not recompile all scripts after changing the engine. Otherwise, everything is decompiled calmly. I'm just checking for the presence of "renpy.Revertable" and from this I form the necessary module in the un.rpyc file.
I think i understand now what are you saying but to my knowledge it doesn't work. At least not for me.

I have a game here with renpy v8.0.3 and with the source files. Trying to decompile the rpyc's, which are also there, fails. The errors are in the other post up there. So i recompiled the sources in the actual SDK for 8.0.3 and decompiling this gives me the same errors.

So either it is not as easy as you say'd or the rpy sources to the mentioned game are not the originals, therefore already broken. A curious thing...

Greets
 

VepsrP

Well-Known Member
Modder
Dec 13, 2017
1,387
1,384
I think i understand now what are you saying but to my knowledge it doesn't work. At least not for me.

I have a game here with renpy v8.0.3 and with the source files. Trying to decompile the rpyc's, which are also there, fails. The errors are in the other post up there. So i recompiled the sources in the actual SDK for 8.0.3 and decompiling this gives me the same errors.

So either it is not as easy as you say'd or the rpy sources to the mentioned game are not the originals, therefore already broken. A curious thing...

Greets
Well, then it's time to look at this problem. In the meantime, you can look at what is now in the tool. I decided to post it on .
 
  • Like
Reactions: Madeddy

VepsrP

Well-Known Member
Modder
Dec 13, 2017
1,387
1,384
Unfortunately this isn't working anymore with many new releases.
The latest is https://f95zone.to/threads/nothing-is-forever-v0-5-1-mrsilverlust.87506/ but there were also 5 games or so before that it didn't work with.
It just says python dir not found.

You can still unpack the games most of the time with depack12.rpy but even some online rpyc decrypting sites fail to unpack the rpyc files from Nothing Is Forever (and probably many others by now).
I just checked and everything is working fine. Unpacked and decompiled. Accordingly, it finds a folder with python. Make sure that you are using the latest version, as well as the absence of No-ASCII characters and various special characters, like an exclamation mark.
 

Madeddy

Active Member
Dec 17, 2017
838
487
edit: Nevermind, it does start in Explorer, but still fails to decompile most scripts.
Thats not a problem with the decompiler or with Unren at all.
Python isn't able to find the app(unrpyc) you want executed, which means there is something in your system wrong.

Try to open a console, navigate(cd ...path) to your game you want to work on and where you should have placed Unren. Then execute Unren there directly. I am curious what happens.
 
  • Like
Reactions: wiwem71072

VepsrP

Well-Known Member
Modder
Dec 13, 2017
1,387
1,384
I've just downloaded everything, including the latest UnRen-ultrahack.bat, again to do more testing and it seems like the problem comes from how the program is launched.

Windows Explorer = Works every time
My own 64-bit file manager = Works only when I use "run as admin" from the context menu (I'm already running everything as admin with UAC disabled)
Some old 32-bit file manager from 2007 = Never works (with newer games, still works with most of them)

I've also tried different paths, including "D:\nif", but that made no difference.

edit: Nevermind, it does start in Explorer, but still fails to decompile most scripts.
I've attached the console output below:
You don't have permission to view the spoiler content. Log in or register now.
It's strange, but for some reason your system doesn't want to unpack the .cab file. Have you tried the powershell version? A different type of archive is used there. For some reason, your PC have cut out a part of the functionality that should be by standard.
 
  • Like
Reactions: wiwem71072

VepsrP

Well-Known Member
Modder
Dec 13, 2017
1,387
1,384
The PowerShell version wasn't working either at first, because it couldn't call some .NET file system lib.
After installing the final .NET 4.8 version and apparently upgrading to PowerShell 4 the decrypting finally worked.

The .bat version still doesn't work though.
Does this require some specific Python version to be installed?
I have the latest 3.8, because newer versions don't support Windows 7.
No, decompression of "decomp.cab" is done by CMD. But for some reason there is no necessary program. Check in the folder "C:\Windows\System32 " file availability expand.exe . logically, this is a built-in application of the system that does not require separate libraries. About Powershell, thank you for reminding me, I will now write a clarification in the OP. Indeed, it requires 4 versions and higher.
 
  • Like
Reactions: wiwem71072

Madeddy

Active Member
Dec 17, 2017
838
487
...I was just missing %systemroot%\System32 from my user environment variables...
Nice. I thought already in this direction, but the fact that unren not able was to unpack the tools, did not come to mind. Good catch VepsrP!

Now that that's settled, let's move on to the other issue. Where you able to test the problem from here: https://f95zone.to/threads/unren-ol...-0-unren-powershellhack-v6.92717/post-9368213 ? With my current i have just the one error type left.
For me it looks as if pythons pickle module bitches about this and not unrpyc. So it could mean, the data we move from "decompress" to unpickler is somehow wrong. Or we miss something what we need to do with the data, before we put it in the unpickler. :confused:
 

VepsrP

Well-Known Member
Modder
Dec 13, 2017
1,387
1,384
Nice. I thought already in this direction, but the fact that unren not able was to unpack the tools, did not come to mind. Good catch VepsrP!

Now that that's settled, let's move on to the other issue. Where you able to test the problem from here: https://f95zone.to/threads/unren-ol...-0-unren-powershellhack-v6.92717/post-9368213 ? With my current i have just the one error type left.
For me it looks as if pythons pickle module bitches about this and not unrpyc. So it could mean, the data we move from "decompress" to unpickler is somehow wrong. Or we miss something what we need to do with the data, before we put it in the unpickler. :confused:
I just checked (yes, it took too long, because I ran into another problem that did not allow me to solve this one), if in the RevertableDict class __module__ = "renpy.python", then errors appear in some files, and if __module__ = "renpy.revertable", then in others, and in the previous files everything is decompiled and vice versa. Thus, I can confirm that in some compiled files there is simply the old format of this class and it is not possible to decompile both variants at the same time, since the __module__ variable can be set only once.
 
5.00 star(s) 3 Votes