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
"Error: Cannot locate python.exe, unable to continue."
UnRen is in the same folder as game executable.
Reading the code... either there's no "encodings" folder or your Operating System is not 64-bit.
I'am not able to follow your train of thought. Could you please explain what his error has anything to do with the encodings?
Also: my 64-bit game does have (i believe) 64-bit python in the lib.
The paths in lib are:

py3-linux-x86_64
py3-windows-x86_64
python3.9

Could it be my version of python is later? ...or the folder name changed?
1. Your game has the necessary folders for 64bit, thats correct.
2. The python version in your operating system is irrelevant for this here. Unren depends on the (cut-down)python version which comes with the renpy engine and will not so fast switch versions. For py2 its 2.7x and for py3 its 3.9.x

You should simple go with the Unren version from VepsrP. Its more up to date.
 

ptttah

New Member
Mar 21, 2019
10
9
As part of it's search for python.exe, UnRen searches for a couple of extra directories it will need.
If it finds a py3 folder, such as py3-windows-x86_64, it also searches for "python3.X" and "python3.X\encodings"
If it finds those additional folders, it loads the main menu.

If it fails to find those additional folders, it will consider the python 3 version incomplete.
It will then search for a python 2 folder, then a python 1 folder, then spit out the failure to find python.exe error.

No error message specific to an incomplete python 3 package is given, it just continues it's search.


Interestingly, if it finds an incomplete version of python 2, it does give an incomplete package error and exit. So perhaps this missing error is just an oversite?
 

professorx10

Active Member
Game Developer
Jul 22, 2018
652
838
I'am not able to follow your train of thought. Could you please explain what his error has anything to do with the encodings?

1. Your game has the necessary folders for 64bit, thats correct.
2. The python version in your operating system is irrelevant for this here. Unren depends on the (cut-down)python version which comes with the renpy engine and will not so fast switch versions. For py2 its 2.7x and for py3 its 3.9.x

You should simple go with the Unren version from VepsrP. Its more up to date.
Checked your link to VepsrP and couldn't find any updated version of unren...? I've tried Unren 1.0.10 as I thought that was the latest. ??
 

professorx10

Active Member
Game Developer
Jul 22, 2018
652
838
Reading the code... either there's no "encodings" folder or your Operating System is not 64-bit.

The encodings folder should be lib/python3.9/encodings/
Just checked my tree and there is a lib/python3.9/encodings/ with lots of files in it
 

Madeddy

Active Member
Dec 17, 2017
838
487
As part of it's search for python.exe, UnRen searches for a couple of extra directories it will need.
If it finds a py3 folder, such as py3-windows-x86_64, it also searches for "python3.X" and "python3.X\encodings"
If it finds those additional folders, it loads the main menu.

If it fails to find those additional folders, it will consider the python 3 version incomplete.
Isee. Ok, thanks. Search for encodings dir is new and wasnt in the older UnRen from user sam. That is why it confused me.
Standard was this:
Code:
if exist "game" if exist "lib" if exist "renpy" ...
Mainly it was done to test if UnRen is located in the games root dir and as a fallback, the test was repeated with the parent dir prefix in case UnRen is in the game dir. This was before we had Renpy in two python versions and for two architectures. It got a bit more complicated this days.

This explains still not why someone has chosen to check for a dir like "encodings" to see if they have a working renpy or python version. Thats nonsense. Its like you look at the car dealership if a car has seats and consider it then fully operational. Easiest way is to try and start the game.

Anyway, the py2 check tests for "python2.*" and for a second variant "pythonlib2.*", which could be some compatibility thing. I did never before see the second. Whyever...

I don't bother these days with the old Unren with the last updates, its IMHO very strange written.
 

professorx10

Active Member
Game Developer
Jul 22, 2018
652
838
Thank you for trying to help. At the end of the link is "Loader.zip" which I unzip, and put into my unren directory. I'm using "UnRen_windowed_by_Gideonv.3.7.0" which has "UnRen-1.0.10.bat" in it...along with a copy of UnRen.py and more...
If I attach my Unren Directory to the game folder either 'game' or root, the error says it fails to find python and asks if we're in the game directory.
If I copy all the files out of "UnRen_windowed_by_Gideonv.3.7.0" directory and put them in either game or root, and run "UnRen-1.0.10.bat" I get the same error.

If I put UnRen.py in the game folder by itself, nothing de-compiles.

This game is "Stellar Crossroads (either ver 0.10 or 0.20, just out)" and is the only one I've tried it on.

I feel like I'm missing something simple!
 

VepsrP

Well-Known Member
Modder
Dec 13, 2017
1,387
1,384
Thank you for trying to help. At the end of the link is "Loader.zip" which I unzip, and put into my unren directory. I'm using "UnRen_windowed_by_Gideonv.3.7.0" which has "UnRen-1.0.10.bat" in it...along with a copy of UnRen.py and more...
If I attach my Unren Directory to the game folder either 'game' or root, the error says it fails to find python and asks if we're in the game directory.
If I copy all the files out of "UnRen_windowed_by_Gideonv.3.7.0" directory and put them in either game or root, and run "UnRen-1.0.10.bat" I get the same error.

If I put UnRen.py in the game folder by itself, nothing de-compiles.

This game is "Stellar Crossroads (either ver 0.10 or 0.20, just out)" and is the only one I've tried it on.

I feel like I'm missing something simple!
In my topic there is an instruction showing how to work with this tool. But I recommend taking another option, since "Windowed" has not been updated for a long time and may not support all games.
 

ptttah

New Member
Mar 21, 2019
10
9
I feel like I'm missing something simple!
Maybe you're running it from a zip folder? I've seen that before.

I was able to download Stellar Crossroads 0.10 and use unren to unpack everything.

I downloaded Stellar Crossroads, used 7Zip to unpack it.
I downloaded the latest version of UnRen 1.0.10 and unpacked that.
I moved UnRen-1.0.10.bat to Downloads\StellarCrossroads-0.10-pc\StellarCrossroads-0.10-pc\
I started up UnRen and it shows me the main menu. From there everything worked as expected.

I'm running Windows 7 Pro, 64-bit. Everything was done on an SSD. The hard drive is not encrypted.
 

professorx10

Active Member
Game Developer
Jul 22, 2018
652
838
Maybe you're running it from a zip folder? I've seen that before.

I was able to download Stellar Crossroads 0.10 and use unren to unpack everything.

I downloaded Stellar Crossroads, used 7Zip to unpack it.
I downloaded the latest version of UnRen 1.0.10 and unpacked that.
I moved UnRen-1.0.10.bat to Downloads\StellarCrossroads-0.10-pc\StellarCrossroads-0.10-pc\
I started up UnRen and it shows me the main menu. From there everything worked as expected.

I'm running Windows 7 Pro, 64-bit. Everything was done on an SSD. The hard drive is not encrypted.
I have a system I can duplicate that exact scene on. I'll try that and check it out as I have the parts.
My current system is on Win 10 Pro, 64 bit with SSD.
I'll get back to ya
 

ptttah

New Member
Mar 21, 2019
10
9
Getting this with Parasite Black, anyone know a fix?
  • UnRen needs to be in the game's root or game directory.
  • The game cannot be in a zip file.
  • Looks like ParasiteBlack 0.145 only supports a 64-bit operating system, so you might need that?

Maybe it doesn't recognize something about your OS or hardware?
If everything else is ok, you could try:

Open UnRen-1.0.10.bat with notepad. (Right click, "Edit")
Search for:
if exist "%pythondir%%PY3%%_os_bitness%\" (
Add set "_os_bitness=x86_64" just before that line so the section looks like this:
Code:
)

set "_os_bitness=x86_64"
if exist "%pythondir%%PY3%%_os_bitness%\" (
    for /f "delims=" %%A in ('dir /ad /b /s %pythondir%python3.*') do (
This will set your operating system "bitness" to 64-bit just before it starts actually searching for a python folder.

Aside from that I have no clue. UnRen works for me with that game on Windows 7.
 

VepsrP

Well-Known Member
Modder
Dec 13, 2017
1,387
1,384
Isee. Ok, thanks. Search for encodings dir is new and wasnt in the older UnRen from user sam. That is why it confused me.
Standard was this:
Code:
if exist "game" if exist "lib" if exist "renpy" ...
Mainly it was done to test if UnRen is located in the games root dir and as a fallback, the test was repeated with the parent dir prefix in case UnRen is in the game dir. This was before we had Renpy in two python versions and for two architectures. It got a bit more complicated this days.

This explains still not why someone has chosen to check for a dir like "encodings" to see if they have a working renpy or python version. Thats nonsense. Its like you look at the car dealership if a car has seats and consider it then fully operational. Easiest way is to try and start the game.

Anyway, the py2 check tests for "python2.*" and for a second variant "pythonlib2.*", which could be some compatibility thing. I did never before see the second. Whyever...

I don't bother these days with the old Unren with the last updates, its IMHO very strange written.
1671380132194.png
This was the name of the folder before 7.4 version.
 

fried

Almost
Moderator
Donor
Nov 11, 2017
2,313
6,093
Hey folks, sorry I've been away. I had a version which fixed everything that I was looking at from reports as of a couple months back EXCEPT the exclamation points in paths. Then I decided to rewrite the path handling from top to bottom and got diverted with real-world needs.

So, will try to catch up here and see what else needs updates since that point.

But I can at least offer the version which does better at handling non-ASCII characters in the path soon and update the OP after I properly tagging the debug code to make it a runtime option, then regression test a bit.
 
  • Like
Reactions: Meushi

jamesrees

New Member
Aug 16, 2017
3
1
I have the same exact problem. Did you find any solution?
Maybe it is my monkey brain but I didn't quite follow the thread when they were talking about this but essentially just make sure that any folder name you have doesn't have a "(" or a ")" in it or probably a space too
My extracted folder for my game was "New Folder (2)" I changed it to "N" and it worked fine after that
Hope that helps :)
 
  • Like
Reactions: VepsrP

VepsrP

Well-Known Member
Modder
Dec 13, 2017
1,387
1,384
Maybe it is my monkey brain but I didn't quite follow the thread when they were talking about this but essentially just make sure that any folder name you have doesn't have a "(" or a ")" in it or probably a space too
My extracted folder for my game was "New Folder (2)" I changed it to "N" and it worked fine after that
Hope that helps :)
Thanks for the suggested example, I will test it on my own version (the variant with parenthesis).
 

Madeddy

Active Member
Dec 17, 2017
838
487
  • Like
Reactions: jamesrees
5.00 star(s) 9 Votes