RetingencyPlan / le_quickbms_script_compendium

just in case you thought my "thread" at ZenHAX was way too bloated for what it actually is
16 stars 3 forks source link

sally_bf.bms doesn't support Rayman Raving Rabbids (PC version only) #3

Closed icup321 closed 4 years ago

icup321 commented 4 years ago

I've been trying out this script with various versions of Jade engine games, and it seems to work with just about everything so far, except it fails to extract Rayman4.bf from the PC version of Rayman Raving Rabbids specifically. I tried this script out with the Russian PC version to see if it wouldn't work with that version either since it has a slightly different .bf format, but surprisingly enough it works on that version, so this issue only affects the regular PC version. Here is the error printed out by QuickBMS:

Error: the script uses more array indexes (4294967295) than available (12540)

Last script line before the error or that produced the error: 408 getarray folder_name 37 previous_folder

icup321 commented 4 years ago

I've discovered another version of a game that is incompatible with this script, the Prince of Persia Trilogy for PS3. It stops almost immediately after trying to extract the .bf files for any of the three games.

RetingencyPlan commented 4 years ago

shoot. i'll be rushing through to fix issues related only to that particular Windows version of the game.

as for Prince of Persia Trilogy (PS3) i'd like to know if the .bf file contains some sort of "signature" that isn't handled by the script.

RetingencyPlan commented 4 years ago

okay, i might be thinking about a workaround for this issue.

check if the Russian PC version of Rayman Raving Rabbids has Jade_enr.exe.

RetingencyPlan commented 4 years ago

in the meantime, i just "fixed" the issue through a messy workaround. trying to have this script to work with that was quite the struggle. so i'll be posting the new version of the script through a paste. sally_bf.bms

keep in mind that this paste expires in 1 month. as for the script itself i feel like sally_bf.bms (the script) probably won't extract every file there is out of Rayman4.bf as i would've come to expect from the script. it might break compatibility since i tried to work with what i have here.

icup321 commented 4 years ago

Okay so I checked the Russian PC version and yes, it does have a jade_enr.exe file, but I noticed that the Russian .exe is much bigger in file size than the normal version (4,558,848 bytes vs 9,224,192 bytes) perhaps the Russian release is decrypted? Also, I looked through my QuickBMS scripts and I found one that does work on the normal PC version, though it was meant to extract the Russian PC version, perhaps it could be useful to you? rrr_russian_bf.bms.txt

RetingencyPlan commented 4 years ago

"by Droolie"? this is your quickbms script?

in any case, that workaround that i tried to implement on my script didn't work with the Russian Windows version of the game. which means i need to think of something else.

that script can be useful as reference points so i do thank you for that.

RetingencyPlan commented 4 years ago

okay, i "fixed" sally_bf.bms with another "quick-and-dirty-and-horrible" workaround sally_bf.bms

i still feel this is not enough (this version of the script requires you to have Jade_enr.exe around which is a risky idea to begin with, it was only implemented because i had no other options at that point) , so i'm thinking about reconstructing the initial "file tab" data based on what i have here. Rayman4.bf on the Wii version of Rayman Raving Rabbids is complete and well-formed compared to the Rayman4.bf on the Windows version of said game, as in the one version as it was sold by Ubisoft themselves and officialy reinstated into Steam, GOG and Uplay platforms by (again) Ubisoft themselves.

RetingencyPlan commented 4 years ago

alright, i have a new idea. i'll be sharing that idea with you soon once i'm done with it. which means writing up a new version of the script.

RetingencyPlan commented 4 years ago

alright, i'm just about done with this. sally_bf.bms the script now just downright extracts all files that have been left out as a result of one part of the "file tab" section being erased out of existence and then does some strange preparations so it can go straight into said section without anything else in the way of doing so. thus the script extracts all available files in there as normal. the Jade_enr.exe work-around has now been removed as said work-around proved itself unnecessary to begin with.

other .bf files (only those with "BIG"/BUG" signature at the start) should be unaffected by this.

icup321 commented 4 years ago

Alright, I tested this out and it seems to work just fine (although I do notice the folder with garbage files, eh it doesn't matter as long as I can unpack the .bf), I guess I can close this issue when you merge these changes, or if you want me to keep this issue open in case I find another incompatible .bf file. Thanks for taking the time to fix this though!

RetingencyPlan commented 4 years ago

you're welcome. and now sally_bf.bms has been updated in this repository.