ScummVM API documentation
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
25namespace Agi {
26
32static 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
54static 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
64static const uint8 PALETTE_HERCULES_GREEN[2 * 3] = {
65 0x00, 0x00, 0x00, // black
66 0x00, 0xdc, 0x28 // green
67};
68
72static const uint8 PALETTE_HERCULES_AMBER[2 * 3] = {
73 0x00, 0x00, 0x00, // black
74 0xdc, 0xb4, 0x00 // amber
75};
76
83static 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
121static 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
158static 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
184static 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
214static 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
236static 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
262static 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
287static 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
312static 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
336static 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:64