-
Notifications
You must be signed in to change notification settings - Fork 4
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.