/*=========================================================================== * * DFPal_D3D.H - Dave Humphrey (uesp@m0use.net), 9 November 2000 * *=========================================================================*/ #ifndef __DFPAL_D3D_H #define __DFPAL_D3D_H /* Required Includes */ #include "d3dcom.h" #include "dfpal.h" /*=========================================================================== * * Class CDFPaletteD3D Definition * *=========================================================================*/ class CDFPaletteD3D : public virtual CDFPalette { /*---------- Begin Protected Class Members ----------------------*/ protected: d3dpalentry_t D3DPalData[DF_MAX_PALENTRIES]; /* Palette data for D3DRM */ ddpalentry_t DDPalData[DF_MAX_PALENTRIES]; /* Palette data for DD */ /*---------- Begin Public Class Methods -------------------------*/ public: /* Class Constructor */ CDFPaletteD3D() { GenerateD3DPalette(); } /* Generate the D3DPalette from the current raw palette */ void GenerateD3DPalette (void); /* Get class members */ d3dpalentry_t* GetD3DPalette (void) { return &D3DPalData[0]; } d3dpalentry_t* GetD3DPalData (void) { return &D3DPalData[0]; } d3dpalentry_t* GetD3DPalEntry (const int Index) { if (Index < 0 || Index >= NumPalEntries) return (NULL); return (&D3DPalData[Index]); } ddpalentry_t* GetDDPalette (void) { return &DDPalData[0]; } ddpalentry_t* GetDDPalData (void) { return &DDPalData[0]; } ddpalentry_t* GetDDPalEntry (const int Index) { if (Index < 0 || Index >= NumPalEntries) return (NULL); return (&DDPalData[Index]); } /* Override these to generate D3D palette */ virtual boolean LoadCOL (const char* pFilename); virtual boolean LoadPAL (const char* pFilename); /* Make conversion arrays */ //virtual byte* MakeRGB8Array (DDSURFACEDESC& SurfaceDesc); virtual ushort* MakeRGB16Array (ulong RMask, ulong GMask, ulong BMask); //virtual uint* MakeRGB24Array (DDSURFACEDESC& SurfaceDesc); }; /*=========================================================================== * End of Class CDFPaletteD3D Definition *=========================================================================*/ #endif /*=========================================================================== * End of File DFPal_D3D.H *=========================================================================*/