forked from derandark/DungeonViewerAC
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPalette.h
More file actions
67 lines (51 loc) · 1.51 KB
/
Palette.h
File metadata and controls
67 lines (51 loc) · 1.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#pragma once
#include "ObjCache.h"
class RGBAUnion
{
public:
static void Get(DWORD RGBA, float *R, float *G, float *B);
};
class RGBColor
{
public:
RGBColor();
BOOL UnPack(BYTE **ppData, ULONG iSize);
void SetColor32(DWORD Color);
float m_fRed;
float m_fGreen;
float m_fBlue;
};
class Palette : public DBObj
{
public:
Palette();
~Palette();
static DBObj* Allocator();
static void Destroyer(DBObj*);
static Palette* Get(DWORD ID);
static void releasePalette(Palette *pPalette);
static Palette *copyRef(Palette *pPalette);
static Palette *get_solid_color_palette();
static DWORD get_solid_color_index();
virtual BOOL UnPack(BYTE** ppData, ULONG iSize);
BOOL InitEnd();
WORD get_color(DWORD Index);
DWORD get_color_32(DWORD Index); // this was made up
void set_color_index(DWORD Index, DWORD Color);
static LongNIValHash<Palette*> custom_palette_table; // 0x005E1288
static Palette* solid_color_palette; // 0x005F3BD4;
static DWORD curr_solid_index;
// protected:
DWORD m_dw18;
DWORD m_dw1C;
DWORD m_dw20;
DWORD m_dw24;
DWORD m_dwNumPaletteColors; // 0x1C / 0x28
DWORD m_dwNumScreenColors; // 0x20 / 0x2C
WORD* m_pScreenColors; // 0x24 / 0x30
float m_fMinimumAlpha; // 0x28 / 0x34
BOOL m_bInCache; // 0x2C / 0x38
DWORD* m_pPaletteColors; // 0x30 / 0x3C
// this was made up:
DWORD* m_pScreenColors32;
};