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