Anonymous

Changes

From Final Fantasy Inside

FF7/Battle/Battle Animation (PC)

326 bytes added, 05:10, 23 May 2019
m
14 revisions imported
(Wiki-fied by Halkun)
(Small additions by Borde)
=== Part I: Structures ===
<code><pre>
typedef struct FF7FrameHeader {
DWORD dwBones; // Bones in the model + 1 (unless the model has just we're dealing with a single boneweapon animation, in which case it's value is always 1). 0x00 // This field is rather unreliable so better use the number of bones provided by the skeleton file.
DWORD dwFrames; // Frames in the animation. 0x04
DWORD dwChunkSize; // Size of the animation set. 0x08
// to dynamically make the model point at its target
// or face different directions during battle.
// UPDATE: Although the value of this field is 0,0,0 for most animations, some actually store a base rotation here
// so it shouldn't be ignored.
for ( DWORD I = 0; I < fhHeader.dwBones - 1; I++ ) {
fbFrameBuffer.psvRots[I+1].fX = (FLOAT)fbFrameBuffer.psvRots[I+1].iX / 4096.0f * 360.0f;