h3x4n1um / RETON

Reverse Engineering RTON File
GNU General Public License v3.0
32 stars 3 forks source link

"invalid vector subscript" #20

Closed lillakolcsenyi closed 2 years ago

lillakolcsenyi commented 2 years ago

After the latest PvZ2 update, this and other rton-to-json converters fail to convert PvZ2's pp.dat. This one failed with "invalid vector subscript" while another one (TileTurnip's PvZ2Tools) gave the error message "The key type 0x46 cannot read, abort at 0x00000093"

nineteendo commented 2 years ago

Can you send me the pp.dat? You can zip it and attach it as a file. I might be able to help you.

lillakolcsenyi commented 2 years ago

@Nineteendo I will send it to you in an email.

nineteendo commented 2 years ago

Your file abruptly ends. I'm going to look into this to allow repairing it in my parser RTONSParser but I consider trying to get it entirely.

Close this issue. No problem with the parser.

nineteendo commented 2 years ago

Also you can download Python3 and download https://github.com/Nineteendo/PVZ2tools You can then run rtons_to_jsons_with_check.py enter the path to your rton and enter the output path. Afterwards edit the JSON file at the output path. You can then run jsons_to_rtons enter the path to your json and enter the output path.

lillakolcsenyi commented 2 years ago

I downloaded your tools and tried running rtons_to_jsons_with_check.py. After I gave it the paths it failed with "error: pp.dat pos 142069: unpack requires a buffer of 1 bytes". I see there's already an issue about it.

lillakolcsenyi commented 2 years ago

I copied the file from my phone again, since it changed a bit because I played since then. Now the conversion somehow worked.

nineteendo commented 2 years ago

Dear

I mean you have to download Python 3 on your smartphone and run the tool there. Then your file can’t get corrupted during transfer. The path to pp.dat is /storage/emulated/0/android/data/com.ea.game.pvz2_row/files/No_Backup/pp.dat or /storage/emulated/0/android/data/com.ea.game.pvz2_na/files/No_Backup/pp.dat The path to the editable file is /storage/emulated/0/android/data/com.ea.game.pvz2_row/files/No_Backup/pp.json or /storage/emulated/0/android/data/com.ea.game.pvz2_na/files/No_Backup/pp.json

Would that work, or do you work on iPhone? Nineteendo

lillakolcsenyi commented 2 years ago

I see, sorry for the confusion. I have an Android phone, so this would probably work. Next time if I run into this issue I will try this, however I managed to transfer the file without corruption now.