CREATE YOUR AI CUM SLUT ON CANDY.AI TRY FOR FREE
x

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

5.00 star(s) 3 Votes

dikau

Member
Dec 16, 2019
317
282
New version of the tool. Support for not recompiled code with different versions of Revertable objects.
Did you successfully decompile all rpyc from Raptus ?
I tried using your newest base64 (v12) still can't decompile some of that game rpyc, e.g. :
intro.rpyc with error: TypeError: 'RevertableDict' object does not support item assignment
mapscreens.rpyc with error: AttributeError: 'SLScreen' object has no attribute 'location'

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

VepsrP

Well-Known Member
Modder
Dec 13, 2017
1,387
1,385
Did you successfully decompile all rpyc from Raptus ?
I tried using your newest base64 (v12) still can't decompile some of that game rpyc, e.g. :
intro.rpyc with error: TypeError: 'RevertableDict' object does not support item assignment
mapscreens.rpyc with error: AttributeError: 'SLScreen' object has no attribute 'location'

You don't have permission to view the spoiler content. Log in or register now.
So I did decompile the already recompiled files for the last time. Then I removed the crutches, considering them unnecessary. The problem is that this attribute exists, but it is actually a byte-type object itself. In fact, to decompile them, we just need an older engine. I'm not sure if I should return the crutches... I'll see what I can do.
 

dikau

Member
Dec 16, 2019
317
282
So I did decompile the already recompiled files for the last time. Then I removed the crutches, considering them unnecessary. The problem is that this attribute exists, but it is actually a byte-type object itself. In fact, to decompile them, we just need an older engine. I'm not sure if I should return the crutches... I'll see what I can do.
Ah right! ... I pulled from and it successfully decompile all those rpyc that the dev didn't recompile on the newer engine.

But, when I try the --clobber option it still giving error. Is this expected?
You don't have permission to view the spoiler content. Log in or register now.
 

VepsrP

Well-Known Member
Modder
Dec 13, 2017
1,387
1,385
Ah right! ... I pulled from and it successfully decompile all those rpyc that the dev didn't recompile on the newer engine.

But, when I try the --clobber option it still giving error. Is this expected?
You don't have permission to view the spoiler content. Log in or register now.
No, Revertable is calmly processed by me, I just checked, but I'm still dealing with location.
 
  • Like
Reactions: dikau

VepsrP

Well-Known Member
Modder
Dec 13, 2017
1,387
1,385
Ah right! ... I pulled from and it successfully decompile all those rpyc that the dev didn't recompile on the newer engine.

But, when I try the --clobber option it still giving error. Is this expected?
You don't have permission to view the spoiler content. Log in or register now.
I uploaded the change to the dev branch. try it.
 

dikau

Member
Dec 16, 2019
317
282
I uploaded the change to the dev branch. try it.
Yes it is successfully decompile all rpyc without --clobber option

but with --clobber option still give error on 6 files (intro.rpyc, d1.rpyc to d5.rpyc) while the other files successfully decompiled:
You don't have permission to view the spoiler content. Log in or register now.
 

Madeddy

Active Member
Dec 17, 2017
848
500
Did you successfully decompile all rpyc from Raptus ?
I tried using your newest base64 (v12) still can't decompile some of that game rpyc...
Strange. VepsrP uses mostly the same code fixes i do, and i got this game in tests multiple times decompiled without any problem. Maybe some leftover code or mistake somewhere. :unsure:
You can also compare with one of . I'm curious if it runs in your sys.
 

VepsrP

Well-Known Member
Modder
Dec 13, 2017
1,387
1,385
Yes it is successfully decompile all rpyc without --clobber option

but with --clobber option still give error on 6 files (intro.rpyc, d1.rpyc to d5.rpyc) while the other files successfully decompiled:
You don't have permission to view the spoiler content. Log in or register now.
It's strange, but I don't have any problems. Even more strange is that the error is not except, although the except is written. :unsure:
 

dikau

Member
Dec 16, 2019
317
282
Strange. VepsrP uses mostly the same code fixes i do, and i got this game in tests multiple times decompiled without any problem. Maybe some leftover code or mistake somewhere. :unsure:
You can also compare with one of . I'm curious if it runs in your sys.
Tried using your and it successfully --clobber all rpyc with game's own python :LOL:
 

Madeddy

Active Member
Dec 17, 2017
848
500
It's strange, but I don't have any problems. Even more strange is that the error is not except, although the except is written. :unsure:
You have some different code in here and its for longer as the last days there in think:
Python:
        raw_contents = chunks

    if(PY2):
        if("YVANeusEX" in globals()):
            raw_contents = YVANeusEX.encrypt(bytearray(raw_contents[1]), YVANeusEX.cipherkey, True) + YVANeusEX.encrypt(bytearray(raw_contents[2]), YVANeusEX.cipherkey, True)
        else:
            raw_contents = raw_contents[1].decode('zlib')
    else:
        raw_contents = codecs.decode(raw_contents[1], encoding='zlib')
Compare the placing of the [1] with my or the orginal code. I think you changed the location from "chunks" this for this IVANex stuff. Maybe this is the reason?

Or maybe the re-instantiating of class_factory in revertable_switch() does this...? You remember maybe, i do in my code the instances of class_factory beforehand.

... successfully --clobber all rpyc with game's own python :LOL:
You big, bad clobberer! :ROFLMAO:
 

VepsrP

Well-Known Member
Modder
Dec 13, 2017
1,387
1,385
You have some different code in here and its for longer as the last days there in think:
Python:
        raw_contents = chunks

    if(PY2):
        if("YVANeusEX" in globals()):
            raw_contents = YVANeusEX.encrypt(bytearray(raw_contents[1]), YVANeusEX.cipherkey, True) + YVANeusEX.encrypt(bytearray(raw_contents[2]), YVANeusEX.cipherkey, True)
        else:
            raw_contents = raw_contents[1].decode('zlib')
    else:
        raw_contents = codecs.decode(raw_contents[1], encoding='zlib')
Compare the placing of the [1] with my or the orginal code. I think you changed the location from "chunks" this for this IVANex stuff. Maybe this is the reason?

Or maybe the re-instantiating of class_factory in revertable_switch() does this...? You remember maybe, i do in my code the instances of class_factory beforehand.
Again, I repeat, I have no mistakes, if there are none, it is difficult for me to say something. At the expense of chunks, I just shifted the work from one variable to another, but the data is taken only those that are needed (1 position). Again, the error appears in the revertable_switch function, where the error exception is written (the same as yours and mine), so it is not clear why the error was not exception with my code. :unsure:
 

Madeddy

Active Member
Dec 17, 2017
848
500
Again, I repeat, I have no mistakes, if there are none, it is difficult for me to say something. ...
I think i understand now. If you do not have the errors you cannot debug them, right. But thats also a info. If its in your system runs it must have something todo with their system setup/config i think. Maybe a path problem again or the OS version even. Or type of shell? Do they use Win CMD/powershell/Win terminal ? :unsure:

-----
So, just in case someone is interested: I did in the last days a number on unrpyc in changes and stuff. Some highlights: :LOL:
- did a pure massacre on the formatting of all files
- cut out some leftover py2 code and unused stuff
- ast "star"(*) import(should never be done) reworked to standard way
Some Luxury:
- moved some code in separate func
- added version ability info
- bumped the version(inofficial) to get away from the old v1.1.8 to avoid confusion

If you guys want a panic attack you can take a look. :sneaky: Mad a new branch for all the new "now bugfixes" stuff called py3_v1.2.0_dev.
 

VepsrP

Well-Known Member
Modder
Dec 13, 2017
1,387
1,385
I think i understand now. If you do not have the errors you cannot debug them, right. But thats also a info. If its in your system runs it must have something todo with their system setup/config i think. Maybe a path problem again or the OS version even. Or type of shell? Do they use Win CMD/powershell/Win terminal ? :unsure:
Well, the fact that I have no errors is normal. What surprises me most is that the error is handled by a python handler, and not excepted in the code, although the line number matches, which in theory means that the code is used unchanged. It remains only to figure out why the error was not excepted. :unsure:
Edit:
You don't have permission to view the spoiler content. Log in or register now.
 

Madeddy

Active Member
Dec 17, 2017
848
500
Fuuuuuuuck! Something isn't right with this revertable shit.

I use the compressed version and did DL it just for testing because you have it in then thread here as a problem-kid. And look what it does. I thought this problem is beyond us. :cry:

Bash:
$ python3 /home/olli/Code/Git/unrpyc/unrpyc.py --clobber -T transout /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/              
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/week3_saturday.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/week2_sunday.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/renpy/screens.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/week1_sunday.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/tl/None/common.rpymc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/phone.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/renpy/gui.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/contacts.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/messages.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/script.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/replay.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/patch.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/gallery.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/chicksaw.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/ui_screens.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/personality_ai.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/achievements.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/minigames.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/0_util.rpyc...
Error while decompiling /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/renpy/screens.rpyc:
Traceback (most recent call last):
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 216, in worker
return extract_translations(filename, args.language)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 205, in extract_translations
ast = read_ast_from_file(in_file)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 160, in read_ast_from_file
data, stmts = revertable_switch(raw_contents)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 129, in revertable_switch
data, stmts = magic.safe_loads(raw_dat, cls_factory_74, {
File "/home/olli/Code/Git/unrpyc/decompiler/magic.py", line 604, in safe_loads
encoding=encoding, errors=errors).load()
File "/usr/lib/python3.10/pickle.py", line 1213, in load
dispatch[key[0]](self)
File "/usr/lib/python3.10/pickle.py", line 1681, in load_appends
append = list_obj.append
AttributeError: 'RevertableList' object has no attribute 'append'

Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/characters.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/styles.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/renpy/options.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/week3_data.rpyc...
Error while decompiling /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/week3_data.rpyc:
Traceback (most recent call last):
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 216, in worker
return extract_translations(filename, args.language)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 205, in extract_translations
ast = read_ast_from_file(in_file)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 160, in read_ast_from_file
data, stmts = revertable_switch(raw_contents)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 129, in revertable_switch
data, stmts = magic.safe_loads(raw_dat, cls_factory_74, {
File "/home/olli/Code/Git/unrpyc/decompiler/magic.py", line 604, in safe_loads
encoding=encoding, errors=errors).load()
File "/usr/lib/python3.10/pickle.py", line 1213, in load
dispatch[key[0]](self)
File "/usr/lib/python3.10/pickle.py", line 1681, in load_appends
append = list_obj.append
AttributeError: 'RevertableList' object has no attribute 'append'

Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/0_gamestate.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/relationships.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/week2_data.rpyc...
Error while decompiling /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/week2_data.rpyc:
Traceback (most recent call last):
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 216, in worker
return extract_translations(filename, args.language)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 205, in extract_translations
ast = read_ast_from_file(in_file)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 160, in read_ast_from_file
data, stmts = revertable_switch(raw_contents)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 129, in revertable_switch
data, stmts = magic.safe_loads(raw_dat, cls_factory_74, {
File "/home/olli/Code/Git/unrpyc/decompiler/magic.py", line 604, in safe_loads
encoding=encoding, errors=errors).load()
File "/usr/lib/python3.10/pickle.py", line 1213, in load
dispatch[key[0]](self)
File "/usr/lib/python3.10/pickle.py", line 1681, in load_appends
append = list_obj.append
AttributeError: 'RevertableList' object has no attribute 'append'

Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/traits.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/drawer.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/week1_data.rpyc...
Error while decompiling /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/week1_data.rpyc:
Traceback (most recent call last):
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 216, in worker
return extract_translations(filename, args.language)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 205, in extract_translations
ast = read_ast_from_file(in_file)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 160, in read_ast_from_file
data, stmts = revertable_switch(raw_contents)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 129, in revertable_switch
data, stmts = magic.safe_loads(raw_dat, cls_factory_74, {
File "/home/olli/Code/Git/unrpyc/decompiler/magic.py", line 604, in safe_loads
encoding=encoding, errors=errors).load()
File "/usr/lib/python3.10/pickle.py", line 1213, in load
dispatch[key[0]](self)
File "/usr/lib/python3.10/pickle.py", line 1681, in load_appends
append = list_obj.append
AttributeError: 'RevertableList' object has no attribute 'append'

Writing translations to transout...
Decompilation of 25 files successful, but decompilation of 4 files failed
EDIT: Back, everything back. Problem comes from option "-T transout" With full path it works. But why does in this case the revertable error? HUH? Again...
 
Last edited:

VepsrP

Well-Known Member
Modder
Dec 13, 2017
1,387
1,385
Fuuuuuuuck! Something isn't right with this revertable shit.

I use the compressed version and did DL it just for testing because you have it in then thread here as a problem-kid. And look what it does. I thought this problem is beyond us. :cry:

Bash:
$ python3 /home/olli/Code/Git/unrpyc/unrpyc.py --clobber -T transout /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/             
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/week3_saturday.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/week2_sunday.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/renpy/screens.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/week1_sunday.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/tl/None/common.rpymc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/phone.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/renpy/gui.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/contacts.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/messages.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/script.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/replay.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/patch.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/gallery.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/chicksaw.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/ui_screens.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/personality_ai.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/achievements.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/minigames.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/0_util.rpyc...
Error while decompiling /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/renpy/screens.rpyc:
Traceback (most recent call last):
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 216, in worker
return extract_translations(filename, args.language)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 205, in extract_translations
ast = read_ast_from_file(in_file)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 160, in read_ast_from_file
data, stmts = revertable_switch(raw_contents)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 129, in revertable_switch
data, stmts = magic.safe_loads(raw_dat, cls_factory_74, {
File "/home/olli/Code/Git/unrpyc/decompiler/magic.py", line 604, in safe_loads
encoding=encoding, errors=errors).load()
File "/usr/lib/python3.10/pickle.py", line 1213, in load
dispatch[key[0]](self)
File "/usr/lib/python3.10/pickle.py", line 1681, in load_appends
append = list_obj.append
AttributeError: 'RevertableList' object has no attribute 'append'

Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/characters.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/styles.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/renpy/options.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/week3_data.rpyc...
Error while decompiling /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/week3_data.rpyc:
Traceback (most recent call last):
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 216, in worker
return extract_translations(filename, args.language)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 205, in extract_translations
ast = read_ast_from_file(in_file)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 160, in read_ast_from_file
data, stmts = revertable_switch(raw_contents)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 129, in revertable_switch
data, stmts = magic.safe_loads(raw_dat, cls_factory_74, {
File "/home/olli/Code/Git/unrpyc/decompiler/magic.py", line 604, in safe_loads
encoding=encoding, errors=errors).load()
File "/usr/lib/python3.10/pickle.py", line 1213, in load
dispatch[key[0]](self)
File "/usr/lib/python3.10/pickle.py", line 1681, in load_appends
append = list_obj.append
AttributeError: 'RevertableList' object has no attribute 'append'

Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/0_gamestate.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/relationships.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/week2_data.rpyc...
Error while decompiling /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/week2_data.rpyc:
Traceback (most recent call last):
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 216, in worker
return extract_translations(filename, args.language)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 205, in extract_translations
ast = read_ast_from_file(in_file)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 160, in read_ast_from_file
data, stmts = revertable_switch(raw_contents)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 129, in revertable_switch
data, stmts = magic.safe_loads(raw_dat, cls_factory_74, {
File "/home/olli/Code/Git/unrpyc/decompiler/magic.py", line 604, in safe_loads
encoding=encoding, errors=errors).load()
File "/usr/lib/python3.10/pickle.py", line 1213, in load
dispatch[key[0]](self)
File "/usr/lib/python3.10/pickle.py", line 1681, in load_appends
append = list_obj.append
AttributeError: 'RevertableList' object has no attribute 'append'

Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/traits.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/drawer.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/week1_data.rpyc...
Error while decompiling /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/week1_data.rpyc:
Traceback (most recent call last):
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 216, in worker
return extract_translations(filename, args.language)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 205, in extract_translations
ast = read_ast_from_file(in_file)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 160, in read_ast_from_file
data, stmts = revertable_switch(raw_contents)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 129, in revertable_switch
data, stmts = magic.safe_loads(raw_dat, cls_factory_74, {
File "/home/olli/Code/Git/unrpyc/decompiler/magic.py", line 604, in safe_loads
encoding=encoding, errors=errors).load()
File "/usr/lib/python3.10/pickle.py", line 1213, in load
dispatch[key[0]](self)
File "/usr/lib/python3.10/pickle.py", line 1681, in load_appends
append = list_obj.append
AttributeError: 'RevertableList' object has no attribute 'append'

Writing translations to transout...
Decompilation of 25 files successful, but decompilation of 4 files failed
EDIT: Back, everything back. Problem comes from option "-T transout" With full path it works. But why does in this case the revertable error? HUH? Again...
I'll download the game and take a look. With Raptus, everything went fine for me, except for one extra variable, removing which everything worked.
 

dikau

Member
Dec 16, 2019
317
282
VepsrP have you tried extracting and decompiling Straitened Times? It is from Renpy v7.3.5.
So I tried with your unren-old.bat (converted your base64 and with -O) to my bash version but didn't succeed... :LOL:
I'm just wondering if its fine on windows or not...
 
Last edited:

VepsrP

Well-Known Member
Modder
Dec 13, 2017
1,387
1,385
Fuuuuuuuck! Something isn't right with this revertable shit.

I use the compressed version and did DL it just for testing because you have it in then thread here as a problem-kid. And look what it does. I thought this problem is beyond us. :cry:

Bash:
$ python3 /home/olli/Code/Git/unrpyc/unrpyc.py --clobber -T transout /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/             
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/week3_saturday.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/week2_sunday.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/renpy/screens.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/week1_sunday.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/tl/None/common.rpymc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/phone.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/renpy/gui.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/contacts.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/messages.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/script.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/replay.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/patch.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/gallery.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/chicksaw.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/ui_screens.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/personality_ai.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/achievements.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/minigames.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/0_util.rpyc...
Error while decompiling /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/renpy/screens.rpyc:
Traceback (most recent call last):
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 216, in worker
return extract_translations(filename, args.language)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 205, in extract_translations
ast = read_ast_from_file(in_file)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 160, in read_ast_from_file
data, stmts = revertable_switch(raw_contents)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 129, in revertable_switch
data, stmts = magic.safe_loads(raw_dat, cls_factory_74, {
File "/home/olli/Code/Git/unrpyc/decompiler/magic.py", line 604, in safe_loads
encoding=encoding, errors=errors).load()
File "/usr/lib/python3.10/pickle.py", line 1213, in load
dispatch[key[0]](self)
File "/usr/lib/python3.10/pickle.py", line 1681, in load_appends
append = list_obj.append
AttributeError: 'RevertableList' object has no attribute 'append'

Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/characters.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/styles.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/renpy/options.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/week3_data.rpyc...
Error while decompiling /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/week3_data.rpyc:
Traceback (most recent call last):
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 216, in worker
return extract_translations(filename, args.language)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 205, in extract_translations
ast = read_ast_from_file(in_file)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 160, in read_ast_from_file
data, stmts = revertable_switch(raw_contents)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 129, in revertable_switch
data, stmts = magic.safe_loads(raw_dat, cls_factory_74, {
File "/home/olli/Code/Git/unrpyc/decompiler/magic.py", line 604, in safe_loads
encoding=encoding, errors=errors).load()
File "/usr/lib/python3.10/pickle.py", line 1213, in load
dispatch[key[0]](self)
File "/usr/lib/python3.10/pickle.py", line 1681, in load_appends
append = list_obj.append
AttributeError: 'RevertableList' object has no attribute 'append'

Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/0_gamestate.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/relationships.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/week2_data.rpyc...
Error while decompiling /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/week2_data.rpyc:
Traceback (most recent call last):
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 216, in worker
return extract_translations(filename, args.language)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 205, in extract_translations
ast = read_ast_from_file(in_file)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 160, in read_ast_from_file
data, stmts = revertable_switch(raw_contents)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 129, in revertable_switch
data, stmts = magic.safe_loads(raw_dat, cls_factory_74, {
File "/home/olli/Code/Git/unrpyc/decompiler/magic.py", line 604, in safe_loads
encoding=encoding, errors=errors).load()
File "/usr/lib/python3.10/pickle.py", line 1213, in load
dispatch[key[0]](self)
File "/usr/lib/python3.10/pickle.py", line 1681, in load_appends
append = list_obj.append
AttributeError: 'RevertableList' object has no attribute 'append'

Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/functionality/traits.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/drawer.rpyc...
Extracting translations from /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/week1_data.rpyc...
Error while decompiling /home/olli/.xlib/RPG/_TRY_OUT/_test/RoveringToSussex-0.1.1-pc/game/script/week1_data.rpyc:
Traceback (most recent call last):
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 216, in worker
return extract_translations(filename, args.language)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 205, in extract_translations
ast = read_ast_from_file(in_file)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 160, in read_ast_from_file
data, stmts = revertable_switch(raw_contents)
File "/home/olli/Code/Git/unrpyc/unrpyc.py", line 129, in revertable_switch
data, stmts = magic.safe_loads(raw_dat, cls_factory_74, {
File "/home/olli/Code/Git/unrpyc/decompiler/magic.py", line 604, in safe_loads
encoding=encoding, errors=errors).load()
File "/usr/lib/python3.10/pickle.py", line 1213, in load
dispatch[key[0]](self)
File "/usr/lib/python3.10/pickle.py", line 1681, in load_appends
append = list_obj.append
AttributeError: 'RevertableList' object has no attribute 'append'

Writing translations to transout...
Decompilation of 25 files successful, but decompilation of 4 files failed
EDIT: Back, everything back. Problem comes from option "-T transout" With full path it works. But why does in this case the revertable error? HUH? Again...
Actually, I have no problems, even with the key -T :BootyTime:
 

Madeddy

Active Member
Dec 17, 2017
848
500
Found it. Oh yeah. Lets play find the error:

Python:
def revertable_switch(raw_dat):
    """Switches in a way between two instances of cls_factory. If a error from possible old code appears, it uses renpy.python instead of the new renpy.revertable module name."""
    try:
        _, stmts = magic.safe_loads(raw_dat, cls_factory_74, {
            "_ast", "collections"})
    except TypeError as err:
        if 'Revertable' in err.args[0]:
            _, stmts = magic.safe_loads(raw_dat, cls_factory_75, {
                "_ast", "collections"})
    return stmts
So, who wins todays surprise emoji for seeing the problem in the code? :giggle: It's in there...
 
5.00 star(s) 3 Votes