From 218ca90543758a20ac326e444ca0643174ca7384 Mon Sep 17 00:00:00 2001 From: Rebellion Developments Date: Thu, 16 Mar 2000 11:25:00 +0100 Subject: 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. --- 3dc/win95/Sprchunk.hpp | 175 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 3dc/win95/Sprchunk.hpp (limited to '3dc/win95/Sprchunk.hpp') diff --git a/3dc/win95/Sprchunk.hpp b/3dc/win95/Sprchunk.hpp new file mode 100644 index 0000000..de0fff7 --- /dev/null +++ b/3dc/win95/Sprchunk.hpp @@ -0,0 +1,175 @@ +#ifndef _sprchunk_hpp +#define _sprchunk_hpp +#include "chunk.hpp" +#include "Chnktype.hpp" +//#include "stdafx.h" +struct Frame +{ + int Texture; + int CentreX; + int CentreY; + int UVCoords[4][2]; +#if cencon + int OldTexNum; +#endif +}; + +class Sprite_Header_Chunk : public Chunk_With_Children +{ +public: + Sprite_Header_Chunk(Chunk_With_Children* const parent,const char*,size_t const); + Sprite_Header_Chunk(const char* file_name, Chunk_With_Children * parent = NULL); + Sprite_Header_Chunk() + : Chunk_With_Children(0,"SPRIHEAD"){} + Sprite_Header_Chunk(Chunk_With_Children* parent) + : Chunk_With_Children(parent,"SPRIHEAD"){} + + write_file(const char* fname); + virtual BOOL output_chunk(HANDLE &hand); + #if cencon + virtual void post_input_processing(); + #endif + +}; + +class PC_Sprite_Chunk : public Chunk_With_Children +{ +public: + PC_Sprite_Chunk(Sprite_Header_Chunk* parent,const char*,size_t); + PC_Sprite_Chunk(Sprite_Header_Chunk* parent) + : Chunk_With_Children(parent,"SPRITEPC"){} +}; + +class Saturn_Sprite_Chunk : public Chunk_With_Children +{ +public: + Saturn_Sprite_Chunk(Sprite_Header_Chunk* parent,const char*,size_t); + Saturn_Sprite_Chunk(Sprite_Header_Chunk* parent) + : Chunk_With_Children(parent,"SPRITESA"){} +}; +class Playstation_Sprite_Chunk : public Chunk_With_Children +{ +public: + Playstation_Sprite_Chunk(Sprite_Header_Chunk* parent,const char*,size_t); + Playstation_Sprite_Chunk(Sprite_Header_Chunk* parent) + : Chunk_With_Children(parent,"SPRITEPS"){} +}; + + +#define SpriteActionFlag_FlipSecondSide 0x00000001 //for actions where only right facing views are available +class Sprite_Action_Chunk : public Chunk +{ +public: + Sprite_Action_Chunk(Chunk_With_Children* parent,const char*,size_t); + Sprite_Action_Chunk(Chunk_With_Children* parent); + ~Sprite_Action_Chunk(); + + virtual BOOL output_chunk (HANDLE &hand); + + virtual size_t size_chunk(); + + virtual void fill_data_block(char* data_start); + +public: + + int Action; + int NumYaw; + int NumPitch; + int NumFrames; + Frame*** FrameList; + int Flags; + int FrameTime; + +}; +#define SpriteFlag_NoLight 0x00000001 +#define SpriteFlag_SemiTrans 0x00000002 //for playstation +class Sprite_Size_Chunk : public Chunk +{ +public: + Sprite_Size_Chunk(Chunk_With_Children* parent,const char*,size_t); + Sprite_Size_Chunk(Chunk_With_Children* parent); + + virtual BOOL output_chunk (HANDLE &hand); + + virtual size_t size_chunk(); + + virtual void fill_data_block(char* data_start); + +public: + + double scale; + double maxy; + double maxx; + int radius; + int Flags ; +}; + +class Sprite_Extent_Chunk : public Chunk +{ +public: + Sprite_Extent_Chunk(Chunk_With_Children* parent,const char*,size_t); + Sprite_Extent_Chunk(Chunk_With_Children* parent); + + + virtual size_t size_chunk(); + + virtual void fill_data_block(char* data_start); + +public: + + double minx; + double maxx; + double miny; + double maxy; + int spare1,spare2; +}; + +class Sprite_Version_Number_Chunk : public Chunk +{ +public: + Sprite_Version_Number_Chunk(Chunk_With_Children* parent,const char*,size_t); + Sprite_Version_Number_Chunk(Chunk_With_Children* parent); + + virtual BOOL output_chunk (HANDLE &hand); + + virtual size_t size_chunk(); + + virtual void fill_data_block(char* data_start); + +public: + int version_num; +}; + +class Sprite_Bitmap_Scale_Chunk : public Chunk +{ +public : + Sprite_Bitmap_Scale_Chunk(Chunk_With_Children* parent,const char*,size_t); + Sprite_Bitmap_Scale_Chunk(Chunk_With_Children* parent); + ~Sprite_Bitmap_Scale_Chunk(); + + virtual size_t size_chunk(); + virtual void fill_data_block(char* data_start); + + int NumBitmaps; + float* Scale; +}; + +class Sprite_Bitmap_Centre_Chunk : public Chunk +{ +public : + Sprite_Bitmap_Centre_Chunk(Chunk_With_Children* parent,const char*,size_t); + Sprite_Bitmap_Centre_Chunk(Chunk_With_Children* parent); + ~Sprite_Bitmap_Centre_Chunk(); + + virtual size_t size_chunk(); + virtual void fill_data_block(char* data_start); + + int NumBitmaps; + int* CentreX; + int* CentreY; + int* OffsetX; + int* OffsetY; + int spare; + +}; +#endif -- cgit v1.3