1 module magicalrainbows.palette; 2 3 import magicalrainbows.formats; 4 5 enum GameBoy = [ 6 RGB888(155, 188, 15), 7 RGB888(139, 172, 15), 8 RGB888(48, 98, 48), 9 RGB888(15, 56, 15) 10 ]; 11 12 enum GameBoyPocket = [ 13 RGB888(255, 255, 255), 14 RGB888(170, 170, 170), 15 RGB888(85, 85, 85), 16 RGB888(0, 0, 0) 17 ]; 18 19 /// Approximations of the colours used in NES games. 20 /// The NES does not actually use these, instead using NTSC/PAL waveforms 21 /// directly. 22 /// See_Also: http://wiki.nesdev.com/w/index.php/NTSC_video 23 enum RGB888[16][4] NES2C02 = [ 24 [ 25 RGB888(124, 124, 124), 26 RGB888(0, 0, 252), 27 RGB888(0, 0, 188), 28 RGB888(68, 40, 188), 29 RGB888(148, 0, 132), 30 RGB888(168, 0, 32), 31 RGB888(168, 16, 0), 32 RGB888(136, 20, 0), 33 RGB888(80, 48, 0), 34 RGB888(0, 120, 0), 35 RGB888(0, 104, 0), 36 RGB888(0, 88, 0), 37 RGB888(0, 64, 88), 38 RGB888(0, 0, 0), 39 RGB888(0, 0, 0), 40 RGB888(0, 0, 0), 41 ], 42 [ 43 RGB888(188, 188, 188), 44 RGB888(0, 120, 248), 45 RGB888(0, 88, 248), 46 RGB888(104, 68, 252), 47 RGB888(216, 0, 204), 48 RGB888(228, 0, 88), 49 RGB888(248, 56, 0), 50 RGB888(228, 92, 16), 51 RGB888(172, 124, 0), 52 RGB888(0, 184, 0), 53 RGB888(0, 168, 0), 54 RGB888(0, 168, 68), 55 RGB888(0, 136, 136), 56 RGB888(0, 0, 0), 57 RGB888(0, 0, 0), 58 RGB888(0, 0, 0), 59 ], 60 [ 61 RGB888(236, 238, 236), 62 RGB888(76, 154, 236), 63 RGB888(120, 124, 236), 64 RGB888(176, 98, 236), 65 RGB888(228, 84, 236), 66 RGB888(236, 88, 180), 67 RGB888(236, 106, 100), 68 RGB888(212, 136, 32), 69 RGB888(160, 170, 0), 70 RGB888(116, 196, 0), 71 RGB888(76, 208, 32), 72 RGB888(56, 204, 108), 73 RGB888(56, 180, 204), 74 RGB888(60, 60, 60), 75 ], 76 [ 77 RGB888(236, 238, 236), 78 RGB888(168, 204, 236), 79 RGB888(188, 188, 236), 80 RGB888(212, 178, 236), 81 RGB888(236, 174, 236), 82 RGB888(236, 174, 212), 83 RGB888(236, 180, 176), 84 RGB888(228, 196, 144), 85 RGB888(204, 210, 120), 86 RGB888(180, 222, 120), 87 RGB888(168, 226, 144), 88 RGB888(152, 226, 180), 89 RGB888(160, 214, 228), 90 RGB888(160, 162, 160), 91 ] 92 ]; 93 94 enum nesLum = [0.397, 0.681, 1, 1]; 95 enum nesLum2 = [-0.117, 0, 0.308, 0.715]; 96 97 enum CGA16 = [ 98 RGB888(0, 0, 0), //Black 99 RGB888(0, 0, 170), //Blue 100 RGB888(0, 170, 0), //Green 101 RGB888(0, 170, 170), //Cyan 102 RGB888(170, 0, 0), //Red 103 RGB888(170, 0, 170), //Magenta 104 RGB888(170, 85, 0), //Brown 105 RGB888(170, 170, 170), //Light Gray 106 RGB888(85, 85, 85), //Dark Gray 107 RGB888(85, 85, 255), //Light Blue 108 RGB888(85, 255, 85), //Light Green 109 RGB888(85, 255, 255), //Light Cyan 110 RGB888(255, 85, 85), //Light Red 111 RGB888(255, 85, 255), //Light Magenta 112 RGB888(255, 255, 85), //Yellow 113 RGB888(255, 255, 255), //White 114 ];