Offtopic: Into Commodore 64 (6502) coding, pixeling or music?
Xentax is looking for new members for the C64 activities!
Just drop us a message at forum@xentax.com and join the Scene Team!

Forum rules: Click here

Deserializing UbiArt files

Read or post about compression. And decompression. Or ask questions how to decompress your files.
Post Reply
k33an
ultra-n00b
Posts: 5
Joined: Sat May 05, 2018 6:50 pm

Deserializing UbiArt files

Post by k33an » Mon Jul 29, 2019 9:17 pm

Hello,
I want to deserialize Just Dance 2018 files. There is this tool (https://github.com/byvar/ubi-canvas) that currently supports only Rayman Games. Does anyone know if I can use deserialization scripts on specific file. If so, how?
Thanks :)

k33an
ultra-n00b
Posts: 5
Joined: Sat May 05, 2018 6:50 pm

Re: Deserializing UbiArt files

Post by k33an » Sat Aug 03, 2019 10:19 pm

Here are couple of files to test. Some of the deserialzing files should work on these ones as they are on the same engine.
You do not have the required permissions to view the files attached to this post.

Droolie
veteran
Posts: 114
Joined: Fri Aug 19, 2005 4:31 pm
Has thanked: 14 times
Been thanked: 33 times

Re: Deserializing UbiArt files

Post by Droolie » Sun Aug 04, 2019 5:11 pm

Hi, I'm the author of ubi-canvas. :)

Sadly, even I can't help you and I doubt there is anyone who can...
Here's why: UbiArt is an engine that has thousands of differently serialized classes baked into the exe files, with even classes that are common across multiple games having differences per game/version. Because of this it is impossible to create a "generic" reader/deserializer for UbiArt.

To create ubi-canvas, I wrote a program that parses instructions from the disassembled executables of all the Rayman games (Origins & Legends for PC, Jungle Run, Fiesta Run, Adventures for Android), Child of Light (PC) and Valiant Hearts (Android, as the PC executable was obfuscated) - but the output needed to be heavily corrected. The result has around 5000 classes (just check this folder). Sadly, I wasn't aware Just Dance used UbiArt as well, so it wasn't included when I did this.

Even if I were to run the automatic generation program again, it would likely be impossible to merge the new code for Just Dance with the current, heavily corrected code for the other games without a ton of effort (many days of work), as thousands of files would need to be manually edited, and I don't think Just Dance is worth that. The same thing goes for other games that I might have missed (or versions that I decided not to add support for, though there usually aren't that many version differences).

I do plan to add support for the other games the code was based on, though, so support for Rayman Jungle Run, Fiesta Run, Child of Light and Valiant Hearts is coming sooner or later.

PS: In case you wanted to know what these files are, they are uncompressed scene descriptions (e.g. which object is at what position, what kind of object is it, etc.) and actor files (e.g. what kind of object is it, what does it do - in this case your .act file is the description of a song).

k33an
ultra-n00b
Posts: 5
Joined: Sat May 05, 2018 6:50 pm

Re: Deserializing UbiArt files

Post by k33an » Sun Aug 04, 2019 8:56 pm

Hi!
I didn't realize UbiArt has that many serialized classes for all of the different games and ports. Just Dance has ports to Wii, X360, PS3, PS4 and X1 now with 7th game coming using Ubiart. So I get that it could be a hassle to cover all that ports.
Modding community is very passionate. People make their tool but they're kept secret. I now get why. I've been editing files manually, but I can't do much. I can change textures, change size of the font sometimes, remove items and sometimes add. I've been hoping something can be done with those damn serialized files to make editing easier. I've been trying to edit size and placement of certain textures, but it's really hard and so far I have none successful results. But, oh well.
Thanks for clearing that stuff up.

Droolie
veteran
Posts: 114
Joined: Fri Aug 19, 2005 4:31 pm
Has thanked: 14 times
Been thanked: 33 times

Re: Deserializing UbiArt files

Post by Droolie » Mon Aug 05, 2019 12:58 am

k33an wrote:
Sun Aug 04, 2019 8:56 pm
I've been editing files manually, but I can't do much. I can change textures, change size of the font sometimes, remove items and sometimes add. I've been hoping something can be done with those damn serialized files to make editing easier. I've been trying to edit size and placement of certain textures, but it's really hard and so far I have none successful results. But, oh well.
Impressive that you got that far!
I had no idea I missed this many UbiArt games. Are a lot of people interested in modding them?
I'd like to try to help you, but only if I end up having a lot of free time in the future, so no promises and don't get your hopes up. If I decide to add them to ubi-canvas, I'll get in touch with you. :)

If I were to add support for one version for each game, which would you say is best?

k33an
ultra-n00b
Posts: 5
Joined: Sat May 05, 2018 6:50 pm

Re: Deserializing UbiArt files

Post by k33an » Mon Aug 05, 2019 1:42 pm

Droolie wrote:
Mon Aug 05, 2019 12:58 am
k33an wrote:
Sun Aug 04, 2019 8:56 pm
I've been editing files manually, but I can't do much. I can change textures, change size of the font sometimes, remove items and sometimes add. I've been hoping something can be done with those damn serialized files to make editing easier. I've been trying to edit size and placement of certain textures, but it's really hard and so far I have none successful results. But, oh well.
Impressive that you got that far!
I had no idea I missed this many UbiArt games. Are a lot of people interested in modding them?
I'd like to try to help you, but only if I end up having a lot of free time in the future, so no promises and don't get your hopes up. If I decide to add them to ubi-canvas, I'll get in touch with you. :)

If I were to add support for one version for each game, which would you say is best?
There are a lot of people modding them and so many wanting to. All who mod have their own tools which are kept private. There are few scripts to extract textures and audio which cover most of the games that have been made public.
Latest game probably would be the best. I'm modding Just Dance 2018 on PS3. It's last Just Dance game to be released for PS3. Just Dance 2019 is last for X360 and Wii U. PC has only received port of Just Dance 2017. PS4, X1, Switch and Wii will receive Just Dance 2020 this november.
Just Dance 2019 has received major overhaul for new gen consoles. But Just Dance 2020 will be Just Dance 2019 but just with songs changed and few very minor ui changes that we've see so far.
Just Dance on PS3, X360 and Wii has been same since Just Dance 2015/16 with decreased features as they were released with just songs changed each year. All old gen (PS3,Wii and X360) JD games have almost the same files. Difference is in textures, audio and X360 has different dtape (file which has timing and duration for movement files). So I've been using Wii and X360 ports to mod PS3 one.
So to sumarize everything for PS3 Just Dance 2018 (latest port), X360 and Wii Just Dance 2019 (maybe 2018 would be better because it has more features that can be removed from 2018 to make it identical to 2019 counterpart), PC 2017 (only one released), PS4, X1, Switch, Wii U (JD2020 or JD19).
I know it's a lot of information, but I sumarized it as best as I could. Feel free to contact me if have any more questions. :)

Post Reply