summaryrefslogtreecommitdiff
path: root/3dc/win95/ANIMCHNK.HPP
diff options
context:
space:
mode:
authorRebellion Developments <rebellion@nomail>2000-03-16 11:25:00 +0100
committerPatryk Obara <dreamer.tan@gmail.com>2019-08-19 05:45:17 +0200
commit218ca90543758a20ac326e444ca0643174ca7384 (patch)
tree16bfe3e5307f9f515489000f28728224291a0e3b /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.HPP88
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