Tool Ren'Py UnRen.bat v1.0.11d - RPA Extractor, RPYC Decompiler, Console/Developer Menu Enabler

5.00 star(s) 9 Votes

Madeddy

Active Member
Dec 17, 2017
838
487
Sry for the late reply folks.
...
That Sam, or the guy who now collaborate to the project (don't remember his pseudo), make a new version.
...

Sam, are you working on a new version of v0.9 UnRen-dev.bat? If so, do you have a targeted completion date? Thank you.
I don't think Sam will work on the current/old Unren again or change the dev state of 0.9. AFAIK(!) There are good reasons.

But, let's just clear this up about the Unren versions:
Unren 0.9 itself has no code changes too 0.8 version. The only difference is it comes with a "hacked" unofficial (and by now outdated) unrpyc for decompiling RenPy scripts, because the multiprocessing in unrpyc did not work with post 7.2 RenPy. So Sam removed it. Slower with single core decompiling, but working. However the 0.9 version can be seen as stable for everything except decompiling.

So. Reasons and current state:
Sam indented to rewrite Unren completely in python, we talked some about this but he sadly didn't have much time for it (so far...). I did then most of the python rewrite early this year, some testing and run into a few problems. I came then to expect for the foreseeable future many additional problems, because we wanted to support different things like:
  • old and new RenPy versions; with this the need for
  • python2 and 3 and
  • multi-OS...
which makes things complex. Additional is there no python3 unrpyc version and RenPy changes ATM many internal things, moves to py3 and this adds to the headache. Also got i shorter on free time so i decided to wait and see what happens related to new versions of the mentioned apps. If they stabilize again i will see what my free time is what and Sam says and pick this up again. Hopeful with a bit help then.

Any more questions? Ask away.
You're probably forgetting nothing. The version 7.4.0 of Ren'py introduced many changes in the way it deal with Python, what make unrpyc.py being actually unusable. But the "un.rpyc" version of the tool still works perfectly.
Uhm... AFAIK RenPy 7.4 is still just in the pre-release stage and nobody shouldn't use it for productive work. Are you sure you didn't mix something up there? Or do i misunderstand somehow? :unsure:
 
Last edited:

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,862
16,011
Uhm... AFAIK RenPy 7.4 is still just in the pre-release stage and nobody shouldn't use it for productive work.
Tell this to the (many) devs who use it, not to me.


Are you sure you didn't mix something up there? Or do i misunderstand somehow? :unsure:
One game have been gave as example in the previous page, just looks by yourself.
 
  • Like
Reactions: yoyomistro

Madeddy

Active Member
Dec 17, 2017
838
487
Tell this to the (many) devs who use it, not to me.
... just looks by yourself.
Yeah. Did take a look - for my curiosity.
Unbelievable. I was not aware there are so-called devs who would do this... How can they ever think that could be a good idea? :cautious: No wonder decompiling will not work. Unrpyc is not up to date for the changes from prerelease RenPy...

For people with such games: You could try and run the game in a older version of the engine. No guarantees! But better steer clear of such stuff till their "makers" learn.
 
  • Like
Reactions: yoyomistro

doodle_dude

New Member
Dec 28, 2020
1
0
I am getting these errors.
Second error is when i only execute console and developer menu...
Help please
 
Last edited:

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,862
16,011
I am getting these errors.
The first one is a well known issue with unrpyc, that should be solved with the last version of unren. To fix it, you can follow what is said there.

As for the second one, the same kind of error was addressed few messages above yours. It come from the game itself, disable the developer mode, and you'll play the game in the exact same broken way that any other players.
 

Zoey Raven

Game Developer/Walkthrough/Guide Maker
Modder
Donor
Game Developer
Aug 31, 2019
3,213
20,154
Will this work with Renpy 7.4.0? I supposed I could just test it on my own game.
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,862
16,011
Will this work with Renpy 7.4.0? I supposed I could just test it on my own game.
As discussed in the few last pages, yes but no.
un.rpyc still works great, but starting this 7.4.0 version, and due to a radical change in the way Ren'py now handle some libraries, the standalone unrpyc.py version now used by unRen is broke. This while everything else will works correctly.
 

Zoey Raven

Game Developer/Walkthrough/Guide Maker
Modder
Donor
Game Developer
Aug 31, 2019
3,213
20,154
As discussed in the few last pages, yes but no.
un.rpyc still works great, but starting this 7.4.0 version, and due to a radical change in the way Ren'py now handle some libraries, the standalone unrpyc.py version now used by unRen is broke. This while everything else will works correctly.
So what do I need to download in order to extract what unren would extract?
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,862
16,011
Unren.bat will still extract the RPA file though right? That's all I really need it for.
Yes, without problem. While rpatool use the python.exe that come with Ren'py, it have no dependency and so still works perfectly fine.
 

Zoey Raven

Game Developer/Walkthrough/Guide Maker
Modder
Donor
Game Developer
Aug 31, 2019
3,213
20,154
Yes, without problem. While rpatool use the python.exe that come with Ren'py, it have no dependency and so still works perfectly fine.
So really the un.rpyc file is just for console commands?
 

Madeddy

Active Member
Dec 17, 2017
838
487
So really the un.rpyc file is just for console commands?
Ah... No. You mix there something up i think - Let's see.
Unren is just a script which allows you to do different tasks with a RenPy game. For two of this tasks it uses other applications for the real work. Which are:
  • A) Unpacking the RPA files you find in most RenPy games.
    *.rpa are just simple archives - basically slightly different zip files - with some of the game resources inside like images, audio, scripts etc. The game author can chose in which rpa he packs which content, how many he uses, how he name them. (Unren uses for now rpatool. There are at least three rpa unpacker out there.).
  • B) Decompiling script/program code files with a decompiler app (unrpyc in this case and the only one.).
    The dev writes his game logic(source code) in *.rpy script files. They're good to work with and to read for humans. The game engine rearranges/recodes the content then for easier and faster use by the engine into rpyc files (c=compiled). Comments for example will be removed(The machine does nor care for them).
  • >The other stuff Unren does is just to write a few *.rpy files with some RenPy commands in the game dir. e.g. activating the developer menu with:
    define config.developer = "True"
Renpy changed in the last 1,5 years much internal stuff and therefore decompiling games with Renpy 7.3.5 or newer works not really with the old "unrpyc" decompiler app. The author needs to update it, which i expect should in the next months or this year happen. After this, if time allows it, Sam and/or myself will work on updating UnRen and release a better(hopefully) and completely revamped UnRen.

Hope this is understandable explained. Greets
 

Madeddy

Active Member
Dec 17, 2017
838
487
No, i am not into grave diggin. Sry for commenting on this so late ... I did see this problem not earlier.
...But now i have issues with the unrpyc... it says me "ModuleNotFoundError: No module named 'util'" i think it's a mistake in the command prompt, i wrote that :
C:\Users\...\Python39\python.exe unrpyc.py -c "D:\game directory\game\script.rpyc"

i'm sure to forget something here.
Yes, you did indeed.
Never try to execute Python 2 applications in Python 3! There is a good chance it gives you a "ModuleNotFoundError". :whistle:

dont_know.gif

Funny how fast it can be and we trip ourself.
Cheerio folks!
 
Last edited:

Extra Lewd

Newbie
May 7, 2018
76
70
Bash:
echo %unrpyccab01%>> "%unrpyccab%.tmp"
echo %unrpyccab02%>> "%unrpyccab%.tmp"
echo %unrpyccab03%>> "%unrpyccab%.tmp"
echo %unrpyccab04%>> "%unrpyccab%.tmp"
echo %unrpyccab05%>> "%unrpyccab%.tmp"
echo %unrpyccab06%>> "%unrpyccab%.tmp"
echo %unrpyccab07%>> "%unrpyccab%.tmp"
echo %unrpyccab08%>> "%unrpyccab%.tmp"
echo %unrpyccab09%>> "%unrpyccab%.tmp"
echo %unrpyccab10%>> "%unrpyccab%.tmp"
echo %unrpyccab11%>> "%unrpyccab%.tmp"
echo %unrpyccab12%>> "%unrpyccab%.tmp"

Question: powershell have arrays and foreach? Why so typo? :rolleyes:
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,862
16,011
Question: powershell have arrays and foreach? Why so typo? :rolleyes:
Because it's a batch script that happen to use Powershell for few operations, not a Powershell script.
Of course, like it use Powershell, it could also be directly a Powershell script, but I assume that it started as some generic "make them run easily", before directly integrating the tools in a Base64 form. Therefore, it was already a batch script, so the development continued this way.
 

doble77

Newbie
Feb 24, 2018
75
67
I'm having the "Cannot locate python.exe" message, and I'm 100% sure that I'm executing the .bat file from the game root directory. I've read in this post that the python.exe file that unren looks for is suposed to be in the "/lib/windows-i686/" folder, but the game I've trying to use it on doesn't have that exact directory but one called "/windows-x86_64" with a python.exe file in it.
Is this something I can fix or do I need a newer unren version (I've used the two versions listed in the main page and the 0.10.1-dev on that post).
Thanks!
 
  • Thinking Face
Reactions: Anonymous100

Extra Lewd

Newbie
May 7, 2018
76
70
I'm having the "Cannot locate python.exe" message, and I'm 100% sure that I'm executing the .bat file from the game root directory. I've read in this post that the python.exe file that unren looks for is suposed to be in the "/lib/windows-i686/" folder, but the game I've trying to use it on doesn't have that exact directory but one called "/windows-x86_64" with a python.exe file in it.
Is this something I can fix or do I need a newer unren version (I've used the two versions listed in the main page and the 0.10.1-dev on that post).
Thanks!
check did in currrent folder existing renpy, game and lib folders.
I saw what if renpy folder didn 't exist you did message about do not existing python.exe

I suppouse what this is mistake and could be fixed in next updates by anne O'nymous


Ups, don't saw about windows-x86_64 folder. Resolving: You can edit folder windows-i686 to windows-x86_64, I suppouse.
But don't sure about 100% working by this editing. Anyway, try it.

anne O'nymous, a few words about script. Why do you check renpy folder to exist? I see what you use lib and game folders. But why do you check renpy folder? I didn't saw in code using renpy folder.


Oh, I saw what developer is Sam. Just note.
 
Last edited:

Madeddy

Active Member
Dec 17, 2017
838
487
Like already said: UnRen is just something cobbled together over time and at a death end. Batch/powershell/python ... :sick: sooo cumbersome. For the future there is the python rewrite of UnRen.

... that the python.exe file that unren looks for is suposed to be in the "/lib/windows-i686/" folder, but the game I've trying to use it on doesn't have that exact directory but one called "/windows-x86_64" with a python.exe file in it.
...
... Resolving: You can edit folder windows-i686 to windows-x86_64, I suppouse.
But don't sure about 100% working by this editing. Anyway, try it.
...
Why do you check renpy folder to exist? I see what you use lib and game folders. But why do you check renpy folder? I didn't saw in code using renpy folder.
...
A) RenPy games before version 7.4.0 didn come with a 64 bit Python and UnRen and the integrated tools are older as this, so its so far not used. You can try editing like you said. Tell us if it worked, ok?

B) UnRen's check for the "renpy" dir (along "lib" and "game") is not really needed, but just to be thorough about the script location. Also, you never know what nonsense config some people cook up on their systems. The extra check hurts not, however spare you perhaps a headache.
 
5.00 star(s) 9 Votes