summaryrefslogtreecommitdiff
path: root/3dc/win95/ILBM_ext.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/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.hpp117
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