#ifndef MXPALETTE_H #define MXPALETTE_H #include #include "mxcore.h" #include "mxtypes.h" // VTABLE 0x100dc848 // SIZE 0x414 class MxPalette : public MxCore { public: __declspec(dllexport) MxBool operator==(MxPalette &); __declspec(dllexport) void Detach(); MxPalette(); MxPalette(const RGBQUAD *); virtual ~MxPalette(); void ApplySystemEntriesToPalette(LPPALETTEENTRY p_entries); MxPalette* Clone(); void GetDefaultPalette(LPPALETTEENTRY p_entries); MxResult GetEntries(LPPALETTEENTRY p_entries); MxResult SetEntries(LPPALETTEENTRY p_palette); MxResult SetSkyColor(LPPALETTEENTRY p_sky_color); void Reset(MxBool p_ignoreSkyColor); LPDIRECTDRAWPALETTE CreateNativePalette(); private: LPDIRECTDRAWPALETTE m_palette; PALETTEENTRY m_entries[256]; // 0xc MxBool m_overrideSkyColor; // 0x40c PALETTEENTRY m_skyColor; // 0x40d }; #endif // MXPALETTE_H