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
814
468
Effectively. By example in this particular case, it would have shown that the files are nowhere to be seen, and that it's this the main problem, and not the error returned by unrpyc.
Wrong.
I did read it, i noticed this and the paradox in it. Thought simply i explain something not everyone knows instead of basic computer knowledge. Got tired of it 20 years ago.
Also: I thought/think you noticed the answer to the main problem already. There is no way thats the right directory shown in the screenshot.
Wish you a merry Christmas folks. :)
 
Last edited:

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,302
15,172
Thought simply i explain something not everyone knows instead of basic computer knowledge. Got tired of it 20 years ago.
Well it's too bad for the young generation. I started to do it in a fanzine when I was around 15, and never stopped to do it during the near thirty five years thtn followed. Still not tired and I really don't think that it will change in the future ; especially now that basic knowledge is hidden behind tons of easy to do interfaces and APIs.
 
  • Like
Reactions: numanumani

srksrk 68

Forum Fanatic
Modder
Sep 17, 2018
4,396
5,614
Hi guys,

I have a question to Summertime Saga again, the newest release 0.19.5.

In that one, they introduced a "New method to display native language dialogue with subtitles when a character is speaking an unfamiliar language", and use it a lot for the new character they introduced -- cleaning maid Consuela, who only speaks Spanish. This is done by the game coding all dialog for her in English as usual, and the say window displays that line in italics below the magically translated spanish line.

Magically translated, because in all the extracted game files, I do not find a single spanish word, not to speak about the whole sentence translations. Not in any rpy file, nor in a jason, nothing. Is there a possibility that they have a special file type in their RPA files that will not be extracted by unren?

Any hint would be much appreciated.

Happy Holidays!
 

Madeddy

Active Member
Dec 17, 2017
814
468
Well it's too bad for the young generation. I started to do it in a fanzine when I was around 15, and never stopped to do it during the near thirty five years thtn followed. Still not tired and I really don't think that it will change in the future ; especially now that basic knowledge is hidden behind tons of easy to do interfaces and APIs.
I can just say kudos to you. Very possibly you have more patience as i am. :)
I would even this days "try" to follow your good example and start again, but i truly fear i get the same disinterest, mocking for trying to explain, not taken advice or unwillingness to learn. It would demotivate me really strongly.

Hope Santa gifts you nicely and which a good Christmas eve. (y)

srksrk 68 I think it's a interesting question you raise with this but i dont think the UnRen thread is the right place.

This said i would like to propose a Moderator/Admin moves this to a new (sticky?) thread. I would move for some thread headline and thread focus around problems with unpacking RPA, modded RPA and perhabs include other such storage files of various engines.
Btw. How the heck did you decompile all the scripts? For me are over 200 because errors missing.

Merry Christmas.
 
Last edited:

Keitaro420

Member
Apr 17, 2018
418
990
Hi guys,

I have a question to Summertime Saga again, the newest release 0.19.5.

In that one, they introduced a "New method to display native language dialogue with subtitles when a character is speaking an unfamiliar language", and use it a lot for the new character they introduced -- cleaning maid Consuela, who only speaks Spanish. This is done by the game coding all dialog for her in English as usual, and the say window displays that line in italics below the magically translated spanish line.

Magically translated, because in all the extracted game files, I do not find a single spanish word, not to speak about the whole sentence translations. Not in any rpy file, nor in a jason, nothing. Is there a possibility that they have a special file type in their RPA files that will not be extracted by unren?

Any hint would be much appreciated.

Happy Holidays!
OMG i know, I even used a special program to search for text strings but can't find the Spanish dialogues they use. I think they are translated by black magic
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,302
15,172
Magically translated, because in all the extracted game files, I do not find a single spanish word,
They are all here : scripts/locations/beachhouse/dialogues.rpy


not to speak about the whole sentence translations.
Didn't found any translation. I used "El chico del apartamento 512" as reference for my search, and the only sentence where "512" appear are then one in Spanish, while "the boy" didn't appear in a sentence corresponding to the one in English.
Is there really a translation (didn't played the game for a while) ?


Is there a possibility that they have a special file type in their RPA files that will not be extracted by unren?
I really doubt of that. And if it was the case, they wouldn't have used it just to hide the translation part.


OMG i know, I even used a special program to search for text strings but can't find the Spanish dialogues they use.
The rpa only contain the rpyc files, so what you need is unrpyc, not unrpa. And once done, a grep give the answer really quickly.
 

Keitaro420

Member
Apr 17, 2018
418
990
The rpa only contain the rpyc files, so what you need is unrpyc, not unrpa. And once done, a grep give the answer really quickly.
i know... What's your point?
"scripts/locations/beachhouse/dialogues.rpy " has dialogues of previous updates, but the new system seems to be very hidden.
like "Ya esta limpio..." doesn't seem to be anywhere in the code or other file.
limpio.png
 

srksrk 68

Forum Fanatic
Modder
Sep 17, 2018
4,396
5,614
They are all here : scripts/locations/beachhouse/dialogues.rpy




Didn't found any translation. I used "El chico del apartamento 512" as reference for my search, and the only sentence where "512" appear are then one in Spanish, while "the boy" didn't appear in a sentence corresponding to the one in English.
Is there really a translation (didn't played the game for a while) ?




I really doubt of that. And if it was the case, they wouldn't have used it just to hide the translation part.




The rpa only contain the rpyc files, so what you need is unrpyc, not unrpa. And once done, a grep give the answer really quickly.
Sorry, that file is completely English for me. Are you sure you do not use the Spanish translation of the game? As I said, there is not a single spanish word (at least not in the relevant dialogs) that I can find.
i know... What's your point?
"scripts/locations/beachhouse/dialogues.rpy " has dialogues of previous updates, but the new system seems to be very hidden.
like "Ya esta limpio..." doesn't seem to be anywhere in the code or other file.
View attachment 496056
I now made a workaround: I executed the game without the relevant modded files, which causes it to use the correct translation say screen (Spanish plus subtitles). I redefined the say screen to capture all those lines, put them into a txt file, and read them from that file when the mod is installed (and somehow breaks that system). Works, but I have no idea why it does not work in the first place...

I will upload the mod in a couple of minutes.

Edit: done. We should discuss this further in my thread (see signature). However, I am not convinced that there are some files in the RPA that are not extracted correctly.
 
Last edited:

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,302
15,172
i know... What's your point?
That unrpyc isn't perfect.


Sorry, that file is completely English for me.
No, that file is reverted totally in English by unrpyc, but it isn't effectively totally in English.

Ren'py permit to pass , and it's how it's done here, as shown in scripts/core/user_interface/renpy/say.rpy :
Code:
screen say(who, what, native=None):
[...]
        if native is None:
            text what id 'what' style_suffix 'dialogue'
        else:
            text native id 'native' style_suffix 'dialogue' slow_abortable True slow_cps True
            text what id 'what' style_suffix 'thought'
But unrpyc do not take this in count, and when the files are "uncompiled", you'll only see the dialog line itself, without the arguments part which contain the translation.

If you want to be sure that it's really that, just put this in any rpy file of your choice :
Code:
init python:
    def sacb( who, interact=True, **kwargs ):
        FH = open( renpy.os.path.join( config.basedir, 'AONlogFile.txt' ), "a" )
        for k in kwargs:
            FH.write( "{} {} -> {}\n".format( renpy.time.strftime( "%b %d %H:%M:%S" ), k , kwargs[k] ) )
            FH.write( "\tcalled from: <{}:{}>".format( *renpy.get_filename_line() ) )
        FH.close()
        return ( (), kwargs )

    config.say_arguments_callback = sacb
It will log every time an argument is passed with the dialog line, and you'll see those kind of lines in the file named "AONlogFile.txt" and located in the main directory of the game :
Dec 25 12:07:10 show_native -> Ya esta limpio...
called from: <scripts/locations/rump/lobby/kitchen/dialogue.rpyc:18>
And if you look at the correct line of the pointed file, you'll see that it's precisely the one shown in the screenshot of keitaro420.

There's no magic here, just the actual limitations of unrpyc.
 

yukihn96

Newbie
Dec 3, 2018
43
7
does the game read code in rpy or rpyc file ?
so if i edit something in rpy does the game compile it or not, and if i delete the rpyc file will the game got an error ?
sorry for the bad english
 

Hones

Forum Fanatic
Compressor
Aug 10, 2018
4,156
8,601
does the game read code in rpy or rpyc file ?
so if i edit something in rpy does the game compile it or not, and if i delete the rpyc file will the game got an error ?
sorry for the bad english
If the game has an rpyc file it will use that, rpyc supersedes the rpy file if it exists, you can delete the rpyc file without error if the is an rpy version of that file, if there is an rpy file but no rpyc ren'py will create the rpyc.
 

srksrk 68

Forum Fanatic
Modder
Sep 17, 2018
4,396
5,614
No, that file is reverted totally in English by unrpyc, but it isn't effectively totally in English.

Ren'py permit to pass , and it's how it's done here, as shown in scripts/core/user_interface/renpy/say.rpy :
Code:
screen say(who, what, native=None):
[...]
        if native is None:
            text what id 'what' style_suffix 'dialogue'
        else:
            text native id 'native' style_suffix 'dialogue' slow_abortable True slow_cps True
            text what id 'what' style_suffix 'thought'
But unrpyc do not take this in count, and when the files are "uncompiled", you'll only see the dialog line itself, without the arguments part which contain the translation.

If you want to be sure that it's really that, just put this in any rpy file of your choice :
Code:
init python:
    def sacb( who, interact=True, **kwargs ):
        FH = open( renpy.os.path.join( config.basedir, 'AONlogFile.txt' ), "a" )
        for k in kwargs:
            FH.write( "{} {} -> {}\n".format( renpy.time.strftime( "%b %d %H:%M:%S" ), k , kwargs[k] ) )
            FH.write( "\tcalled from: <{}:{}>".format( *renpy.get_filename_line() ) )
        FH.close()
        return ( (), kwargs )

    config.say_arguments_callback = sacb
It will log every time an argument is passed with the dialog line, and you'll see those kind of lines in the file named "AONlogFile.txt" and located in the main directory of the game :

And if you look at the correct line of the pointed file, you'll see that it's precisely the one shown in the screenshot of keitaro420.

There's no magic here, just the actual limitations of unrpyc.
You say "No" but are totally agreeing with me, so, OK. I stated that assumption that something is not being extracted by unrpyc. I thought it were some files, but in fact it's some lines in the file that are missing. So -- it turns out to be an unrpyc issue after all.

What I am asking myself right now is how you found out. You seem to have access to a correctly decompiled file. How do I get those? This is all I would need.
 

goobdoob

Conversation Conqueror
Modder
Respected User
Dec 17, 2017
7,426
9,685
If the game has an rpyc file it will use that, rpyc supersedes the rpy file if it exists, you can delete the rpyc file without error if the is an rpy version of that file, if there is an rpy file but no rpyc ren'py will create the rpyc.
Not 100% correct. If the modification date of the rpy is newer than that of the rpyc, Ren'Py will regenerate the rpyc from the rpy.

"To speed up loading time, Ren'Py will compile the .rpy files into .rpyc files when it starts up. When a .rpy file is changed, the .rpyc file will be updated when Ren'Py starts up. However, if a .rpyc file exists without a corresponding .rpy file, the .rpyc file will be used. This can lead to problems if a .rpy file is deleted without deleting the .rpyc file."

 

yukihn96

Newbie
Dec 3, 2018
43
7
Not 100% correct. If the modification date of the rpy is newer than that of the rpyc, Ren'Py will regenerate the rpyc from the rpy.

"To speed up loading time, Ren'Py will compile the .rpy files into .rpyc files when it starts up. When a .rpy file is changed, the .rpyc file will be updated when Ren'Py starts up. However, if a .rpyc file exists without a corresponding .rpy file, the .rpyc file will be used. This can lead to problems if a .rpy file is deleted without deleting the .rpyc file."

does the rpy and rpyc file saved in rpa file ?
cause when i extract rpa packages, many rpy and rpyc file comes out in the folder of the game ?
and if i already change a rpy file and the game regenerate rpyc from that rpy, after that i deleted that rpy and rpyc, does the game still recognize the change ?
 

goobdoob

Conversation Conqueror
Modder
Respected User
Dec 17, 2017
7,426
9,685
does the rpy and rpyc file saved in rpa file ?
cause when i extract rpa packages, many rpy and rpyc file comes out in the folder of the game ?
and if i already change a rpy file and the game regenerate rpyc from that rpy, after that i deleted that rpy and rpyc, does the game still recognize the change ?
Do rpy and rpyc files get saved in an rpa? Sometimes. Sometimes it's just rpy, and sometimes it's just rpyc. Depends on what the developer did.

If you extract an rpy, change it, then delete it, the change does not get saved in the rpa. You need to regenerate those with the Ren'Py SDK. But the only reasons to put stuff in an rpa are to make the files easy to copy around (say, provide a patch by dropping in an rpa instead of multiple rpy files), or to make it harder for people to see the code. If you modify an rpy, you probably shouldn't delete it.
 

yukihn96

Newbie
Dec 3, 2018
43
7
Do rpy and rpyc files get saved in an rpa? Sometimes. Sometimes it's just rpy, and sometimes it's just rpyc. Depends on what the developer did.

If you extract an rpy, change it, then delete it, the change does not get saved in the rpa. You need to regenerate those with the Ren'Py SDK. But the only reasons to put stuff in an rpa are to make the files easy to copy around (say, provide a patch by dropping in an rpa instead of multiple rpy files), or to make it harder for people to see the code. If you modify an rpy, you probably shouldn't delete it.
thanks for the answer
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,302
15,172
What I am asking myself right now is how you found out. You seem to have access to a correctly decompiled file.
I got access to nothing more than you, except my knowledge and experience.
I know what Ren'py can do, as well as how myself would implement such feature. Therefore, when seeing that the say screen have an extra argument, and seeing how the said argument was used, I knew where the translation is.
 
5.00 star(s) 9 Votes