1 #ifndef _animchnk_hpp 2 #define _animchnk_hpp 3 #include "chunk.hpp" 4 #include "chnktype.hpp" 5 6 struct TEXANIM; 7 8 9 class Animation_Chunk : public Chunk 10 { 11 public : 12 Animation_Chunk(Chunk_With_Children* parent,const char*,size_t); 13 Animation_Chunk(Chunk_With_Children* parent); 14 ~Animation_Chunk(); 15 16 virtual BOOL output_chunk (HANDLE &hand); 17 18 virtual size_t size_chunk(); 19 20 virtual void fill_data_block(char* data_start); 21 22 int NumPolys; //with animation in this shape 23 TEXANIM** AnimList; 24 25 }; 26 27 #define txa_flag_nointerptofirst 0x80000000 28 29 struct FrameList 30 { 31 ~FrameList(); 32 FrameList(TEXANIM*); 33 FrameList(TEXANIM* p,FrameList* fl,int* conv); 34 int Speed; 35 int Flags; 36 37 int NumFrames; 38 int CurFrame; 39 TEXANIM* parent; 40 41 int* Textures; 42 int* UVCoords; 43 int spare1,spare2; 44 }; 45 46 #define AnimFlag_NotPlaying 0x00000001 47 struct TEXANIM 48 { 49 TEXANIM(TEXANIM*); 50 TEXANIM(); 51 ~TEXANIM(); 52 53 int shape; 54 int poly; 55 int NumVerts; 56 int ID; 57 int NumSeq;//number of sequences 58 int CurSeq; 59 int AnimFlags; 60 int Identifier; 61 FrameList** Seq; 62 63 void CopyAnimData(TEXANIM* ta,int* conv); 64 }; 65 66 #endif 67