READ THE RULES: Click here

Follow us on Facebook: :)

Help with animations: CANI format

Post questions about game models here, or help out others!
Post Reply
Posts: 1
Joined: Sat Jul 14, 2018 1:34 pm
Been thanked: 1 time

Help with animations: CANI format

Post by Pr4pR » Fri Aug 23, 2019 11:47 am

Hi guys! I was wondering if someone here could help me out getting started with reversing an animation format. The objective would be reversing it then see if it's possible creating a noesis script to export them. I want to start off by saying I am still quite the noob and learning the stuff here and there, but I am willing to do so in order to get more knowledge about this stuff...

So, the animation format I want to look at is the CANI format. This format can be found in PlayStation All-Stars Battle Royale (PSASBR) and, as far as I know, in the BluePoint Engine games generally speaking. In specific I am looking at CANI files from the PS Vita version of PSASBR. I don't have any experience with animations... so I was hoping someone here could give me some guidance. I won't be asking to just get the file and do everything yourself, but I'd need some guidance if you can see anything useful from the file, or any piece of documentation of how animations are generally structured could be of help, since I can't find much... Any help is appreciated! So far these are the only pieces of info I could get about this format.
Endianness is little-endian because of the PS Vita, if you take a CANI file from a PS3 game the endianness is big-endian.
At offset 0x0 is the magic 60AE. The decoded 60 seems like it stands out for the format version, as CANI files from previous builds of this game have the decoded number being lower, such as 50AE.
Offsets 0x4 and 0x8 are Uints which purpose is not known. Being reallu big values I don't think they are important?
Offset 0xC is Ushort and it seems that it indicates an offset in the file.
Offset 0xE is another Ushort and it indicates the number of bones the animation transforms.

After there I still can't tell what the other stuff means. The next 4 bytes are definitely 2 Ushorts but I don't know what they mean yet... I should look for keyframes or something I guess? At least that's what I got when looking at the little stuff I could find online about other formats. Then the Ushort at offset 0x14 is a constant 0x2000 value in all the CANI files. Including the latters, so starting from offset 0x10 and skipping 80 bytes (that's like this for every CANI file, I don't know what these 80 bytes contain still), you can see that the values every 2 bytes are incrementing almost sequentially... I honestly don't know what they could mean. Then starting a certain offset, which seems to be the one I mentioned at 0xC, bunch of data starts.

If you want a sample file ask and I'll upload it. Any kind of help is appreciated! :)
You do not have the required permissions to view the files attached to this post.

Posts: 8
Joined: Thu Nov 03, 2016 10:55 pm
Has thanked: 1 time

Re: Help with animations: CANI format

Post by You'reAnAllStar » Wed Sep 18, 2019 3:15 am

I remember asking about these files a couple years ago. I'm surprised that to this day very few people have made efforts to extract things from the game; the model extracting script seems to have been lost, as well, unless I'm missing something. I know the game wasn't that popular, but still...

Hopefully someone else takes interest. I'd really like to see more work done with this game.

User avatar
Posts: 2730
Joined: Fri Apr 20, 2012 9:24 am
Location: Nexus, searching for Jim Kirk
Has thanked: 675 times
Been thanked: 1407 times

Re: Help with animations: CANI format

Post by shakotay2 » Wed Sep 18, 2019 7:58 pm

You'reAnAllStar wrote:
Wed Sep 18, 2019 3:15 am
Hopefully someone else takes interest.
Guess, nobody will care for anims as long as the mesh format isn't clear and the models aren't extracted.

Do the mesh files start with signature 4D4F444C "MODL" (as fat_princess.c0.p0.cskn does)?

Here's here eyeball:
You do not have the required permissions to view the files attached to this post.
Bigchillghost, Reverse Engineering a Game Model: viewtopic.php?f=29&t=17889
extracting simple models: viewtopic.php?f=29&t=10894
"You quoted the whole thing, what a mess."

Post Reply