Quote:
Originally Posted by ref
Quote:
Originally Posted by Racerboy
00 = Tag for Timing #0x0
00 = Seperation byte between timings
|
I think that you can probably join those two instead of two 1 byte values use a word (two byte integer) for the keyframe number.
How did you convert the word values of the vertices that follow to floats ?
Ref
|
Ref,
You are probably correct, the designers may have given the Timing Tags two bytes. I'll change Silent Animator to look for two bytes for the Timing Tags.
At the start of each keyframe there are two floats. The first float is the scale value, the second float is the offset value. What follows them are the vertices: two bytes for vertice x, two bytes for vertice y, and two bytes for vertice z. This is repeated for x amount of vertices.
I'll use vertice x as an example:
take the two bytes for vertice x and convert them to an UInt16 value
Multiply this by the float value of the first float in the keyframe
add the second float value of the keyframe to this
you now have the float32 value for this vertice
now do this for all the axis's of the vertices, for every vertice in that keyframe, then for every keyframe for that node. Hence why I made Silent Animator
Racerboy