Bugged anims I found so far : EmoteUseStanding(63), EmoteUseStandingNoSheathe(138), EmoteSaluteNoSheathe(210),EmoteEatNoSheathe, EmoteWorkNoSheathe(136)
animations with flag 0x40 are aliases. follow aliasNext to find the correct sequence, until flags no longer has 0x40.apparently, there is a flag 0x100, which if set says the animation data is in model.flag 0x10 appears to be set during runtime, if an .anim file is loadedcan you check some models for 0x100?
if 0x100 is right, I claim that you don't have to check for anything but that. 0x20 will never be set due to preconditions in m2 export, and 0x10 will never ever be set.I don't know why, but it is that way. Just iterate aliasNext until !(flags & 0x40).No, that is not exactly possible due to having different number of bones and such. Also, I have not seen any code for that logic. The M2 loader does not know about the HD variant.I would love to be proven wrong.
While I'm pretty sure, I have not looked at any models to confirm my theories, so I didn't want to change it at this point.I can only say for those with .anim files, I think. There, when tasked to load a sequence, it will skip all aliases and load the first one without 0x40. It does make sense: Animations have multiple sequences. It might share only one sequence but do other sequences the aliased-to-sequence's animation does not do (e.g. standing might randomly snort, which would be the same as an emote, still standing and that emote are not equivalent).Why is 160 (0xA0) considered as external? why is 32 (0x20)?