This commit is contained in:
parent
9638e0c561
commit
abc8365365
7 changed files with 406 additions and 102 deletions
|
@ -162,8 +162,8 @@ int ChildCount=ThisNode.GetPruneChildCount();
|
|||
void CMkAnim3d::Write(GString &Filename)
|
||||
{
|
||||
int Anim,AnimCount=AnimList.size();
|
||||
sAnim3dFileHdr FileHdr;
|
||||
sAnim3dHdr Hdr;
|
||||
sAnimFileHdr FileHdr;
|
||||
sAnimHdr Hdr;
|
||||
|
||||
File=fopen(Filename,"wb");
|
||||
|
||||
|
@ -171,13 +171,13 @@ sAnim3dHdr Hdr;
|
|||
// Write Dummy FileHdr
|
||||
FileHdr.AnimCount=AnimCount;
|
||||
FileHdr.BoneCount=BoneCount;
|
||||
fwrite(&FileHdr,1,sizeof(sAnim3dFileHdr),File);
|
||||
fwrite(&FileHdr,1,sizeof(sAnimFileHdr),File);
|
||||
|
||||
// Write Dummy AnimHdrs
|
||||
|
||||
for (Anim=0; Anim<AnimCount; Anim++)
|
||||
{
|
||||
fwrite(&Hdr,1,sizeof(sAnim3dHdr),File);
|
||||
fwrite(&Hdr,1,sizeof(sAnimHdr),File);
|
||||
}
|
||||
|
||||
// Write QuatTable
|
||||
|
@ -197,7 +197,7 @@ sAnim3dHdr Hdr;
|
|||
|
||||
// ReWrite FileHdr
|
||||
fseek(File, 0, SEEK_SET);
|
||||
fwrite(&FileHdr,1,sizeof(sAnim3dFileHdr),File);
|
||||
fwrite(&FileHdr,1,sizeof(sAnimFileHdr),File);
|
||||
|
||||
// Rewrite Dummy AnimHdrs
|
||||
|
||||
|
@ -206,7 +206,7 @@ sAnim3dHdr Hdr;
|
|||
Hdr.FrameCount=AnimList[Anim].FrameCount;
|
||||
Hdr.Move=(s32*)AnimList[Anim].MoveOfs;
|
||||
Hdr.Anim=(u16*)AnimList[Anim].AnimOfs;
|
||||
fwrite(&Hdr,1,sizeof(sAnim3dHdr),File);
|
||||
fwrite(&Hdr,1,sizeof(sAnimHdr),File);
|
||||
}
|
||||
|
||||
fclose(File);
|
||||
|
@ -222,9 +222,7 @@ int Pos=ftell(File);
|
|||
{
|
||||
s32 ThisMove=ThisAnim.Move[Frame];
|
||||
fwrite(&ThisMove,1,sizeof(s32),File);
|
||||
|
||||
// printf("%i %i %i\n",ThisMove.vx,ThisMove.vy,ThisMove.vz);
|
||||
|
||||
}
|
||||
|
||||
return(Pos);
|
||||
|
|
|
@ -9,10 +9,10 @@
|
|||
//***************************************************************************
|
||||
struct sBoneAnim
|
||||
{
|
||||
// vector<sQuat> Quat;
|
||||
vector<int> Idx;
|
||||
};
|
||||
|
||||
//***************************************************************************
|
||||
struct sAnim
|
||||
{
|
||||
GString Name;
|
||||
|
@ -32,20 +32,20 @@ public:
|
|||
BoneCount=-1;
|
||||
}
|
||||
|
||||
void Add(GString const &Filename);
|
||||
void Write(GString &Filename);
|
||||
void WriteInclude(GString const &IncludeFile);
|
||||
/*Anim*/void Add(GString const &Filename);
|
||||
/*Anim*/void Write(GString &Filename);
|
||||
/*Anim*/void WriteInclude(GString const &IncludeFile);
|
||||
|
||||
private:
|
||||
int ProcessSkelMove(CScene &Scene,sAnim &ThisAnim,int Idx);
|
||||
void ProcessSkelAnim(CScene &Scene,sAnim &ThisAnim,int Idx);
|
||||
int WriteMove(sAnim const &ThisAnim);
|
||||
int WriteAnim(sAnim const &ThisAnim);
|
||||
int WriteQuatTable();
|
||||
/*Anim*/int ProcessSkelMove(CScene &Scene,sAnim &ThisAnim,int Idx);
|
||||
/*Anim*/void ProcessSkelAnim(CScene &Scene,sAnim &ThisAnim,int Idx);
|
||||
/*Anim*/int WriteMove(sAnim const &ThisAnim);
|
||||
/*Anim*/int WriteAnim(sAnim const &ThisAnim);
|
||||
/*Anim*/int WriteQuatTable();
|
||||
|
||||
int BoneCount;
|
||||
vector<sAnim> AnimList;
|
||||
CList<sQuat> QuatList;
|
||||
/*Anim*/int BoneCount;
|
||||
/*Anim*/vector<sAnim> AnimList;
|
||||
/*Anim*/CList<sQuat> QuatList;
|
||||
FILE *File;
|
||||
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue