diff options
| author | Rebellion Developments <rebellion@nomail> | 2000-03-16 11:25:00 +0100 |
|---|---|---|
| committer | Patryk Obara <dreamer.tan@gmail.com> | 2019-08-19 05:45:17 +0200 |
| commit | 218ca90543758a20ac326e444ca0643174ca7384 (patch) | |
| tree | 16bfe3e5307f9f515489000f28728224291a0e3b /3dc/win95/ANIMCHNK.HPP | |
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.
Diffstat (limited to '3dc/win95/ANIMCHNK.HPP')
| -rw-r--r-- | 3dc/win95/ANIMCHNK.HPP | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/3dc/win95/ANIMCHNK.HPP b/3dc/win95/ANIMCHNK.HPP new file mode 100644 index 0000000..9c30cbc --- /dev/null +++ b/3dc/win95/ANIMCHNK.HPP @@ -0,0 +1,88 @@ +#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 |
