isle/LEGO1/mxpalette.h
Christian Semmler bc5ca621a4
(Proposal) Introduction of naming convention checker (ncc) (#322)
* Add ncc tool

* Add symlink

* Fixes

* Try this

* Try this

* Try this

* Try this

* Add include path

* Update style

* Update style

* Add more rules

* Fix style

* Update styles

* Fix name parameter

* Fix MxParam p

* Fix m_unk0x pattern

* Allow 4 digits for relative hex

* Add missing offset

* Fix some parameters

* Fix some vtables

* Fix more vtables

* Update rules, fixes

* More fixes

* More fixes

* More fixes

* More fixes

* More fixes

* More fixes

* More fixes

* Fix last issue

* Update readme

* Update readme

* Update CONTRIBUTING.md

* Fix annotations

* Rename

* Update CONTRIBUTING.md

* Update README.md
2023-12-13 11:48:14 +01:00

37 lines
987 B
C++

#ifndef MXPALETTE_H
#define MXPALETTE_H
#include "mxcore.h"
#include "mxtypes.h"
#include <ddraw.h>
// VTABLE: LEGO1 0x100dc848
// SIZE 0x414
class MxPalette : public MxCore {
public:
__declspec(dllexport) MxBool operator==(MxPalette& p_other);
__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_skyColor);
void Reset(MxBool p_ignoreSkyColor);
LPDIRECTDRAWPALETTE CreateNativePalette();
inline void SetOverrideSkyColor(MxBool p_value) { this->m_overrideSkyColor = p_value; }
private:
LPDIRECTDRAWPALETTE m_palette;
PALETTEENTRY m_entries[256]; // 0xc
MxBool m_overrideSkyColor; // 0x40c
PALETTEENTRY m_skyColor; // 0x40d
};
#endif // MXPALETTE_H