Skip to content

Formato A3D

Vii edited this page Jun 29, 2019 · 1 revision

Los ficheros A3D contienen las animaciones de los modelos del generador de sprites. La estructura de este formato se puede encontrar en visor/fileanim.hpp.

// de struct.hpp

// Matriz de transformación afín 3D
struct tmatrix {
    float   _00,_01,_02,_03;
    float   _10,_11,_12,_13;
    float   _20,_21,_22,_23;
    float   _30,_31,_32,_33;
};

// de fileanim.hpp

// Cabecera del fichero
struct a3d_header {
  char  Chunk[4];    // "A3D\0"
  short Version;     // 100 (no se comprueba)
  short nObjects;    // Número de objetos que componen el modelo
  short nAnims;      // Número de animaciones
  short AUX;         // padding
};

struct a3d_anim {
  int   offset;      // Offset de la 1ª matriz de la animación, comenzando por 0
  short nFrames;     // Número de frames en esta animación
  short AUX;         // padding
};

struct fileanim {
  a3d_header  header;
  a3d_anim    anims[nAnims];
  tmatrix     buffer[nAnims * nObjects * nFrames];
};

Los nombres de las animaciones se leen del fichero anim.hpp que acompaña al A3D. DIV únicamente busca un patrón equivalente a

[ \t]ANIM_([^ \t]*)

e ignora todo lo demás.

Clone this wiki locally