avp/3dc/win95/ANIMCHNK.HPP
Rebellion Developments 218ca90543 Import Aliens vs Predator - Gold (Build 116)
Source code release, imported from:
https://www.gamefront.com/games/aliens-vs-predator-3/file/avp-gold-complete-source-code

All text files were converted to Unix format.
2019-08-19 05:45:17 +02:00

88 lines
1.5 KiB
C++

#ifndef _animchnk_hpp
#define _animchnk_hpp
#include "chunk.hpp"
#include "Chnktype.hpp"
struct TEXANIM;
class Animation_Chunk : public Chunk
{
public :
Animation_Chunk(Chunk_With_Children* parent,const char*,size_t);
Animation_Chunk(Chunk_With_Children* parent);
~Animation_Chunk();
virtual BOOL output_chunk (HANDLE &hand);
virtual size_t size_chunk();
virtual void fill_data_block(char* data_start);
int NumPolys; //with animation in this shape
TEXANIM** AnimList;
};
#define txa_flag_nointerptofirst 0x80000000
struct FrameList
{
~FrameList();
FrameList(TEXANIM*);
#if InterfaceEngine
FrameList(TEXANIM* p,FrameList* templ);
#endif
FrameList(TEXANIM* p,FrameList* fl,int* conv);
int Speed;
int Flags;
int NumFrames;
int CurFrame;
TEXANIM* parent;
int* Textures;
int* UVCoords;
int spare1,spare2;
#if InterfaceEngine
void CopyToSID(int shape,int poly);
void CopyFromSID(int shape,int poly);
void AddFrame();
void RemoveFrame();
#endif
};
#define AnimFlag_NotPlaying 0x00000001
struct TEXANIM
{
TEXANIM(TEXANIM*);
TEXANIM();
~TEXANIM();
#if InterfaceEngine
TEXANIM(int s,int p,int id);
//construct a TEXANIM using templ as a template.
TEXANIM(int s,int p,TEXANIM* templ);
#endif
int shape;
int poly;
int NumVerts;
int ID;
int NumSeq;//number of sequences
int CurSeq;
int AnimFlags;
int Identifier;
FrameList** Seq;
#if InterfaceEngine
void ChangeFrame(int newseq,int newframe);
void AddSeq();
void RemoveSeq();
void CopySeq(int seq_num);
#endif
void CopyAnimData(TEXANIM* ta,int* conv);
};
#endif