Oni has a very complex animation system (500 anims per character on the average). Without a little bit of organization, it would have been an awful mess (I mean, even more awful than it is now).
The great majority of animations define the relative orientations of the 19 bones at keyframes (keyframes for different bones are not simultaneous).
A few animations define orientations in "another way". Instead of 6 bytes (3 quantized Euler angles), 16 bytes are used (a quaternion).
- The XML version of the states can also be looked up at onisplit -help enums
- The XML version of those types can also be looked up at onisplit -help enums
A few anim types are not used in Oni.
There are much more types than states : they define transitions at a finer level.
A lot of animations (basic movement) is shared between many characters. To avoid duplicating anim links, anims are organized in collections called TRAC (Totoro Animation Collection). For information about the binary storage of a TRAC, see HERE
- A TRAC does two things
- it can inherit another TRAC
- it can specify new anims (either replacing anims of the parent TRAC, or complementing it)
Oni's TRACs are organized along the following trees :
- append _animations.TRAC to everything to get the filename
- click on the collection name to see an overview of the animations
- (I'll be updating those with states and types etc)
konokocore : 536 anims
- Shinzom : 6 anims (SHINZOM...) with tag 0x64 (1)
- shinatama : 12 anims (SHINAT...) with tag 0x64
- red : 100 anims (RED..., REDCOM..., RED..) with tag 0x64 (2)
- konokolev1 : 70 anims (KONOKO..., KONCOM..., KONPIS...) with tag 0x64
- konoko : 105 anims
- gen_f : 7 anims (SECRET...) with tag 0x1E
- konoko : 105 anims
strikercore : 400 anims
- striker : 96 anims
- TCTFswat : 23 anims (TCTF..., TCTCOM...) with tag 0x64
- elite : 102 anims (ELITE..., ELICOM..., ELIPIS..., ELIRIF...) with tag 0x64 (3)
- barabus : 8 anims (BARAB) with tag 0x64 (4)
- ninja : 385 anims (NINJA..., NINCOM..., NINPIS..., NINRIF...) with tag 0x64 or 0x05 (5)
- comguy : 312 anims
- gen_m : no anims
- doctor : 1 anim (DOClev14_Ambush01) with tag 0x32
- security : 2 anims (SECURIlev11_intro, SECURIlev14_IntroTurn) with tag 0x32
- griffin : 3 anims (GRIFIN...) with tag 0x34 (6)
- thug : 22 anims (THUG..., THUCOM..., THUPIS...) with tag 0x14
- Tanker : 237 anims (TANKER..., TANCOM..., TANPIS..., TANRIF...) with tag 0x64 or 0x384 (7)
- muro : 55 anims (MURO..., MURCOM..., MURPIS...) with tag 0x64 or 0x32 (8)
- mutantmuro : 38 anims (MUTCOM...) with tag 0x64 or 0x32 (9)