Important information: this site is currently scheduled to go offline indefinitely by December 1st 2023.
If you wish to donate to attempt the preservation of tools and software somewhere else before it goes down, check the GoFundMe
If you wish to donate to attempt the preservation of tools and software somewhere else before it goes down, check the GoFundMe
Decoding a bone-based animation file (LOL ver4 .ANM file)
Re: Decoding a bone-based animation file (LOL ver4 .ANM file
League of legends is a live game(Always under development), that mean each time that Riot company developers detect that need new thing or features they make new format or the features without worry about old formats, because they stored version of each file in header of that files.Wobble wrote:Thanks.
Are these diana .skl files being used in the public game? Not beta/development?
All game .skl files start with "r3d2sklt". These are different than what I expected.
There is no such header here. I hope they are not corrupt.
however if we do reverse engineering perfectly , then we also don't have problem with loading of correct version of LOL models.
Its normal that one file of game with same extension is different with other with same extension. because the game is live.
I'm sure that the files is used in the public game, because i copied them from a playable instance.
Re: Decoding a bone-based animation file (LOL ver4 .ANM file
But the problem is that the 2 animations(with 86 bones) don't contain 75 main bone animations!Wobble wrote:That's what I get here too. Skeleton has 75 bones. Two animations have 86. Too many.
Just ignore them?
Then when i load idle1 on my skeleton with ignoring algorithm for unknown bones, result is incorrect, because some of main 75 bones don't have any keyframes! if you compare idle1 with other animations, you can see that more than 10 bones of 75 bones does not exists in idle1 file!
in other word, 86 bones don't contain all of 75 bones.
Re: Decoding a bone-based animation file (LOL ver4 .ANM file
Ok, but "weapon" bone does not exists in both diana_idle1.anm and diana_crit.anm and then it don't have keyframes(As you said this may mean that the bone don't need animating).Wobble wrote: I don't think they have to exist.
.anm files may only contain "animated" bones. If a bone isn't animated, then it would be a waste of space writing
out zero position, and zero rotation for every frame. This is why they use bone_ids to match up skeleton bones to animated bones,
as it is not a 1-to-1 mapping.
Please consider what happen, when i load the animations, weapon is dangling in air same as design time! without any key-frames! it can't be correct(diana_crit is some type of attack! weapon also need animating). I'm sure that one of 86 bones of the files is for "weapon" bone with different hashID from what the bone have in 75 bones file. Please note that ignoring all of invalid HashIDs cause incorrect animation result.
If you are with my opinion that the "weapon" bone need animating and the diana_idle1.anm and diana_crit.anm must contain it, then we are both in same boat, we need to found it, at any cost
Sorry for the joke and thank you for any help.
Re: Decoding a bone-based animation file (LOL ver4 .ANM file
Unfortunately no.I didn't success to found any files that contain information about them.Wobble wrote:Ok, so there are 10 animated bones with missing names.
Do you know the bone names for these missing ids?
The problem solved. it caused by a bug in my duplicator remover for hashIDs.I did mistake.Wobble wrote: All 75 bones exist for me, including "Weapon". See above for snippet from frame 0, idle1 animation.
Thank you very much

