ScummVM API documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
palette.h
1 /* ScummVM - Graphic Adventure Engine
2  *
3  * ScummVM is the legal property of its developers, whose names
4  * are too numerous to list here. Please refer to the COPYRIGHT
5  * file distributed with this source distribution.
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program. If not, see <http://www.gnu.org/licenses/>.
19  *
20  */
21 
22 #ifndef AGI_PALETTE_H
23 #define AGI_PALETTE_H
24 
25 namespace Agi {
26 
32 static const uint8 PALETTE_EGA[16 * 3] = {
33  0x00, 0x00, 0x00,
34  0x00, 0x00, 0x2a,
35  0x00, 0x2a, 0x00,
36  0x00, 0x2a, 0x2a,
37  0x2a, 0x00, 0x00,
38  0x2a, 0x00, 0x2a,
39  0x2a, 0x15, 0x00,
40  0x2a, 0x2a, 0x2a,
41  0x15, 0x15, 0x15,
42  0x15, 0x15, 0x3f,
43  0x15, 0x3f, 0x15,
44  0x15, 0x3f, 0x3f,
45  0x3f, 0x15, 0x15,
46  0x3f, 0x15, 0x3f,
47  0x3f, 0x3f, 0x15,
48  0x3f, 0x3f, 0x3f
49 };
50 
54 static const uint8 PALETTE_CGA[4 * 3] = {
55  0x00, 0x00, 0x00, // black
56  0x55, 0xff, 0xff, // cyan
57  0xff, 0x55, 0xff, // magenta
58  0xff, 0xff, 0xff
59 };
60 
64 static const uint8 PALETTE_HERCULES_GREEN[2 * 3] = {
65  0x00, 0x00, 0x00, // black
66  0x00, 0xdc, 0x28 // green
67 };
68 
72 static const uint8 PALETTE_HERCULES_AMBER[2 * 3] = {
73  0x00, 0x00, 0x00, // black
74  0xdc, 0xb4, 0x00 // amber
75 };
76 
83 static const uint8 PALETTE_ATARI_ST[16 * 3] = {
84  0x0, 0x0, 0x0,
85  0x0, 0x0, 0x7,
86  0x0, 0x4, 0x0,
87  0x0, 0x5, 0x4,
88  0x5, 0x0, 0x0,
89  0x5, 0x3, 0x6,
90  0x4, 0x3, 0x0,
91  0x5, 0x5, 0x5,
92  0x3, 0x3, 0x2,
93  0x0, 0x5, 0x7,
94  0x0, 0x6, 0x0,
95  0x0, 0x7, 0x6,
96  0x7, 0x2, 0x3,
97  0x7, 0x4, 0x7,
98  0x7, 0x7, 0x4,
99  0x7, 0x7, 0x7
100 };
101 
120 // *NOT* identical to Amiga generation 2 palette
121 static const uint8 PALETTE_APPLE_II_GS[16 * 3] = {
122  0x0, 0x0, 0x0,
123  0x0, 0x0, 0xF,
124  0x0, 0x8, 0x0,
125  0x0, 0xD, 0xB,
126  0xC, 0x0, 0x0,
127  0xB, 0x7, 0xD,
128  0x8, 0x5, 0x0,
129  0xB, 0xB, 0xB,
130  0x7, 0x7, 0x7,
131  0x0, 0xB, 0xF,
132  0x0, 0xE, 0x0,
133  0x0, 0xF, 0xD,
134  0xF, 0x9, 0x8,
135  0xD, 0x9, 0xF, // difference between Amiga v2 palette and Apple II GS palette, gotten from emulator (SQ2)
136  0xE, 0xE, 0x0,
137  0xF, 0xF, 0xF
138 };
139 
140 // Re-use Amiga v1 palette for Apple IIgs Space Quest 1
141 #define PALETTE_APPLE_II_GS_SQ1 PALETTE_AMIGA_V1
142 
158 static const uint8 PALETTE_AMIGA_V1[16 * 3] = {
159  0x0, 0x0, 0x0,
160  0x0, 0x0, 0xF,
161  0x0, 0x8, 0x0,
162  0x0, 0xD, 0xB,
163  0xC, 0x0, 0x0,
164  0xB, 0x7, 0xD,
165  0x8, 0x5, 0x0,
166  0xB, 0xB, 0xB,
167  0x7, 0x7, 0x7,
168  0x0, 0xB, 0xF,
169  0x0, 0xE, 0x0,
170  0x0, 0xF, 0xD,
171  0xF, 0x9, 0x8,
172  0xF, 0x7, 0x0,
173  0xE, 0xE, 0x0,
174  0xF, 0xF, 0xF
175 };
176 
184 static const uint8 PALETTE_AMIGA_V2[16 * 3] = {
185  0x0, 0x0, 0x0,
186  0x0, 0x0, 0xF,
187  0x0, 0x8, 0x0,
188  0x0, 0xD, 0xB,
189  0xC, 0x0, 0x0,
190  0xB, 0x7, 0xD,
191  0x8, 0x5, 0x0,
192  0xB, 0xB, 0xB,
193  0x7, 0x7, 0x7,
194  0x0, 0xB, 0xF,
195  0x0, 0xE, 0x0,
196  0x0, 0xF, 0xD,
197  0xF, 0x9, 0x8,
198  0xD, 0x0, 0xF,
199  0xE, 0xE, 0x0,
200  0xF, 0xF, 0xF
201 };
202 
214 static const uint8 PALETTE_AMIGA_V3[16 * 3] = {
215  0x0, 0x0, 0x0,
216  0x0, 0x0, 0xB,
217  0x0, 0xB, 0x0,
218  0x0, 0xB, 0xB,
219  0xB, 0x0, 0x0,
220  0xB, 0x0, 0xB,
221  0xC, 0x7, 0x0,
222  0xB, 0xB, 0xB,
223  0x7, 0x7, 0x7,
224  0x0, 0x0, 0xF,
225  0x0, 0xF, 0x0,
226  0x0, 0xF, 0xF,
227  0xF, 0x0, 0x0,
228  0xF, 0x0, 0xF,
229  0xF, 0xF, 0x0,
230  0xF, 0xF, 0xF
231 };
232 
236 static const uint8 PALETTE_AMIGA_ALT[16 * 3] = {
237  0x00, 0x00, 0x00,
238  0x00, 0x00, 0x3f,
239  0x00, 0x2A, 0x00,
240  0x00, 0x2A, 0x2A,
241  0x33, 0x00, 0x00,
242  0x2f, 0x1c, 0x37,
243  0x23, 0x14, 0x00,
244  0x2f, 0x2f, 0x2f,
245  0x15, 0x15, 0x15,
246  0x00, 0x2f, 0x3f,
247  0x00, 0x33, 0x15,
248  0x15, 0x3F, 0x3F,
249  0x3f, 0x27, 0x23,
250  0x3f, 0x15, 0x3f,
251  0x3b, 0x3b, 0x00,
252  0x3F, 0x3F, 0x3F
253 };
254 
262 static const uint16 PALETTE_MACINTOSH_CLUT[16 * 3] = {
263  0x0000, 0x0000, 0x0000,
264  0x0000, 0x0000, 0xC000,
265  0x0000, 0xA800, 0x0000,
266  0x0000, 0xA000, 0xA000,
267  0xCE50, 0x0000, 0x0000,
268  0xC080, 0x0000, 0xFFFF,
269  0xD000, 0x6130, 0x32D0,
270  0xC000, 0xC000, 0xC000,
271  0x6000, 0x6000, 0x6000,
272  0x6800, 0x6800, 0xFFFF,
273  0x0000, 0xFFFF, 0x0000,
274  0x0000, 0xFFFF, 0xFFFF,
275  0xFFFF, 0x5390, 0x64B0,
276  0xFFFF, 0x8000, 0x0000,
277  0xFFFF, 0xFFFF, 0x0000,
278  0xFFFF, 0xFFFF, 0xFFFF
279 };
280 
287 static const uint16 PALETTE_MACINTOSH_CLUT2[16 * 3] = {
288  0x0000, 0x0000, 0x0000,
289  0x0000, 0x0000, 0xC000,
290  0x6524, 0xC2FF, 0x0000,
291  0x0000, 0xA000, 0xA000,
292  0xDD6B, 0x08C2, 0x06A2,
293  0x8000, 0x0000, 0xFFFF,
294  0x93FF, 0x281A, 0x12CC,
295  0xC000, 0xC000, 0xC000,
296  0x8000, 0x8000, 0x8000,
297  0x0000, 0x0000, 0xD400,
298  0x0000, 0xFFFF, 0x04F1,
299  0x0241, 0xAB54, 0xEAFF,
300  0xFFFF, 0xC3DC, 0x8160,
301  0xFFFF, 0x648A, 0x028C,
302  0xFC00, 0xF37D, 0x052F,
303  0xFFFF, 0xFFFF, 0xFFFF
304 };
305 
312 static const uint16 PALETTE_MACINTOSH_CLUT3[16 * 3] = {
313  0x0000, 0x0000, 0x0000,
314  0x0000, 0x0000, 0xC000,
315  0x0000, 0xA7FF, 0x0000,
316  0x0000, 0x9FFF, 0x9FFF,
317  0xCE50, 0x0000, 0x0000,
318  0xC079, 0x0000, 0xFFFF,
319  0xCFFF, 0x6130, 0x32D0,
320  0xC000, 0xC000, 0xC000,
321  0x6000, 0x6000, 0x6000,
322  0x6800, 0x6800, 0xFFFF,
323  0x0000, 0xFFFF, 0x0000,
324  0x0000, 0xFFFF, 0xFFFF,
325  0xFFFF, 0x538C, 0x64B1,
326  0xFDCE, 0x1AC0, 0xFFFF,
327  0xFFFF, 0xFFFF, 0x0000,
328  0xFFFF, 0xFFFF, 0xFFFF,
329 };
330 
336 static const uint8 PALETTE_VGA[256 * 3] = {
337  0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0x00, 0xA8, 0x00, 0x00, 0xA8, 0xA8,
338  0xA8, 0x00, 0x00, 0xA8, 0x00, 0xA8, 0xA8, 0x54, 0x00, 0xA8, 0xA8, 0xA8,
339  0x54, 0x54, 0x54, 0x54, 0x54, 0xFC, 0x54, 0xFC, 0x54, 0x54, 0xFC, 0xFC,
340  0xFC, 0x54, 0x54, 0xFC, 0x54, 0xFC, 0xFC, 0xFC, 0x54, 0xFC, 0xFC, 0xFC,
341  0x00, 0x00, 0x00, 0x14, 0x14, 0x14, 0x20, 0x20, 0x20, 0x2C, 0x2C, 0x2C,
342  0x38, 0x38, 0x38, 0x44, 0x44, 0x44, 0x50, 0x50, 0x50, 0x60, 0x60, 0x60,
343  0x70, 0x70, 0x70, 0x80, 0x80, 0x80, 0x90, 0x90, 0x90, 0xA0, 0xA0, 0xA0,
344  0xB4, 0xB4, 0xB4, 0xC8, 0xC8, 0xC8, 0xE0, 0xE0, 0xE0, 0xFC, 0xFC, 0xFC,
345  0x00, 0x00, 0xFC, 0x40, 0x00, 0xFC, 0x7C, 0x00, 0xFC, 0xBC, 0x00, 0xFC,
346  0xFC, 0x00, 0xFC, 0xFC, 0x00, 0xBC, 0xFC, 0x00, 0x7C, 0xFC, 0x00, 0x40,
347  0xFC, 0x00, 0x00, 0xFC, 0x40, 0x00, 0xFC, 0x7C, 0x00, 0xFC, 0xBC, 0x00,
348  0xFC, 0xFC, 0x00, 0xBC, 0xFC, 0x00, 0x7C, 0xFC, 0x00, 0x40, 0xFC, 0x00,
349  0x00, 0xFC, 0x00, 0x00, 0xFC, 0x40, 0x00, 0xFC, 0x7C, 0x00, 0xFC, 0xBC,
350  0x00, 0xFC, 0xFC, 0x00, 0xBC, 0xFC, 0x00, 0x7C, 0xFC, 0x00, 0x40, 0xFC,
351  0x7C, 0x7C, 0xFC, 0x9C, 0x7C, 0xFC, 0xBC, 0x7C, 0xFC, 0xDC, 0x7C, 0xFC,
352  0xFC, 0x7C, 0xFC, 0xFC, 0x7C, 0xDC, 0xFC, 0x7C, 0xBC, 0xFC, 0x7C, 0x9C,
353  0xFC, 0x7C, 0x7C, 0xFC, 0x9C, 0x7C, 0xFC, 0xBC, 0x7C, 0xFC, 0xDC, 0x7C,
354  0xFC, 0xFC, 0x7C, 0xDC, 0xFC, 0x7C, 0xBC, 0xFC, 0x7C, 0x9C, 0xFC, 0x7C,
355  0x7C, 0xFC, 0x7C, 0x7C, 0xFC, 0x9C, 0x7C, 0xFC, 0xBC, 0x7C, 0xFC, 0xDC,
356  0x7C, 0xFC, 0xFC, 0x7C, 0xDC, 0xFC, 0x7C, 0xBC, 0xFC, 0x7C, 0x9C, 0xFC,
357  0xB4, 0xB4, 0xFC, 0xC4, 0xB4, 0xFC, 0xD8, 0xB4, 0xFC, 0xE8, 0xB4, 0xFC,
358  0xFC, 0xB4, 0xFC, 0xFC, 0xB4, 0xE8, 0xFC, 0xB4, 0xD8, 0xFC, 0xB4, 0xC4,
359  0xFC, 0xB4, 0xB4, 0xFC, 0xC4, 0xB4, 0xFC, 0xD8, 0xB4, 0xFC, 0xE8, 0xB4,
360  0xFC, 0xFC, 0xB4, 0xE8, 0xFC, 0xB4, 0xD8, 0xFC, 0xB4, 0xC4, 0xFC, 0xB4,
361  0xB4, 0xFC, 0xB4, 0xB4, 0xFC, 0xC4, 0xB4, 0xFC, 0xD8, 0xB4, 0xFC, 0xE8,
362  0xB4, 0xFC, 0xFC, 0xB4, 0xE8, 0xFC, 0xB4, 0xD8, 0xFC, 0xB4, 0xC4, 0xFC,
363  0x00, 0x00, 0x70, 0x1C, 0x00, 0x70, 0x38, 0x00, 0x70, 0x54, 0x00, 0x70,
364  0x70, 0x00, 0x70, 0x70, 0x00, 0x54, 0x70, 0x00, 0x38, 0x70, 0x00, 0x1C,
365  0x70, 0x00, 0x00, 0x70, 0x1C, 0x00, 0x70, 0x38, 0x00, 0x70, 0x54, 0x00,
366  0x70, 0x70, 0x00, 0x54, 0x70, 0x00, 0x38, 0x70, 0x00, 0x1C, 0x70, 0x00,
367  0x00, 0x70, 0x00, 0x00, 0x70, 0x1C, 0x00, 0x70, 0x38, 0x00, 0x70, 0x54,
368  0x00, 0x70, 0x70, 0x00, 0x54, 0x70, 0x00, 0x38, 0x70, 0x00, 0x1C, 0x70,
369  0x38, 0x38, 0x70, 0x44, 0x38, 0x70, 0x54, 0x38, 0x70, 0x60, 0x38, 0x70,
370  0x70, 0x38, 0x70, 0x70, 0x38, 0x60, 0x70, 0x38, 0x54, 0x70, 0x38, 0x44,
371  0x70, 0x38, 0x38, 0x70, 0x44, 0x38, 0x70, 0x54, 0x38, 0x70, 0x60, 0x38,
372  0x70, 0x70, 0x38, 0x60, 0x70, 0x38, 0x54, 0x70, 0x38, 0x44, 0x70, 0x38,
373  0x38, 0x70, 0x38, 0x38, 0x70, 0x44, 0x38, 0x70, 0x54, 0x38, 0x70, 0x60,
374  0x38, 0x70, 0x70, 0x38, 0x60, 0x70, 0x38, 0x54, 0x70, 0x38, 0x44, 0x70,
375  0x50, 0x50, 0x70, 0x58, 0x50, 0x70, 0x60, 0x50, 0x70, 0x68, 0x50, 0x70,
376  0x70, 0x50, 0x70, 0x70, 0x50, 0x68, 0x70, 0x50, 0x60, 0x70, 0x50, 0x58,
377  0x70, 0x50, 0x50, 0x70, 0x58, 0x50, 0x70, 0x60, 0x50, 0x70, 0x68, 0x50,
378  0x70, 0x70, 0x50, 0x68, 0x70, 0x50, 0x60, 0x70, 0x50, 0x58, 0x70, 0x50,
379  0x50, 0x70, 0x50, 0x50, 0x70, 0x58, 0x50, 0x70, 0x60, 0x50, 0x70, 0x68,
380  0x50, 0x70, 0x70, 0x50, 0x68, 0x70, 0x50, 0x60, 0x70, 0x50, 0x58, 0x70,
381  0x00, 0x00, 0x40, 0x10, 0x00, 0x40, 0x20, 0x00, 0x40, 0x30, 0x00, 0x40,
382  0x40, 0x00, 0x40, 0x40, 0x00, 0x30, 0x40, 0x00, 0x20, 0x40, 0x00, 0x10,
383  0x40, 0x00, 0x00, 0x40, 0x10, 0x00, 0x40, 0x20, 0x00, 0x40, 0x30, 0x00,
384  0x40, 0x40, 0x00, 0x30, 0x40, 0x00, 0x20, 0x40, 0x00, 0x10, 0x40, 0x00,
385  0x00, 0x40, 0x00, 0x00, 0x40, 0x10, 0x00, 0x40, 0x20, 0x00, 0x40, 0x30,
386  0x00, 0x40, 0x40, 0x00, 0x30, 0x40, 0x00, 0x20, 0x40, 0x00, 0x10, 0x40,
387  0x20, 0x20, 0x40, 0x28, 0x20, 0x40, 0x30, 0x20, 0x40, 0x38, 0x20, 0x40,
388  0x40, 0x20, 0x40, 0x40, 0x20, 0x38, 0x40, 0x20, 0x30, 0x40, 0x20, 0x28,
389  0x40, 0x20, 0x20, 0x40, 0x28, 0x20, 0x40, 0x30, 0x20, 0x40, 0x38, 0x20,
390  0x40, 0x40, 0x20, 0x38, 0x40, 0x20, 0x30, 0x40, 0x20, 0x28, 0x40, 0x20,
391  0x20, 0x40, 0x20, 0x20, 0x40, 0x28, 0x20, 0x40, 0x30, 0x20, 0x40, 0x38,
392  0x20, 0x40, 0x40, 0x20, 0x38, 0x40, 0x20, 0x30, 0x40, 0x20, 0x28, 0x40,
393  0x2C, 0x2C, 0x40, 0x30, 0x2C, 0x40, 0x34, 0x2C, 0x40, 0x3C, 0x2C, 0x40,
394  0x40, 0x2C, 0x40, 0x40, 0x2C, 0x3C, 0x40, 0x2C, 0x34, 0x40, 0x2C, 0x30,
395  0x40, 0x2C, 0x2C, 0x40, 0x30, 0x2C, 0x40, 0x34, 0x2C, 0x40, 0x3C, 0x2C,
396  0x40, 0x40, 0x2C, 0x3C, 0x40, 0x2C, 0x34, 0x40, 0x2C, 0x30, 0x40, 0x2C,
397  0x2C, 0x40, 0x2C, 0x2C, 0x40, 0x30, 0x2C, 0x40, 0x34, 0x2C, 0x40, 0x3C,
398  0x2C, 0x40, 0x40, 0x2C, 0x3C, 0x40, 0x2C, 0x34, 0x40, 0x2C, 0x30, 0x40,
399  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
400  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
401 };
402 
403 } // End of namespace Agi
404 
405 #endif /* AGI_PALETTE_H */
Definition: agi.h:63