Join also our Discord channel! Click here.

Street Fighter 4 model animation info

Post questions about game models here, or help out others!
piecemontee
advanced
Posts: 50
Joined: Mon Aug 03, 2009 9:34 pm
Has thanked: 5 times
Been thanked: 16 times
Contact:

Street Fighter 4 model animation info

Post by piecemontee » Fri Aug 28, 2009 3:42 pm

[updated]: Finally animations are very similar to MD5 ones...
[updated]: I am dumb, there was some blank animation hidden in there, much more usefull!!
[updated]: Almost Owned! 8D

Hello,

I am working on animation data for street fighter 4.
I dumped some #EMA sections but I cannot figure out the essential : skeleton node transforms
With the skeletton weight magnum figured out I could animate the models in the 3D viewer

Here is the simplest animation i cound find , the most complicated is attached

It may be a hard guess with just theses floatting value, but perhaps you may recognize a known animation layout.

I guessed this on the first part:
- skeletton node number
- transformation type ( 0: translation, 1: rotation, 2: scales, see below)
- some flags (transform componentont the 2 low order bits we have 00b=0 on the first record, then 01b=1 on the next and 10b=2, and repeatedly)
- timing count (2 bytes)
- offset to the offsets !!! (2 bytes)
- a list of timings (incrementing, starting at 0) on 8 bits if frame count <255, 16bits otherwise
- some trash if (offset to the offsets > timing count * sizeof timing (8/16 bits))
- a list of offsets
some are used more than once (some kind of compression) so the stuff /timing count does not match the value count
as you see 0300 and 0400 are reapeated a lot, and what do we find as 3rd an 4th values:0.0 and 1.0


- when the 2nd field is 1 there is a bunch of 0300 -> 0.0 = no rotation as in the original bone node matrix
- when the 2nd field is 1 there is a bunch of 0400 -> 1.0 = 1:1 scale as in the original bone node matrix
now I'm pretty sure about the transformation type

now i think animations are matrix patches, not cumulatives transformations, at least for this file
I hope unknow flags in 3rd field don't drive this behavior

it also helps about the 2 low order bits of the 4th field being a "transform component", not too sure about the hight order bits of this thougt

if we cross check offsets for bone 1 we retrive the translation component of the original matrix in the first three values... :D

Code: Select all


frame count: 1

animation:
  1 0 0x08     2    12, 0 1 , 0x000000000000
  1 0 0x09     2    12, 0 1 , 0x000001000100
  1 0 0x0A     2    12, 0 1 , 0x000002000200
  2 0 0x08     2    12, 0 1 , 0x000003000300
  2 0 0x09     2    12, 0 1 , 0x000005000500
  2 0 0x0A     2    12, 0 1 , 0x000006000600
  3 0 0x08     2    12, 0 1 , 0x000007000700
  3 0 0x09     2    12, 0 1 , 0x000008000800
  3 0 0x0A     2    12, 0 1 , 0x000009000900
  4 0 0x08     2    12, 0 1 , 0x00000A000A00
  4 0 0x09     2    12, 0 1 , 0x00000B000B00
  4 0 0x0A     2    12, 0 1 , 0x00000C000C00
  5 0 0x08     2    12, 0 1 , 0x00000D000D00
  5 0 0x09     2    12, 0 1 , 0x00000E000E00
  5 0 0x0A     2    12, 0 1 , 0x00000F000F00
  6 0 0x08     2    12, 0 1 , 0x000010001000
  6 0 0x09     2    12, 0 1 , 0x000011001100
  6 0 0x0A     2    12, 0 1 , 0x000012001200
  7 0 0x08     2    12, 0 1 , 0x000013001300
  7 0 0x09     2    12, 0 1 , 0x000014001400
  7 0 0x0A     2    12, 0 1 , 0x000015001500
  8 0 0x08     2    12, 0 1 , 0x000003000300
  8 0 0x09     2    12, 0 1 , 0x000003000300
  8 0 0x0A     2    12, 0 1 , 0x000003000300
  9 0 0x08     2    12, 0 1 , 0x000016001600
  9 0 0x09     2    12, 0 1 , 0x000017001700
  9 0 0x0A     2    12, 0 1 , 0x000018001800
 10 0 0x08     2    12, 0 1 , 0x000003000300
 10 0 0x09     2    12, 0 1 , 0x000003000300
 10 0 0x0A     2    12, 0 1 , 0x000003000300
 11 0 0x08     2    12, 0 1 , 0x000019001900
 11 0 0x09     2    12, 0 1 , 0x00001A001A00
 11 0 0x0A     2    12, 0 1 , 0x00001B001B00
 12 0 0x08     2    12, 0 1 , 0x00001D001D00
 12 0 0x09     2    12, 0 1 , 0x00001E001E00
 12 0 0x0A     2    12, 0 1 , 0x00001F001F00
 13 0 0x08     2    12, 0 1 , 0x000003000300
 13 0 0x09     2    12, 0 1 , 0x000022002200
 13 0 0x0A     2    12, 0 1 , 0x000023002300
 14 0 0x08     2    12, 0 1 , 0x000024002400
 14 0 0x09     2    12, 0 1 , 0x000025002500
 14 0 0x0A     2    12, 0 1 , 0x000026002600
 15 0 0x08     2    12, 0 1 , 0x00002A002A00
 15 0 0x09     2    12, 0 1 , 0x00002B002B00
 15 0 0x0A     2    12, 0 1 , 0x00002C002C00
 16 0 0x08     2    12, 0 1 , 0x00002D002D00
 16 0 0x09     2    12, 0 1 , 0x000025002500
 16 0 0x0A     2    12, 0 1 , 0x000026002600
 17 0 0x08     2    12, 0 1 , 0x000030003000
 17 0 0x09     2    12, 0 1 , 0x00002B002B00
 17 0 0x0A     2    12, 0 1 , 0x00002C002C00
 18 0 0x08     2    12, 0 1 , 0x000003000300
 18 0 0x09     2    12, 0 1 , 0x000031003100
 18 0 0x0A     2    12, 0 1 , 0x000032003200
 19 0 0x08     2    12, 0 1 , 0x000003000300
 19 0 0x09     2    12, 0 1 , 0x000003000300
 19 0 0x0A     2    12, 0 1 , 0x000033003300
 20 0 0x08     2    12, 0 1 , 0x000003000300
 20 0 0x09     2    12, 0 1 , 0x000003000300
 20 0 0x0A     2    12, 0 1 , 0x000034003400
 21 0 0x08     2    12, 0 1 , 0x000003000300
 21 0 0x09     2    12, 0 1 , 0x000003000300
 21 0 0x0A     2    12, 0 1 , 0x000035003500
 22 0 0x08     2    12, 0 1 , 0x000003000300
 22 0 0x09     2    12, 0 1 , 0x000036003600
 22 0 0x0A     2    12, 0 1 , 0x000037003700
 23 0 0x08     2    12, 0 1 , 0x000038003800
 23 0 0x09     2    12, 0 1 , 0x000039003900
 23 0 0x0A     2    12, 0 1 , 0x00003A003A00
 24 0 0x08     2    12, 0 1 , 0x00003C003C00
 24 0 0x09     2    12, 0 1 , 0x00003D003D00
 24 0 0x0A     2    12, 0 1 , 0x00003E003E00
 25 0 0x08     2    12, 0 1 , 0x00003F003F00
 25 0 0x09     2    12, 0 1 , 0x00000E000E00
 25 0 0x0A     2    12, 0 1 , 0x00000F000F00
 26 0 0x08     2    12, 0 1 , 0x000040004000
 26 0 0x09     2    12, 0 1 , 0x000011001100
 26 0 0x0A     2    12, 0 1 , 0x000012001200
 27 0 0x08     2    12, 0 1 , 0x000041004100
 27 0 0x09     2    12, 0 1 , 0x000014001400
 27 0 0x0A     2    12, 0 1 , 0x000015001500
 28 0 0x08     2    12, 0 1 , 0x000003000300
 28 0 0x09     2    12, 0 1 , 0x000003000300
 28 0 0x0A     2    12, 0 1 , 0x000003000300
 29 0 0x08     2    12, 0 1 , 0x000042004200
 29 0 0x09     2    12, 0 1 , 0x000017001700
 29 0 0x0A     2    12, 0 1 , 0x000018001800
 30 0 0x08     2    12, 0 1 , 0x000003000300
 30 0 0x09     2    12, 0 1 , 0x000003000300
 30 0 0x0A     2    12, 0 1 , 0x000003000300
 31 0 0x08     2    12, 0 1 , 0x000043004300
 31 0 0x09     2    12, 0 1 , 0x000044004400
 31 0 0x0A     2    12, 0 1 , 0x000045004500
 32 0 0x08     2    12, 0 1 , 0x000003000300
 32 0 0x09     2    12, 0 1 , 0x000003000300
 32 0 0x0A     2    12, 0 1 , 0x000046004600
 33 0 0x08     2    12, 0 1 , 0x000047004700
 33 0 0x09     2    12, 0 1 , 0x000048004800
 33 0 0x0A     2    12, 0 1 , 0x000049004900
 34 0 0x08     2    12, 0 1 , 0x00004A004A00
 34 0 0x09     2    12, 0 1 , 0x000044004400
 34 0 0x0A     2    12, 0 1 , 0x000045004500
 35 0 0x08     2    12, 0 1 , 0x000003000300
 35 0 0x09     2    12, 0 1 , 0x000003000300
 35 0 0x0A     2    12, 0 1 , 0x000046004600
 36 0 0x08     2    12, 0 1 , 0x00001D001D00
 36 0 0x09     2    12, 0 1 , 0x00004B004B00
 36 0 0x0A     2    12, 0 1 , 0x00004C004C00
 37 0 0x08     2    12, 0 1 , 0x00004F004F00
 37 0 0x09     2    12, 0 1 , 0x000050005000
 37 0 0x0A     2    12, 0 1 , 0x000051005100
 38 0 0x08     2    12, 0 1 , 0x000055005500
 38 0 0x09     2    12, 0 1 , 0x000056005600
 38 0 0x0A     2    12, 0 1 , 0x000057005700
 39 0 0x08     2    12, 0 1 , 0x000058005800
 39 0 0x09     2    12, 0 1 , 0x000056005600
 39 0 0x0A     2    12, 0 1 , 0x000059005900
 40 0 0x08     2    12, 0 1 , 0x00005A005A00
 40 0 0x09     2    12, 0 1 , 0x000050005000
 40 0 0x0A     2    12, 0 1 , 0x000051005100
 41 0 0x08     2    12, 0 1 , 0x00005E005E00
 41 0 0x09     2    12, 0 1 , 0x00005F005F00
 41 0 0x0A     2    12, 0 1 , 0x000060006000
 42 0 0x08     2    12, 0 1 , 0x000061006100
 42 0 0x09     2    12, 0 1 , 0x00005F005F00
 42 0 0x0A     2    12, 0 1 , 0x000060006000
 43 0 0x08     2    12, 0 1 , 0x000062006200
 43 0 0x09     2    12, 0 1 , 0x000001000100
 43 0 0x0A     2    12, 0 1 , 0x000002000200
 44 0 0x08     2    12, 0 1 , 0x000003000300
 44 0 0x09     2    12, 0 1 , 0x000005000500
 44 0 0x0A     2    12, 0 1 , 0x000006000600
 45 0 0x08     2    12, 0 1 , 0x000063006300
 45 0 0x09     2    12, 0 1 , 0x000064006400
 45 0 0x0A     2    12, 0 1 , 0x000065006500
 46 0 0x08     2    12, 0 1 , 0x000066006600
 46 0 0x09     2    12, 0 1 , 0x000008000800
 46 0 0x0A     2    12, 0 1 , 0x000009000900
 47 0 0x08     2    12, 0 1 , 0x000067006700
 47 0 0x09     2    12, 0 1 , 0x000039003900
 47 0 0x0A     2    12, 0 1 , 0x00003A003A00
 48 0 0x08     2    12, 0 1 , 0x000069006900
 48 0 0x09     2    12, 0 1 , 0x00003D003D00
 48 0 0x0A     2    12, 0 1 , 0x00003E003E00
 49 0 0x08     2    12, 0 1 , 0x00006A006A00
 49 0 0x09     2    12, 0 1 , 0x000048004800
 49 0 0x0A     2    12, 0 1 , 0x000049004900
 50 0 0x08     2    12, 0 1 , 0x00006B006B00
 50 0 0x09     2    12, 0 1 , 0x00001A001A00
 50 0 0x0A     2    12, 0 1 , 0x00006C006C00
 51 0 0x08     2    12, 0 1 , 0x00006D006D00
 51 0 0x09     2    12, 0 1 , 0x00000B000B00
 51 0 0x0A     2    12, 0 1 , 0x00000C000C00
 52 0 0x08     2    12, 0 1 , 0x000063006300
 52 0 0x09     2    12, 0 1 , 0x00006E006E00
 52 0 0x0A     2    12, 0 1 , 0x00006F006F00
 53 0 0x08     2    12, 0 1 , 0x000070007000
 53 0 0x09     2    12, 0 1 , 0x000071007100
 53 0 0x0A     2    12, 0 1 , 0x000072007200
 54 0 0x08     2    12, 0 1 , 0x000073007300
 54 0 0x09     2    12, 0 1 , 0x000071007100
 54 0 0x0A     2    12, 0 1 , 0x000072007200
  1 1 0x08     2    12, 0 1 , 0x000003000300
  1 1 0x09     2    12, 0 1 , 0x000003000300
  1 1 0x0A     2    12, 0 1 , 0x000003000300
  2 1 0x08     2    12, 0 1 , 0x000003000300
  2 1 0x09     2    12, 0 1 , 0x000003000300
  2 1 0x0A     2    12, 0 1 , 0x000003000300
  3 1 0x08     2    12, 0 1 , 0x000003000300
  3 1 0x09     2    12, 0 1 , 0x000003000300
  3 1 0x0A     2    12, 0 1 , 0x000003000300
  4 1 0x08     2    12, 0 1 , 0x000003000300
  4 1 0x09     2    12, 0 1 , 0x000003000300
  4 1 0x0A     2    12, 0 1 , 0x000003000300
  5 1 0x08     2    12, 0 1 , 0x000003000300
  5 1 0x09     2    12, 0 1 , 0x000003000300
  5 1 0x0A     2    12, 0 1 , 0x000003000300
  6 1 0x08     2    12, 0 1 , 0x000003000300
  6 1 0x09     2    12, 0 1 , 0x000003000300
  6 1 0x0A     2    12, 0 1 , 0x000003000300
  7 1 0x08     2    12, 0 1 , 0x000003000300
  7 1 0x09     2    12, 0 1 , 0x000003000300
  7 1 0x0A     2    12, 0 1 , 0x000003000300
  8 1 0x08     2    12, 0 1 , 0x000003000300
  8 1 0x09     2    12, 0 1 , 0x000003000300
  8 1 0x0A     2    12, 0 1 , 0x000003000300
  9 1 0x08     2    12, 0 1 , 0x000003000300
  9 1 0x09     2    12, 0 1 , 0x000003000300
  9 1 0x0A     2    12, 0 1 , 0x000003000300
 10 1 0x08     2    12, 0 1 , 0x000003000300
 10 1 0x09     2    12, 0 1 , 0x000003000300
 10 1 0x0A     2    12, 0 1 , 0x000003000300
 11 1 0x08     2    12, 0 1 , 0x000003000300
 11 1 0x09     2    12, 0 1 , 0x00001C001C00
 11 1 0x0A     2    12, 0 1 , 0x000003000300
 12 1 0x08     2    12, 0 1 , 0x000020002000
 12 1 0x09     2    12, 0 1 , 0x000021002100
 12 1 0x0A     2    12, 0 1 , 0x000003000300
 13 1 0x08     2    12, 0 1 , 0x000003000300
 13 1 0x09     2    12, 0 1 , 0x000003000300
 13 1 0x0A     2    12, 0 1 , 0x000003000300
 14 1 0x08     2    12, 0 1 , 0x000027002700
 14 1 0x09     2    12, 0 1 , 0x000028002800
 14 1 0x0A     2    12, 0 1 , 0x000029002900
 15 1 0x08     2    12, 0 1 , 0x000003000300
 15 1 0x09     2    12, 0 1 , 0x000003000300
 15 1 0x0A     2    12, 0 1 , 0x000003000300
 16 1 0x08     2    12, 0 1 , 0x000027002700
 16 1 0x09     2    12, 0 1 , 0x00002E002E00
 16 1 0x0A     2    12, 0 1 , 0x00002F002F00
 17 1 0x08     2    12, 0 1 , 0x000003000300
 17 1 0x09     2    12, 0 1 , 0x000003000300
 17 1 0x0A     2    12, 0 1 , 0x000003000300
 18 1 0x08     2    12, 0 1 , 0x000003000300
 18 1 0x09     2    12, 0 1 , 0x000003000300
 18 1 0x0A     2    12, 0 1 , 0x000003000300
 19 1 0x08     2    12, 0 1 , 0x000003000300
 19 1 0x09     2    12, 0 1 , 0x000003000300
 19 1 0x0A     2    12, 0 1 , 0x000003000300
 20 1 0x08     2    12, 0 1 , 0x000003000300
 20 1 0x09     2    12, 0 1 , 0x000003000300
 20 1 0x0A     2    12, 0 1 , 0x000003000300
 21 1 0x08     2    12, 0 1 , 0x000003000300
 21 1 0x09     2    12, 0 1 , 0x000003000300
 21 1 0x0A     2    12, 0 1 , 0x000003000300
 22 1 0x08     2    12, 0 1 , 0x000003000300
 22 1 0x09     2    12, 0 1 , 0x000003000300
 22 1 0x0A     2    12, 0 1 , 0x000003000300
 23 1 0x08     2    12, 0 1 , 0x000003000300
 23 1 0x09     2    12, 0 1 , 0x00003B003B00
 23 1 0x0A     2    12, 0 1 , 0x000003000300
 24 1 0x08     2    12, 0 1 , 0x000003000300
 24 1 0x09     2    12, 0 1 , 0x000003000300
 24 1 0x0A     2    12, 0 1 , 0x000003000300
 25 1 0x08     2    12, 0 1 , 0x000003000300
 25 1 0x09     2    12, 0 1 , 0x00001C001C00
 25 1 0x0A     2    12, 0 1 , 0x000003000300
 26 1 0x08     2    12, 0 1 , 0x000003000300
 26 1 0x09     2    12, 0 1 , 0x000003000300
 26 1 0x0A     2    12, 0 1 , 0x000003000300
 27 1 0x08     2    12, 0 1 , 0x000003000300
 27 1 0x09     2    12, 0 1 , 0x000003000300
 27 1 0x0A     2    12, 0 1 , 0x000003000300
 28 1 0x08     2    12, 0 1 , 0x000003000300
 28 1 0x09     2    12, 0 1 , 0x000003000300
 28 1 0x0A     2    12, 0 1 , 0x000003000300
 29 1 0x08     2    12, 0 1 , 0x000003000300
 29 1 0x09     2    12, 0 1 , 0x000003000300
 29 1 0x0A     2    12, 0 1 , 0x000003000300
 30 1 0x08     2    12, 0 1 , 0x000003000300
 30 1 0x09     2    12, 0 1 , 0x000003000300
 30 1 0x0A     2    12, 0 1 , 0x000003000300
 31 1 0x08     2    12, 0 1 , 0x000003000300
 31 1 0x09     2    12, 0 1 , 0x00001C001C00
 31 1 0x0A     2    12, 0 1 , 0x000003000300
 32 1 0x08     2    12, 0 1 , 0x000003000300
 32 1 0x09     2    12, 0 1 , 0x000003000300
 32 1 0x0A     2    12, 0 1 , 0x000003000300
 33 1 0x08     2    12, 0 1 , 0x000003000300
 33 1 0x09     2    12, 0 1 , 0x00001C001C00
 33 1 0x0A     2    12, 0 1 , 0x000003000300
 34 1 0x08     2    12, 0 1 , 0x000003000300
 34 1 0x09     2    12, 0 1 , 0x000003000300
 34 1 0x0A     2    12, 0 1 , 0x000003000300
 35 1 0x08     2    12, 0 1 , 0x000003000300
 35 1 0x09     2    12, 0 1 , 0x000003000300
 35 1 0x0A     2    12, 0 1 , 0x000003000300
 36 1 0x08     2    12, 0 1 , 0x00004D004D00
 36 1 0x09     2    12, 0 1 , 0x00004E004E00
 36 1 0x0A     2    12, 0 1 , 0x000003000300
 37 1 0x08     2    12, 0 1 , 0x000052005200
 37 1 0x09     2    12, 0 1 , 0x000053005300
 37 1 0x0A     2    12, 0 1 , 0x000054005400
 38 1 0x08     2    12, 0 1 , 0x000003000300
 38 1 0x09     2    12, 0 1 , 0x000021002100
 38 1 0x0A     2    12, 0 1 , 0x000003000300
 39 1 0x08     2    12, 0 1 , 0x000003000300
 39 1 0x09     2    12, 0 1 , 0x000003000300
 39 1 0x0A     2    12, 0 1 , 0x000003000300
 40 1 0x08     2    12, 0 1 , 0x00005B005B00
 40 1 0x09     2    12, 0 1 , 0x00005C005C00
 40 1 0x0A     2    12, 0 1 , 0x00005D005D00
 41 1 0x08     2    12, 0 1 , 0x000003000300
 41 1 0x09     2    12, 0 1 , 0x000003000300
 41 1 0x0A     2    12, 0 1 , 0x000003000300
 42 1 0x08     2    12, 0 1 , 0x000003000300
 42 1 0x09     2    12, 0 1 , 0x000021002100
 42 1 0x0A     2    12, 0 1 , 0x000003000300
 43 1 0x08     2    12, 0 1 , 0x000003000300
 43 1 0x09     2    12, 0 1 , 0x00001C001C00
 43 1 0x0A     2    12, 0 1 , 0x000003000300
 44 1 0x08     2    12, 0 1 , 0x000003000300
 44 1 0x09     2    12, 0 1 , 0x000003000300
 44 1 0x0A     2    12, 0 1 , 0x000003000300
 45 1 0x08     2    12, 0 1 , 0x000003000300
 45 1 0x09     2    12, 0 1 , 0x000003000300
 45 1 0x0A     2    12, 0 1 , 0x000003000300
 46 1 0x08     2    12, 0 1 , 0x000003000300
 46 1 0x09     2    12, 0 1 , 0x00001C001C00
 46 1 0x0A     2    12, 0 1 , 0x000003000300
 47 1 0x08     2    12, 0 1 , 0x000003000300
 47 1 0x09     2    12, 0 1 , 0x000068006800
 47 1 0x0A     2    12, 0 1 , 0x000003000300
 48 1 0x08     2    12, 0 1 , 0x000003000300
 48 1 0x09     2    12, 0 1 , 0x000003000300
 48 1 0x0A     2    12, 0 1 , 0x000003000300
 49 1 0x08     2    12, 0 1 , 0x000003000300
 49 1 0x09     2    12, 0 1 , 0x000003000300
 49 1 0x0A     2    12, 0 1 , 0x000003000300
 50 1 0x08     2    12, 0 1 , 0x000003000300
 50 1 0x09     2    12, 0 1 , 0x000003000300
 50 1 0x0A     2    12, 0 1 , 0x000003000300
 51 1 0x08     2    12, 0 1 , 0x000003000300
 51 1 0x09     2    12, 0 1 , 0x00001C001C00
 51 1 0x0A     2    12, 0 1 , 0x000003000300
 52 1 0x08     2    12, 0 1 , 0x000003000300
 52 1 0x09     2    12, 0 1 , 0x000003000300
 52 1 0x0A     2    12, 0 1 , 0x000003000300
 53 1 0x08     2    12, 0 1 , 0x000003000300
 53 1 0x09     2    12, 0 1 , 0x00001C001C00
 53 1 0x0A     2    12, 0 1 , 0x000003000300
 54 1 0x08     2    12, 0 1 , 0x000003000300
 54 1 0x09     2    12, 0 1 , 0x000003000300
 54 1 0x0A     2    12, 0 1 , 0x000003000300
  1 2 0x08     2    12, 0 1 , 0x000004000400
  1 2 0x09     2    12, 0 1 , 0x000004000400
  1 2 0x0A     2    12, 0 1 , 0x000004000400
  2 2 0x08     2    12, 0 1 , 0x000004000400
  2 2 0x09     2    12, 0 1 , 0x000004000400
  2 2 0x0A     2    12, 0 1 , 0x000004000400
  3 2 0x08     2    12, 0 1 , 0x000004000400
  3 2 0x09     2    12, 0 1 , 0x000004000400
  3 2 0x0A     2    12, 0 1 , 0x000004000400
  4 2 0x08     2    12, 0 1 , 0x000004000400
  4 2 0x09     2    12, 0 1 , 0x000004000400
  4 2 0x0A     2    12, 0 1 , 0x000004000400
  5 2 0x08     2    12, 0 1 , 0x000004000400
  5 2 0x09     2    12, 0 1 , 0x000004000400
  5 2 0x0A     2    12, 0 1 , 0x000004000400
  6 2 0x08     2    12, 0 1 , 0x000004000400
  6 2 0x09     2    12, 0 1 , 0x000004000400
  6 2 0x0A     2    12, 0 1 , 0x000004000400
  7 2 0x08     2    12, 0 1 , 0x000004000400
  7 2 0x09     2    12, 0 1 , 0x000004000400
  7 2 0x0A     2    12, 0 1 , 0x000004000400
  8 2 0x08     2    12, 0 1 , 0x000004000400
  8 2 0x09     2    12, 0 1 , 0x000004000400
  8 2 0x0A     2    12, 0 1 , 0x000004000400
  9 2 0x08     2    12, 0 1 , 0x000004000400
  9 2 0x09     2    12, 0 1 , 0x000004000400
  9 2 0x0A     2    12, 0 1 , 0x000004000400
 10 2 0x08     2    12, 0 1 , 0x000004000400
 10 2 0x09     2    12, 0 1 , 0x000004000400
 10 2 0x0A     2    12, 0 1 , 0x000004000400
 11 2 0x08     2    12, 0 1 , 0x000004000400
 11 2 0x09     2    12, 0 1 , 0x000004000400
 11 2 0x0A     2    12, 0 1 , 0x000004000400
 12 2 0x08     2    12, 0 1 , 0x000004000400
 12 2 0x09     2    12, 0 1 , 0x000004000400
 12 2 0x0A     2    12, 0 1 , 0x000004000400
 13 2 0x08     2    12, 0 1 , 0x000004000400
 13 2 0x09     2    12, 0 1 , 0x000004000400
 13 2 0x0A     2    12, 0 1 , 0x000004000400
 14 2 0x08     2    12, 0 1 , 0x000004000400
 14 2 0x09     2    12, 0 1 , 0x000004000400
 14 2 0x0A     2    12, 0 1 , 0x000004000400
 15 2 0x08     2    12, 0 1 , 0x000004000400
 15 2 0x09     2    12, 0 1 , 0x000004000400
 15 2 0x0A     2    12, 0 1 , 0x000004000400
 16 2 0x08     2    12, 0 1 , 0x000004000400
 16 2 0x09     2    12, 0 1 , 0x000004000400
 16 2 0x0A     2    12, 0 1 , 0x000004000400
 17 2 0x08     2    12, 0 1 , 0x000004000400
 17 2 0x09     2    12, 0 1 , 0x000004000400
 17 2 0x0A     2    12, 0 1 , 0x000004000400
 18 2 0x08     2    12, 0 1 , 0x000004000400
 18 2 0x09     2    12, 0 1 , 0x000004000400
 18 2 0x0A     2    12, 0 1 , 0x000004000400
 19 2 0x08     2    12, 0 1 , 0x000004000400
 19 2 0x09     2    12, 0 1 , 0x000004000400
 19 2 0x0A     2    12, 0 1 , 0x000004000400
 20 2 0x08     2    12, 0 1 , 0x000004000400
 20 2 0x09     2    12, 0 1 , 0x000004000400
 20 2 0x0A     2    12, 0 1 , 0x000004000400
 21 2 0x08     2    12, 0 1 , 0x000004000400
 21 2 0x09     2    12, 0 1 , 0x000004000400
 21 2 0x0A     2    12, 0 1 , 0x000004000400
 22 2 0x08     2    12, 0 1 , 0x000004000400
 22 2 0x09     2    12, 0 1 , 0x000004000400
 22 2 0x0A     2    12, 0 1 , 0x000004000400
 23 2 0x08     2    12, 0 1 , 0x000004000400
 23 2 0x09     2    12, 0 1 , 0x000004000400
 23 2 0x0A     2    12, 0 1 , 0x000004000400
 24 2 0x08     2    12, 0 1 , 0x000004000400
 24 2 0x09     2    12, 0 1 , 0x000004000400
 24 2 0x0A     2    12, 0 1 , 0x000004000400
 25 2 0x08     2    12, 0 1 , 0x000004000400
 25 2 0x09     2    12, 0 1 , 0x000004000400
 25 2 0x0A     2    12, 0 1 , 0x000004000400
 26 2 0x08     2    12, 0 1 , 0x000004000400
 26 2 0x09     2    12, 0 1 , 0x000004000400
 26 2 0x0A     2    12, 0 1 , 0x000004000400
 27 2 0x08     2    12, 0 1 , 0x000004000400
 27 2 0x09     2    12, 0 1 , 0x000004000400
 27 2 0x0A     2    12, 0 1 , 0x000004000400
 28 2 0x08     2    12, 0 1 , 0x000004000400
 28 2 0x09     2    12, 0 1 , 0x000004000400
 28 2 0x0A     2    12, 0 1 , 0x000004000400
 29 2 0x08     2    12, 0 1 , 0x000004000400
 29 2 0x09     2    12, 0 1 , 0x000004000400
 29 2 0x0A     2    12, 0 1 , 0x000004000400
 30 2 0x08     2    12, 0 1 , 0x000004000400
 30 2 0x09     2    12, 0 1 , 0x000004000400
 30 2 0x0A     2    12, 0 1 , 0x000004000400
 31 2 0x08     2    12, 0 1 , 0x000004000400
 31 2 0x09     2    12, 0 1 , 0x000004000400
 31 2 0x0A     2    12, 0 1 , 0x000004000400
 32 2 0x08     2    12, 0 1 , 0x000004000400
 32 2 0x09     2    12, 0 1 , 0x000004000400
 32 2 0x0A     2    12, 0 1 , 0x000004000400
 33 2 0x08     2    12, 0 1 , 0x000004000400
 33 2 0x09     2    12, 0 1 , 0x000004000400
 33 2 0x0A     2    12, 0 1 , 0x000004000400
 34 2 0x08     2    12, 0 1 , 0x000004000400
 34 2 0x09     2    12, 0 1 , 0x000004000400
 34 2 0x0A     2    12, 0 1 , 0x000004000400
 35 2 0x08     2    12, 0 1 , 0x000004000400
 35 2 0x09     2    12, 0 1 , 0x000004000400
 35 2 0x0A     2    12, 0 1 , 0x000004000400
 36 2 0x08     2    12, 0 1 , 0x000004000400
 36 2 0x09     2    12, 0 1 , 0x000004000400
 36 2 0x0A     2    12, 0 1 , 0x000004000400
 37 2 0x08     2    12, 0 1 , 0x000004000400
 37 2 0x09     2    12, 0 1 , 0x000004000400
 37 2 0x0A     2    12, 0 1 , 0x000004000400
 38 2 0x08     2    12, 0 1 , 0x000004000400
 38 2 0x09     2    12, 0 1 , 0x000004000400
 38 2 0x0A     2    12, 0 1 , 0x000004000400
 39 2 0x08     2    12, 0 1 , 0x000004000400
 39 2 0x09     2    12, 0 1 , 0x000004000400
 39 2 0x0A     2    12, 0 1 , 0x000004000400
 40 2 0x08     2    12, 0 1 , 0x000004000400
 40 2 0x09     2    12, 0 1 , 0x000004000400
 40 2 0x0A     2    12, 0 1 , 0x000004000400
 41 2 0x08     2    12, 0 1 , 0x000004000400
 41 2 0x09     2    12, 0 1 , 0x000004000400
 41 2 0x0A     2    12, 0 1 , 0x000004000400
 42 2 0x08     2    12, 0 1 , 0x000004000400
 42 2 0x09     2    12, 0 1 , 0x000004000400
 42 2 0x0A     2    12, 0 1 , 0x000004000400
 43 2 0x08     2    12, 0 1 , 0x000004000400
 43 2 0x09     2    12, 0 1 , 0x000004000400
 43 2 0x0A     2    12, 0 1 , 0x000004000400
 44 2 0x08     2    12, 0 1 , 0x000004000400
 44 2 0x09     2    12, 0 1 , 0x000004000400
 44 2 0x0A     2    12, 0 1 , 0x000004000400
 45 2 0x08     2    12, 0 1 , 0x000004000400
 45 2 0x09     2    12, 0 1 , 0x000004000400
 45 2 0x0A     2    12, 0 1 , 0x000004000400
 46 2 0x08     2    12, 0 1 , 0x000004000400
 46 2 0x09     2    12, 0 1 , 0x000004000400
 46 2 0x0A     2    12, 0 1 , 0x000004000400
 47 2 0x08     2    12, 0 1 , 0x000004000400
 47 2 0x09     2    12, 0 1 , 0x000004000400
 47 2 0x0A     2    12, 0 1 , 0x000004000400
 48 2 0x08     2    12, 0 1 , 0x000004000400
 48 2 0x09     2    12, 0 1 , 0x000004000400
 48 2 0x0A     2    12, 0 1 , 0x000004000400
 49 2 0x08     2    12, 0 1 , 0x000004000400
 49 2 0x09     2    12, 0 1 , 0x000004000400
 49 2 0x0A     2    12, 0 1 , 0x000004000400
 50 2 0x08     2    12, 0 1 , 0x000004000400
 50 2 0x09     2    12, 0 1 , 0x000004000400
 50 2 0x0A     2    12, 0 1 , 0x000004000400
 51 2 0x08     2    12, 0 1 , 0x000004000400
 51 2 0x09     2    12, 0 1 , 0x000004000400
 51 2 0x0A     2    12, 0 1 , 0x000004000400
 52 2 0x08     2    12, 0 1 , 0x000004000400
 52 2 0x09     2    12, 0 1 , 0x000004000400
 52 2 0x0A     2    12, 0 1 , 0x000004000400
 53 2 0x08     2    12, 0 1 , 0x000004000400
 53 2 0x09     2    12, 0 1 , 0x000004000400
 53 2 0x0A     2    12, 0 1 , 0x000004000400
 54 2 0x08     2    12, 0 1 , 0x000004000400
 54 2 0x09     2    12, 0 1 , 0x000004000400
 54 2 0x0A     2    12, 0 1 , 0x000004000400

Sum col #4=972:

Sum col #6=5832:

Values (116):
-0.033943
0.032618
-0.095317
0.000000
1.000000
0.016146
-0.000951
-0.018550
-0.004315
-0.104465
-0.037231
0.022174
-0.101329
-0.013388
0.050104
-0.109681
-0.012712
0.005377
0.001688
-0.019397
0.002713
0.006083
-0.017672
0.008886
0.003672
0.053155
0.040683
-0.085333
0.000034
0.000000
-0.007297
-0.006021
1.150000
0.000017
-0.045662
-0.099647
0.008874
-0.022252
-0.106337
-0.001325
-2.748392
0.055214
0.019592
-0.020489
-0.098875
-0.008874
2.748392
-0.055214
-0.019592
-0.015281
-0.033980
-0.013876
-0.013876
-0.012973
0.000036
0.000203
0.007760
-0.012363
-0.113518
-2.748912
0.009959
-0.003338
0.006016
0.013389
0.012712
0.019397
0.017672
0.033480
0.042107
-0.083977
-0.014877
0.044363
0.019070
-0.090785
-0.033479
-0.007294
-0.006024
0.575000
0.000008
0.032947
-0.012212
-0.087933
0.028889
0.121487
19.609476
0.055446
-0.008116
-0.039314
-0.055446
-0.039314
-0.032947
0.028883
-0.121471
-19.609476
-0.029280
-0.007574
-0.093709
0.029280
0.033944
0.000006
0.050123
-0.110531
0.018550
-0.007759
2.748946
-0.009959
-0.044362
-0.053154
-0.085333
0.037231
0.004763
0.024311
0.013055
0.010510
-0.102085
-0.013054

skeleton:
  0 parent: 65535 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 -0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 0.000000 0.000000 -0.000000 1.000000
  1 parent: 0 matrix: 1.000000 -0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 -0.000000 1.000000 0.000000 -0.033943 0.032618 -0.095317 1.000000
  2 parent: 1 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 -0.000000 0.016146 -0.000951 1.000000
  3 parent: 0 matrix: 1.000000 -0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 -0.000000 1.000000 0.000000 -0.018550 -0.004315 -0.104465 1.000000
  4 parent: 0 matrix: 1.000000 -0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 -0.000000 1.000000 0.000000 -0.037231 0.022174 -0.101329 1.000000
  5 parent: 0 matrix: 1.000000 -0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 -0.000000 1.000000 0.000000 -0.013388 0.050104 -0.109681 1.000000
  6 parent: 5 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 -0.012712 0.005377 0.001688 1.000000
  7 parent: 6 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 -0.019397 0.002713 0.006083 1.000000
  8 parent: 6 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 0.000000 0.000000 -0.000000 1.000000
  9 parent: 8 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 -0.017672 0.008886 0.003672 1.000000
 10 parent: 5 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 0.000000 0.000000 -0.000000 1.000000
 11 parent: 0 matrix: 1.000000 -0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 -0.000000 1.000000 0.000000 0.053155 0.040683 -0.085333 1.000000
 12 parent: 0 matrix: 1.000000 -0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 -0.007297 -0.006021 1.000000
 13 parent: 12 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 -0.000000 -0.045662 -0.099647 1.000000
 14 parent: 12 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 0.008874 -0.023057 -0.105586 1.000000
 15 parent: 12 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 0.018231 -0.020374 -0.100841 1.000000
 16 parent: 12 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 -0.008874 -0.023057 -0.105586 1.000000
 17 parent: 12 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 -0.018231 -0.020374 -0.100841 1.000000
 18 parent: 12 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 -0.000000 -0.015281 -0.033980 1.000000
 19 parent: 18 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 0.000000 -0.000000 -0.013876 1.000000
 20 parent: 19 matrix: 1.000000 0.000000 -0.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 0.000000 -0.000000 1.000000 0.000000 -0.000000 -0.000000 -0.013876 1.000000
 21 parent: 20 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 -0.000000 0.000000 -0.012973 1.000000
 22 parent: 12 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 -0.000000 0.000036 0.000203 1.000000
 23 parent: 0 matrix: 1.000000 -0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 -0.000000 1.000000 0.000000 0.007760 -0.014474 -0.112392 1.000000
 24 parent: 23 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 0.008533 -0.001242 0.004652 1.000000
 25 parent: 0 matrix: 1.000000 -0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 -0.000000 1.000000 0.000000 0.013389 0.050104 -0.109681 1.000000
 26 parent: 25 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 0.012712 0.005377 0.001688 1.000000
 27 parent: 26 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 0.019397 0.002713 0.006083 1.000000
 28 parent: 26 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 0.000000 0.000000 -0.000000 1.000000
 29 parent: 28 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 0.017672 0.008886 0.003672 1.000000
 30 parent: 25 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 -0.000000 0.000000 -0.000000 1.000000
 31 parent: 0 matrix: 1.000000 -0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 -0.000000 1.000000 0.000000 0.033480 0.042107 -0.083977 1.000000
 32 parent: 31 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 0.000000 0.000000 -0.014877 1.000000
 33 parent: 0 matrix: 1.000000 -0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 -0.000000 1.000000 0.000000 0.044363 0.019070 -0.090785 1.000000
 34 parent: 0 matrix: 1.000000 -0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 -0.000000 1.000000 0.000000 -0.033479 0.042107 -0.083977 1.000000
 35 parent: 34 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 -0.000000 0.000000 -0.014877 1.000000
 36 parent: 0 matrix: 1.000000 -0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 -0.007294 -0.006024 1.000000
 37 parent: 36 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 0.029746 -0.014482 -0.089318 1.000000
 38 parent: 36 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 0.055446 -0.008116 -0.039314 1.000000
 39 parent: 36 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 -0.055446 -0.008116 -0.039314 1.000000
 40 parent: 36 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 -0.029746 -0.014482 -0.089318 1.000000
 41 parent: 36 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 -0.029280 -0.007574 -0.093709 1.000000
 42 parent: 36 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 0.029280 -0.007574 -0.093709 1.000000
 43 parent: 0 matrix: 1.000000 -0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 -0.000000 1.000000 0.000000 0.033944 0.032618 -0.095317 1.000000
 44 parent: 43 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 0.000000 0.016146 -0.000951 1.000000
 45 parent: 0 matrix: 1.000000 -0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 -0.000000 1.000000 0.000000 0.000006 0.050123 -0.110531 1.000000
 46 parent: 0 matrix: 1.000000 -0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 -0.000000 1.000000 0.000000 0.018550 -0.004315 -0.104465 1.000000
 47 parent: 0 matrix: 1.000000 -0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 -0.000000 1.000000 0.000000 -0.007759 -0.014474 -0.112392 1.000000
 48 parent: 47 matrix: 1.000000 0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 -0.000000 -0.000000 1.000000 0.000000 -0.008533 -0.001242 0.004652 1.000000
 49 parent: 0 matrix: 1.000000 -0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 -0.000000 1.000000 0.000000 -0.044362 0.019070 -0.090785 1.000000
 50 parent: 0 matrix: 1.000000 -0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 -0.000000 1.000000 0.000000 -0.053154 0.040683 -0.085333 1.000000
 51 parent: 0 matrix: 1.000000 -0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 -0.000000 1.000000 0.000000 0.037230 0.022170 -0.101330 1.000000
 52 parent: 0 matrix: 1.000000 -0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 -0.000000 1.000000 0.000000 0.000006 0.004763 0.024311 1.000000
 53 parent: 0 matrix: 1.000000 -0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 -0.000000 1.000000 0.000000 0.013055 0.010510 -0.102085 1.000000
 54 parent: 0 matrix: 1.000000 -0.000000 -0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 -0.000000 1.000000 0.000000 -0.013054 0.010510 -0.102085 1.000000
You do not have the required permissions to view the files attached to this post.
Last edited by piecemontee on Sat Aug 29, 2009 11:28 pm, edited 7 times in total.

revelation
mega-veteran
mega-veteran
Posts: 183
Joined: Mon May 12, 2008 5:15 pm
Has thanked: 5 times
Been thanked: 85 times

Re: Street Fighter 4 model animation info

Post by revelation » Fri Aug 28, 2009 9:31 pm

Sorry for my ignorance. Are you dumps the original format of these files? i have not yet started looking into this game yet (still need to finish up some things on RE4 animations), but i plan to. i might have some time to look into this at least for a brief moment. i haven't even gotten the game for pc yet, i'll have to see if there is a demo, as i could possibly confirm things even more by looking through the executable code as it is loading the files. i would like to confirm the data size of some of those values, as looking at them the: keyframe (timing) count seems to be a correct assumption given the number of values in the (0 - 60) rang in the simple format, but this doesn't seem to always hold up when looking at your dump for the more complicated animation file. The flags value in the beginning may be telling you the data storage layout. This is how it is for Resident Evil 4 FCV animations files, but i am only assuming this as they are both Capcom games as i haven't delved deep enough into SF4 to know for sure yet. Since i haven't exactly been following progress on this front, if you could ssend or point me in the direction of some of the currently known format information i should be able to at least start looking into clarifying some things for you.

- revel8n

piecemontee
advanced
Posts: 50
Joined: Mon Aug 03, 2009 9:34 pm
Has thanked: 5 times
Been thanked: 16 times
Contact:

Re: Street Fighter 4 model animation info

Post by piecemontee » Fri Aug 28, 2009 9:57 pm

Thanks for you fast reply :)
revelation wrote:Are you dumps the original format of these files?
Yes, re-formatted, but only a single animation block as I already spotted how a full animation set is packed in an animation block (#EMA)
revelation wrote: i haven't even gotten the game for pc yet, i'll have to see if there is a demo
A benchmark tool has been released (http://www.fileshack.com/file.x/14601/S ... hmark+Tool)
revelation wrote:This is how it is for Resident Evil 4 FCV animations files
It there a post or sources I could look at?
revelation wrote:if you could ssend or point me in the direction of some of the currently known format information i should be able to at least start looking into clarifying some things for you.
You can use my viewer to unpack/explore SF4 files, magnum posted some info on my viewer topic that , among other things, describe the #EMB structure of an #EMZ file
I'll try to add an animation block dump in the next release

This may give you the whole picture
You do not have the required permissions to view the files attached to this post.

piecemontee
advanced
Posts: 50
Joined: Mon Aug 03, 2009 9:34 pm
Has thanked: 5 times
Been thanked: 16 times
Contact:

Re: Street Fighter 4 model animation info

Post by piecemontee » Fri Aug 28, 2009 11:05 pm

revelation wrote:Are you dumps the original format of these files?
Here is a dump of the block corresponding to the simple animation in the first post
You do not have the required permissions to view the files attached to this post.

magnum
ultra-n00b
Posts: 5
Joined: Sun Jul 26, 2009 8:43 pm
Has thanked: 1 time
Been thanked: 2 times

Re: Street Fighter 4 model animation info

Post by magnum » Sat Aug 29, 2009 4:56 pm

I had written an FCV dumper for RE4 a long time ago (in Perl). Unfortunately, I never figured out what any of the data actually does, as all the script does is dump out the data in an organized and readable fashion, so I'm not sure if it'll help in any way. The source for it is here:

http://z6.invisionfree.com/Resident_Evi ... 2706&st=15

revelation
mega-veteran
mega-veteran
Posts: 183
Joined: Mon May 12, 2008 5:15 pm
Has thanked: 5 times
Been thanked: 85 times

Re: Street Fighter 4 model animation info

Post by revelation » Wed Sep 02, 2009 3:50 pm

Ok, sorry for the delay. i just moved into a new apartment and will be without direct internet access until the 10th, so most of my internet usage will be from work. haven't full deciphered everything but figured i would at least post the main things i know.

i am still going to assume the first uint16 value is the bone index, and i am going to ignore the 2 bytes following it for now. the 3rd uint16 is the keyframe count it seems (or number of data elements), the 4th uint16 is the offset from the beginning of this header data necessary to get past the keyframe time values that directly follow the header. The values so far seem to be bytes for the key frame times, and int16 possibly for the data values. The data seems to repeat 3 time as it does in the FCV format, which i will assume means each track is stored separately for X, Y, and Z values.

Hopefully when i get some time i will be able to actually confirm some of things things for sure, but maybe that will help you figure out some things in the meantime.

hth.

- revel8n

Code: Select all

/*****************************************************************************
 * ema.bt - Structure definitions for Street Fighter 4 - ema file related entities.
 *
 *****************************************************************************
 * Revision History:
 *  2009/09/02 - GWC - Original
 */

#include "common-types.bt"

SetReadOnly(true);

// #pragma displayname("ema structures")
// #pragma fileextensions(".ema")

// #pragma byteorder(little_endian)
LittleEndian();

// mark used bytes with a light green background
SetBackColor(cLtGreen);

// EMA_FILE File Structure
struct EMA_FILE
{
//	#pragma lockAt(0x00000000)

	// EMA_FILE File Header Structure - 0x14 (20) bytes
	struct EMA_HEADER
	{
		uint16 animationLength; // maximum keyframe time value
		uint16 unknownCount0x02;
		uint32 unknown0x04;
		uint32 unknown0x08;
		uint32 unknown0x0C;
		uint32 unknownPtr0x10 <format = hex>;
		
		uint32 unknownPtrs0x14[unknownCount0x02];
	} fileHeader;
	
	if (0 < fileHeader.unknownCount0x02)
	{
		local uint16 uNum = 0;
		for (uNum = 0; uNum < fileHeader.unknownCount0x02; ++uNum)
		{
			FSeek(fileHeader.unknownPtrs0x14[uNum]);
			struct
			{
				uint16 boneIndex;
				uint8 unknown0x02[2];
				uint16 keyframeCount;
				uint16 keyDataOffset; // offset from beginning of this header to keyframe data
				
				uint8 keyTimes[keyframeCount];
				
				FSeek(fileHeader.unknownPtrs0x14[uNum] + keyDataOffset);
				int16 keyData[keyframeCount];
			} unknownData0;
		}
	}
};

struct EMA_FILE fileInfo;

revelation
mega-veteran
mega-veteran
Posts: 183
Joined: Mon May 12, 2008 5:15 pm
Has thanked: 5 times
Been thanked: 85 times

Re: Street Fighter 4 model animation info

Post by revelation » Wed Sep 02, 2009 8:08 pm

Well, the 1 byte for keyframe times and 2 bytes for keyframe data doesn't hold up for every animation track...there are times when the keyframe times are 2 bytes and the data is 4 bytes....i am looking into those values after the bone index to see how they may be interpreted for determining when this occurs....

- revel8n

piecemontee
advanced
Posts: 50
Joined: Mon Aug 03, 2009 9:34 pm
Has thanked: 5 times
Been thanked: 16 times
Contact:

Re: Street Fighter 4 model animation info

Post by piecemontee » Wed Sep 02, 2009 8:16 pm

revelation wrote:Well, the 1 byte for keyframe times and 2 bytes for keyframe data doesn't hold up for every animation track...there are times when the keyframe times are 2 bytes and the data is 4 bytes....i am looking into those values after the bone index to see how they may be interpreted for determining when this occurs....

- revel8n
Yes depending on the frame count it is laid on 2 or 4 bytes

so you have either

Code: Select all

uint8 keyTimes[keyframeCount];
if keyframeCount<32768
or

Code: Select all

uint16 keyTimes[keyframeCount];
if keyframeCount>=32768

also the two bytes after the bone index are:
- first the transformation type (0, 1, 2)
- then transformation component flags (with the 2 lower bits taking values 0, 1 or 2 for x, y, or z)

also what you call keyData are indices to values described below

Code: Select all

struct
         {
            uint16 boneIndex;
            uint8 transformationType;
            uint8 transformationComponentsFlags;
            uint16 keyframeCount;
            uint16 keyDataOffset; // offset from beginning of this header to keyframe data
            
            uint8 keyTimes[keyframeCount];// or             uint8 keyTimes[keyframeCount];
            
            FSeek(fileHeader.unknownPtrs0x14[uNum] + keyDataOffset);
            uint16 keyData[keyframeCount]; // or uint32 if valuesBlock.values.size>=16384;
         } unknownData0;
I cross checked with a face animation block called _blank with is very helpful.


The main header is like this

Code: Select all



   struct EMA_HEADER
   {
      uint16 animationLength; // maximum keyframe time value
      uint16 unknownCount0x02;
      uint32 valuesOffset;
      uint32 unknown0x08;
      uint32 nameOffset;
      uint32 unknownPtr0x10 <format = hex>;
      
      uint32 unknownPtrs0x14[unknownCount0x02];
   } fileHeader;

FSeek(fileHeader.valuesOffset);
   struct 
  {
     float values[animationChunk.size - m_fileHeader.valuesOffset];
  }valuesBlock;
FSeek(fileHeader.nameOffset);
   struct 
  {
      uint8 charCount;
      char string[charCount];
  }animationName
My main concern is now to interpret rotation values for each bone node matrix, i tried every combination (rx*ry*rz*trans*scale, rx*rz*ry*trans*scale trans*scale*rx*rz*ry...) but it lead to nothing, translations and scale components are ok though.

PS. Sorry, I don't know the .bt syntax, I tried to guess... :roll:

revelation
mega-veteran
mega-veteran
Posts: 183
Joined: Mon May 12, 2008 5:15 pm
Has thanked: 5 times
Been thanked: 85 times

Re: Street Fighter 4 model animation info

Post by revelation » Wed Sep 02, 2009 10:04 pm

Ok, cool i will look over what you have posted and compare to what i found out after my previous post. i have also found some of the file loading and processing functions within the executable, including the start of #EMA processing, so i should hopefully be able to verify if the things you have listed so far are correct. If this format is anything like the RE4 format those values for position/rotation/scale are more than likely multiplied by some constant before being used, and it may not be an obvious one like 0.01, or 0.00001, but something arbitrary in that vain, often based on a power of 2. But i will see what i can find when i get back to digging through the code.

- revel8n

piecemontee
advanced
Posts: 50
Joined: Mon Aug 03, 2009 9:34 pm
Has thanked: 5 times
Been thanked: 16 times
Contact:

Re: Street Fighter 4 model animation info

Post by piecemontee » Thu Sep 03, 2009 9:55 pm

revelation wrote:Ok, cool i will look over what you have posted and compare to what i found out after my previous post. i have also found some of the file loading and processing functions within the executable,
Do you use IDA pro for this?

revelation
mega-veteran
mega-veteran
Posts: 183
Joined: Mon May 12, 2008 5:15 pm
Has thanked: 5 times
Been thanked: 85 times

Re: Street Fighter 4 model animation info

Post by revelation » Thu Sep 03, 2009 10:09 pm

yes i do.

revelation
mega-veteran
mega-veteran
Posts: 183
Joined: Mon May 12, 2008 5:15 pm
Has thanked: 5 times
Been thanked: 85 times

Re: Street Fighter 4 model animation info

Post by revelation » Fri Sep 04, 2009 4:30 pm

ok, just a small update.

As assumed the second byte after the "bone" index is a flag byte. So far i have only run into 2 of the flags, but i am still stepping through the code. As i thought these flags determine when the key times and/or key value indices are either 1 or 2 bytes and 2 or 4 bytes respectively.

if the flags contain bit 0x20 set then the key times are 2 bytes, 1 byte otherwise.
if the flags contain bit 0x40 set then the key value indices are 4 bytes, 2 bytes otherwise.

There are some strange calculations being done on the key times that i am not quire sure of yet. They are being multiplied together in pairs of 2 and i am not sure why yet as they are not stored in this manner, so it may just be some form of validation.

The key value indices also have a calculation done on them based on the upper 2-bits of the value. This upper value (0 - 3 given its 2 bits) is added to the key value index and used instead of the actual value. At least that is what i have gathered so far. i am still looking into this, but at least if you can you can possibly verify some things in this regard.

i am still in the process of stepping through the handling of the float values after they have been indexed, as well as the meaning of the remaining flag bits and byte value preceding the flag byte. Hope to have more soon.

- revel8n

piecemontee
advanced
Posts: 50
Joined: Mon Aug 03, 2009 9:34 pm
Has thanked: 5 times
Been thanked: 16 times
Contact:

Re: Street Fighter 4 model animation info

Post by piecemontee » Fri Sep 04, 2009 7:15 pm

revelation wrote: if the flags contain bit 0x20 set then the key times are 2 bytes, 1 byte otherwise.
if the flags contain bit 0x40 set then the key value indices are 4 bytes, 2 bytes otherwise.
Thanks for this, i was using the value count to guess the size :roll:
revelation wrote: There are some strange calculations being done on the key times that i am not quire sure of yet. They are being multiplied together in pairs of 2 and i am not sure why yet as they are not stored in this manner, so it may just be some form of validation.
I confirm they look nice in their raw state, on every animation I opened they were going from 0 to keyframeCount
revelation wrote: The key value indices also have a calculation done on them based on the upper 2-bits of the value. This upper value (0 - 3 given its 2 bits) is added to the key value index and used instead of the actual value. At least that is what i have gathered so far. i am still looking into this, but at least if you can you can possibly verify some things in this regard.
Ah, cross checking my reader, I was masking the 2 upper bits as the value would go out of the indices array otherwise :D
Since the 2 upper bits are often equals to 0, I overlooked this

Your method is clearly better than my guess work :?
Last edited by piecemontee on Fri Sep 04, 2009 7:35 pm, edited 1 time in total.

piecemontee
advanced
Posts: 50
Joined: Mon Aug 03, 2009 9:34 pm
Has thanked: 5 times
Been thanked: 16 times
Contact:

Re: Street Fighter 4 model animation info

Post by piecemontee » Fri Sep 04, 2009 7:16 pm

I updated my code to cross check your findings: everything make sense, the byte count flags match the count test I were using, good job!

revelation
mega-veteran
mega-veteran
Posts: 183
Joined: Mon May 12, 2008 5:15 pm
Has thanked: 5 times
Been thanked: 85 times

Re: Street Fighter 4 model animation info

Post by revelation » Fri Sep 04, 2009 8:08 pm

piecemontee wrote:Your method is clearly better than my guess work :?
Normally, i do my best to avoid having to confirm things through the executable code, if possible. A lot of things can be gathered just from the initial guess work path usually. For the more obscure methods of data representation though it often becomes necessary to dig deeper, but i guess it is also very helpfull to get true code level confirmation of your initial assumptions.

Ok, it appears the index values are used twice, once with the top 2 bits masked off as the actual parameter value index, and a second time if the upper 2-bits are not zero (0). I am currently only speculating that this format is similar to the Resident Evil 4 format in that it is making use of a curve based interpolation method to interpret the values between keyframes. RE4 used hermite curve interpolation which has in and out tangents for each value. Looking at what i can decipher so far it appears these upper 2-bits indicate the offset from the main float value index to the tangent value index. If the upper two bits are 0 then then this second values is assumed to be 0 as well and is not used as an index into the float data array.

i am unfortunately only marginally experienced with ida pro, being self taught in most of it, so i have as of yet not found a way to view the mmx registers (hopefully i have just missed something simple with regard to enabling view of these registers as i could figure a lot out just by looking at the results) and some of the calculations are optimized to use these extensions. i have not done a lot of simd coding so i will have to look into what is truly going on here, so for now these values being used as tangents may only appear to be the case. But the usage i am seeing is strikingly similar to what i found in RE4.

it appears to use the same value as both incoming and outgoing tangents, but as i said i still have a bit of investigating to do to confirm this. Could probably start out just treating the data as a linear interpolation to begin with anyway, though it will have some errors in the resultant values. i am trying to find out whether or not the values are used as is, or further modified down the line as i don't not see anything to suggest this so far.

- revel8n

Post Reply