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

5.00 star(s) 3 Votes

joelurmel

Engaged Member
Nov 3, 2022
2,650
4,704
397
Then I don"t understand the line I quote, because it reads contradictory to me.

Anyway, seeing you've taken apparently the caretaker job for unren:win, i got some thoughts. If you allow.
  1. I think its of advantage to make two unren versionsin the future. One for v8 and another for the old Ren'Py. Pre v8 Ren'Py is EOL, so will not significantly change anymore, means with this also not the unren tools.
    • The old version would be possible the last you make and will not need care anymore.
    • The new version will have less code and will be way less convoluted and very much simpler all around, which will ease maintaining it.
  2. You changed a lot of cmd code, so i would use a new name-suffix to prevent confusion. Unren+current and legacy or +renpy version or something else.
  3. Maybe a new thread for a new unren could be of of advantage. This could replace the others(could still be linked the new), divide from the antique postings and where you have control of the first post(Descriptions, attachments, links).
Ok. This came just to mind. :whistle:
Your confusion stems simply from the fact that the latest Ren'Py v7 uses Python 3.9, which is why I use the master version.

I have no problem maintaining all Ren'Py version in a single code, and it's even much simpler for me, as long as I haven't finalized the code I use for testing before a Python version that would be faster and, above all, would report errors in child scripts and not just those in PowerShell, as is currently the case.

I'll take note of your recommendations and think about them, and I'll definitely do that with the new project.
 

Madeddy

Well-Known Member
Dec 17, 2017
1,016
735
244
Your confusion stems simply from the fact that the latest Ren'Py v7 uses Python 3.9, which is why I use the master version.
Uh, no... From the :
The Ren'Py 7 series attempts to match Ren'Py 8 in features, while retaining support for Python 2. As some of the new features require Python 3 support, not every new feature in Ren'Py 8 is available in Ren'Py 7. As Ren'Py 7.8 will be the last major release in the 7.x series, all games should be updated to Ren'Py 8 before the release of Ren'Py 8.4, when support for Ren'Py 7 will end.
renpy7py2.png

The point for maintaining two parallel versions was that v7 continued to support the "old" py2 Ren"Py, while v8 ushered in the shiny new py3 age of Ren"Py. This changes things for the unren strategy, i guess?

I have no problem maintaining all Ren'Py version in a single code, and it's even much simpler for me
Ok. Thats good then if this way feels and works better for you. Everyone of us is is different. :coffee:

Madeddy sorry to bother you, but maybe you missed my post?
Did not. Have simply not always time and its just a fork for experiments and repairs and also, i would need to make new injectors for every code change i do.

As things with the bug & fixes seems to have calmed down, i can do now a version, which hopefully runs for a while. (y) Test it and if something is wrong, well you know the drill...
 
Last edited:

Madeddy

Well-Known Member
Dec 17, 2017
1,016
735
244
joelurmel
I remembered this days some stuff which could be of use to you.
  • There is a way to forego the need for Powershell for Unren(win). You would get rid of all the cases with problems with PS in the future. Are you interested?
  • In spring this year i made a patch for unrpyc, which deals with the known multiproessing error if unren uses the Ren'Py Python. If you want, it sits still in my GH repo as a PR... but it works AFAIK.

Greets
 
Last edited:
  • Like
Reactions: yoyomistro

joelurmel

Engaged Member
Nov 3, 2022
2,650
4,704
397
joelurmel
I remembered this days some stuff which could be of use to you.
  • There is a way to forego the need for Powershell for Unren(win). You would get rid of all the cases with problems with PS in the future. Are you interested?
  • In spring this year i made a patch for unrpyc, which deals with the known multiproessing error if unren uses the Ren'Py Python. If you want, it sits still in my GH repo as a PR... but it works AFAIK.

Greets
Thanks, I know another way to decompress base64 with certutil, but it doesn't change much and everyone has PowerShell now. But I'm interested in your idea.
As for your suggestion for multiprocessing, I'll look into it. But most often the problem is in the distribution of the Python library with certain Ren'Py games.
 
  • Like
Reactions: yoyomistro

joelurmel

Engaged Member
Nov 3, 2022
2,650
4,704
397
After careful consideration and various tests, I have come to the conclusion that Madeddy is right about using a launcher.

This is because with a Python script in .py, some users will be required to install Python or provide a batch file that will use the Python provided with the game, which will require writing it in v2 due to the Python v2.7 provided with older games.

And if I provide a version compiled with PyInstaller, even without using zlib, some antivirus programs detect a virus... and I don't want to deal with that kind of problem in messages. So, I'm sticking with batch scripts.

So ,I had a little fun creating the launcher by adding multilingual support in en, fr, it, es, de, and ru :D
The translations were done with Deepl and double-checked by AI to make them sound natural and not too technical.

I'm attaching a few photos to give you an idea.
en.png de.png es.png fr.png it.png ru.png

And as you may have noticed, the menu is dynamic depending on the version of Ren'Py.
You just have to press Enter (y)

I still have a few adjustments to make, and I'll put it up for download shortly.

EDIT: And now, checking the Ren'Py version is no longer done by checking renpy.version.txt or script_version.txt, but by a Python script I created.
 

Madeddy

Well-Known Member
Dec 17, 2017
1,016
735
244
decompress base64 with certutil
Well, you know it already. :giggle: Very good, no need to explain. Why didn't i expect it? LOL
certutil is IMO a great way as from W7 its always there and you have none of the usual PS issues which pop all the time up. But its your choice. I just remembered it from some years ago, as i played with the thought to take the unren support over and did some recherche.

The other way would be a polyglot script which embeds python code pure in cmd. However, there is AFAIK no simple way to handle this with the multi-module nature of unrpyc. No good.

Edit: Forgot:
most often the problem is in the distribution of the Python library with certain Ren'Py games.
MP is in older Ren'py not installed and at some point we added a guard for it in unrpyc. In newer Ren'Py (v7.5+ i think) MP is broken(half of it is there) and this variant makes in current unrpyc problems. The MP import guard in unrpyc finds the half installed renpy mp support and thinks "its there" and trys to use it. And then it BANGS...

Greets
 
Last edited:

Madeddy

Well-Known Member
Dec 17, 2017
1,016
735
244
Any king willing to convert the script to .sh ?
There is shell clone of unren for Linux and MAC, but its hopeless outdated. You can find it here in this sub if you still want to look.

If i ever do a release of a unren, then its a pure python script which runs on every OS for which py exists. In fact, i have already written it respective played with it over the last years, however its not final.
 
  • Like
Reactions: yoyomistro

darkdraconis

Newbie
Apr 4, 2018
93
128
152
There is shell clone of unren for Linux and MAC, but its hopeless outdated. You can find it here in this sub if you still want to look.

If i ever do a release of a unren, then its a pure python script which runs on every OS for which py exists. In fact, i have already written it respective played with it over the last years, however its not final.
Thanks but I already exhausted all options including running the bat through winecmd. Average linux moment ig
 

MoLee

Newbie
Apr 15, 2022
71
61
117
It would be nice to have some hint to launch 1 legacy or 2 current based on info on the screen.
 

Walter Victor

Conversation Conqueror
Dec 27, 2017
6,506
21,778
904
It's simple. When it's Ren'Py <=7, choice 1 is green and is the default value for launching the legacy, and when it's >=8, choice 2 becomes green and becomes the correct version for launching the master.
Why have that choice? It seems confusing to me, since choice 2 used to be for Decompile RPYC files. I mean, would there ever be a time where the user would want to select the red option? And where does the existing choice 2 for decompiling come in? As someone who reads (and occasionally modifies) script files, I need that option.
 

srfsmrf_

Active Member
May 24, 2024
759
694
179
Added latest rpatool version 0.8 which supports RPA v3 deobsfuscation (not implemented for now)
What's / where can I find v0.8?

So is your embedded unrpyc the same as ? (I did read back the thread a little, but I'm unsure :LOL:)
 
Last edited:

joelurmel

Engaged Member
Nov 3, 2022
2,650
4,704
397
Why have that choice? It seems confusing to me, since choice 2 used to be for Decompile RPYC files. I mean, would there ever be a time where the user would want to select the red option? And where does the existing choice 2 for decompiling come in? As someone who reads (and occasionally modifies) script files, I need that option.
The option 2 for Decompile RPYC files appears only after you have launched UnRen-legacy.bat or UnRen-current.bat.

In UnRen-launcher.bat, option 1 or 2 will select only one of these files.
 
Last edited:
  • Like
Reactions: Walter Victor

srfsmrf_

Active Member
May 24, 2024
759
694
179
Yes the unrpyc embedded is the Madeddy version and the rpatool is the v0.8 too.
Thanks. In your sig you mention that it partially works. Are there still known issues?
And I read in the changelog that you also incorporated PR #248

Looking at the rpatool repo, it seems shizmob doesn't use version numbering, so I'm unsure what v0.8 means.
It does seem (looking at the date mentioned) that Sam's original version has the latest (3 years old) rpatool version from the repo.
 
Last edited:

joelurmel

Engaged Member
Nov 3, 2022
2,650
4,704
397
Thanks. In your sig you mention that it partially works. Are there still known issues?
And I read in the changelog that you also incorporated PR #248
Yes. There is still problem with empty line. Some are added when others are not restored.
It does not arm the game but pose problem to synchronize with translations.
So, *.rpy files from the game need to be shipped with the translation made for.

Looking at the rpatool repo, it seems shizmob doesn't use version numbering, so I'm unsure what v0.8 means.
It does seem (looking at the date mentioned) that Sam's original version has the latest (3 years old) rpatool version from the repo.
I don't remember where I've found this version, but it's the latest available without modification.
Since I can't find the version information anymore, I updated the info in the original post.
 
Last edited:

Walter Victor

Conversation Conqueror
Dec 27, 2017
6,506
21,778
904
The option 2 for Decompile RPYC files appears only after you have launched UnRen-forall.bat or UnRen-current.bat.

In UnRen-launcher.bat, option 1 or 2 will select only one of these files.
Good, but I ask again, why give the option, when you already know the right answer? Sorry, but I only know enough to make myself dangerous, and this really confuses me. It seems to me that you could just tell the user what you're doing and do it without user action. Press 1 and the bat automatically does what is necessary whichever version is there.

Here's a similar question. Say I extract the RPA packages and close the bat, but then decide I need to decompile the RPYC files. If I execute the bat again, would I even see the decompile option, or do I have to try to extract the RPAs again, which are no longer there?
 
5.00 star(s) 3 Votes