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/ILBM_ext.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/ILBM_ext.hpp')
| -rw-r--r-- | 3dc/win95/ILBM_ext.hpp | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/3dc/win95/ILBM_ext.hpp b/3dc/win95/ILBM_ext.hpp new file mode 100644 index 0000000..3aefce7 --- /dev/null +++ b/3dc/win95/ILBM_ext.hpp @@ -0,0 +1,117 @@ +#ifndef _INCLUDED_ILBM_EXT_HPP_ +#define _INCLUDED_ILBM_EXT_HPP_ + +#include "iff.hpp" +#include "iff_ILBM.hpp" + +namespace IFF +{ + class IlbmTranChunk : public Chunk + { + public: + enum + { + TRANS_NONE = 0, + TRANS_TOPLEFT = 1, + TRANS_BOTTOMLEFT = 2, + TRANS_TOPRIGHT = 3, + TRANS_BOTTOMRIGHT = 4, + TRANS_XY = 5, + TRANS_RGB = 6 + }; + UBYTE eTransType; + UINT16 xPos; + UINT16 yPos; + RGBTriple rgb; + + IlbmTranChunk() { m_idCk = "TRAN"; } + + protected: + virtual void Serialize(Archive * pArchv); + }; + + class IlbmAlphChunk : public IlbmBodyChunk // uses same encoding methodology + { + public: + UINT16 width; + UINT16 height; + UBYTE nBitPlanes; + UBYTE eCompression; + + IlbmAlphChunk() + { m_idCk = "ALPH"; } + + protected: + virtual void Serialize(Archive * pArchv); + + virtual bool GetHeaderInfo() const; + }; + + class IlbmS3tcChunk : public Chunk + { + public: + IlbmS3tcChunk(); + virtual ~IlbmS3tcChunk(); + + + + UINT32 flags; // none at the moment + UINT32 fourCC; //the fourcc code 'DXT1' - 'DXT5' + + UINT16 redWeight; //weighting values used in compression + UINT16 blueWeight; + UINT16 greenWeight; + + UINT16 width; + UINT16 height; + + UINT32 dataSize; + UBYTE* pData; //the compressed texture itself + + protected: + virtual void Serialize(Archive * pArchv); + }; + + + class MipmContChunk : public Chunk + { + public: + enum + { + FILTER_DEFAULT = 0, + FILTER_BOX = 1, + FILTER_TRIANGLE = 2, + FILTER_BELL = 3, + FILTER_BSPLINE = 4, + FILTER_LANCZOS3 = 5, + FILTER_MITCHELL = 6 + }; + UBYTE nMipMaps; + UBYTE eFilter; + + MipmContChunk() + { m_idCk = "CONT"; } + + protected: + virtual void Serialize(Archive * pArchv); + }; + + class MipmFlagChunk : public Chunk + { + public: + enum + { + FLAG_MANUAL_MIPS = 0x00000001,//some of the mip maps have been set by hand + }; + UINT32 flags; + + MipmFlagChunk() + { m_idCk = "FLAG"; flags = 0;} + + protected: + virtual void Serialize(Archive * pArchv); + }; + +} + +#endif |
