Forum > Modelling and Animation
[SOLVED] Playable Animations Lookup ?
<< < (3/3)
spik96:
--- Quote from: "schlumpf" ---Seeing as I spent about 5 hours to get to the point of being able to show you that code with confidence, I don't think it qualifies as cheating too much. --- End quote --- I'm sorry, that was friendly humor on the spot. I never meant to undermine your work. The source you have, while it is probably massively useful, I understand it still requires a lot of time studying it to extract useful information. I'm eternally grateful for it, for all of your work on the Wiki and all the knowledge you brought for the modding scene in general. Given the amount of times I see your name on the documentation pages and on the thanks lists of Modding programs, this community owes you everything.
--- Quote from: "schlumpf" ---In addition to hardcoded animkits, there is also fallbacks for some in dbcs: flystand, flyhover, flyshuffleleft/right, flymount, flyfly, flydrown, flydrowned, open, close, opened, closed. --- End quote --- Now that you say, the PlayableAnimationLookup was previously (years ago) named FallbackLookup so I guess it's a mix of both hardcoded kits and fallbacks. I will have to look which one were recognized by TBC (for example, wheels did not exist). So far I have :
--- Code: ---Note : This apply only when there is no real animation for the action. Flag | Name | AnimID | From 3 Dead 6 Death 0 CombatCritical 10 CombatWound 1 Walkbackwards 13 Walk 1 SwimBackwards 45 Swim 3 SitGround 97 Sit 3 Sleep 100 SleepDown 1 SleepUp 101 SleepDown 3 KneelLoop 115 Kneel 3 UseStandingLoop 123 Stand 3 Drowned 132 Drown 0 JumpLandRun 187 Run 3 LootHold 188 Loot 1 LootUp 189 Loot --- End code ---
For the others, the flag is always 0 and the default ID is 0 (Stand).
It will take time to find all of them, but it will works. EDIT : In fact even Loot&others are in AnimationData.dbc in the fallback column, so it's really just about it. A little recursive function should be able to give me the ID I can use in no time, the end being a ping pong between Open/148 and Close/146 which I'll have to break.
--- Code: ---short Fallback[226]; //*Extract Fallback IDs from the DBC or put them by hand in the Fallback array* short getTrueID(short ID){ if(ID in AnimIDs){ return ID; } return getTrueID(Fallback[ID]); } --- End code ---
Navigation
[0] Message Index
[*] Previous page
|