| 37 | static const byte tableC64Palette[] = { |
| 38 | 0x00, 0x00, 0x00, 0xFD, 0xFE, 0xFC, 0xBE, 0x1A, 0x24, 0x30, 0xE6, 0xC6, |
| 39 | 0xB4, 0x1A, 0xE2, 0x1F, 0xD2, 0x1E, 0x21, 0x1B, 0xAE, 0xDF, 0xF6, 0x0A, |
| 40 | 0xB8, 0x41, 0x04, 0x6A, 0x33, 0x04, 0xFE, 0x4A, 0x57, 0x42, 0x45, 0x40, |
| 41 | 0x70, 0x74, 0x6F, 0x59, 0xFE, 0x59, 0x5F, 0x53, 0xFE, 0xA4, 0xA7, 0xA2, |
| 42 | |
| 43 | // Use 17 color table for v1 games to allow correct color for inventory and |
| 44 | // sentence line. Original games used some kind of dynamic color table |
| 45 | // remapping between rooms. |
| 46 | 0xFF, 0x55, 0xFF |
| 47 | }; |
| 48 | |
| 49 | static const byte tableNESPalette[] = { |
| 50 | /* 0x1D */ |
| 51 | 0x00, 0x00, 0x00, 0x00, 0x24, 0x92, 0x00, 0x00, 0xDB, 0x6D, 0x49, 0xDB, |
| 52 | 0x92, 0x00, 0x6D, 0xB6, 0x00, 0x6D, 0xB6, 0x24, 0x00, 0x92, 0x49, 0x00, |
| 53 | 0x6D, 0x49, 0x00, 0x24, 0x49, 0x00, 0x00, 0x6D, 0x24, 0x00, 0x92, 0x00, |
| 54 | 0x00, 0x49, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 55 | |
| 56 | 0xB6, 0xB6, 0xB6, 0x00, 0x6D, 0xDB, 0x00, 0x49, 0xFF, 0x92, 0x00, 0xFF, |
| 57 | 0xB6, 0x00, 0xFF, 0xFF, 0x00, 0x92, 0xFF, 0x00, 0x00, 0xDB, 0x6D, 0x00, |
| 58 | 0x92, 0x6D, 0x00, 0x24, 0x92, 0x00, 0x00, 0x92, 0x00, 0x00, 0xB6, 0x6D, |
| 59 | /* 0x00 */ |
| 60 | 0x00, 0x92, 0x92, 0x6D, 0x6D, 0x6D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 61 | |
| 62 | 0xFF, 0xFF, 0xFF, 0x6D, 0xB6, 0xFF, 0x92, 0x92, 0xFF, 0xDB, 0x6D, 0xFF, |
| 63 | 0xFF, 0x00, 0xFF, 0xFF, 0x6D, 0xFF, 0xFF, 0x92, 0x00, 0xFF, 0xB6, 0x00, |
| 64 | 0xDB, 0xDB, 0x00, 0x6D, 0xDB, 0x00, 0x00, 0xFF, 0x00, 0x49, 0xFF, 0xDB, |
| 65 | 0x00, 0xFF, 0xFF, 0x49, 0x49, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
| 66 | |
| 67 | 0xFF, 0xFF, 0xFF, 0xB6, 0xDB, 0xFF, 0xDB, 0xB6, 0xFF, 0xFF, 0xB6, 0xFF, |
| 68 | 0xFF, 0x92, 0xFF, 0xFF, 0xB6, 0xB6, 0xFF, 0xDB, 0x92, 0xFF, 0xFF, 0x49, |
| 69 | 0xFF, 0xFF, 0x6D, 0xB6, 0xFF, 0x49, 0x92, 0xFF, 0x6D, 0x49, 0xFF, 0xDB, |
| 70 | 0x92, 0xDB, 0xFF, 0x92, 0x92, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 |
| 71 | }; |
| 72 | |
| 73 | static const byte tableAmigaPalette[] = { |
| 74 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xBB, 0x00, 0xBB, 0x00, 0x00, 0xBB, 0xBB, |
| 75 | 0xBB, 0x00, 0x00, 0xBB, 0x00, 0xBB, 0xBB, 0x77, 0x00, 0xBB, 0xBB, 0xBB, |
| 76 | 0x77, 0x77, 0x77, 0x77, 0x77, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, |
| 77 | 0xFF, 0x88, 0x88, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF |
| 78 | }; |
| 79 | |
| 80 | static const byte tableAmigaMIPalette[] = { |
| 81 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0x00, 0x88, 0x22, 0x00, 0x66, 0x77, |
| 82 | 0xBB, 0x66, 0x66, 0xAA, 0x22, 0xAA, 0x88, 0x55, 0x22, 0x77, 0x77, 0x77, |
| 83 | 0x33, 0x33, 0x33, 0x22, 0x55, 0xDD, 0x22, 0xDD, 0x44, 0x00, 0xCC, 0xFF, |
| 84 | 0xFF, 0x99, 0x99, 0xFF, 0x55, 0xFF, 0xFF, 0xFF, 0x77, 0xFF, 0xFF, 0xFF |
| 85 | }; |
| 86 | |
| 87 | static const byte tableEGAPalette[] = { |
| 88 | 0x00, 0x00, 0x00, 0x00, 0x00, 0xAA, 0x00, 0xAA, 0x00, 0x00, 0xAA, 0xAA, |
| 89 | 0xAA, 0x00, 0x00, 0xAA, 0x00, 0xAA, 0xAA, 0x55, 0x00, 0xAA, 0xAA, 0xAA, |
| 90 | 0x55, 0x55, 0x55, 0x55, 0x55, 0xFF, 0x55, 0xFF, 0x55, 0x55, 0xFF, 0xFF, |
| 91 | 0xFF, 0x55, 0x55, 0xFF, 0x55, 0xFF, 0xFF, 0xFF, 0x55, 0xFF, 0xFF, 0xFF |
| 92 | }; |
| 93 | |
| 94 | static const byte tableV1Palette[] = { |
| 95 | 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xAA, 0x00, 0x00, 0x00, 0xAA, 0xAA, |
| 96 | 0xAA, 0x00, 0xAA, 0x00, 0xAA, 0x00, 0x00, 0x00, 0xAA, 0xFF, 0xFF, 0x55, |
| 97 | 0xFF, 0x55, 0x55, 0xAA, 0x55, 0x00, 0xFF, 0x55, 0x55, 0x55, 0x55, 0x55, |
| 98 | 0xAA, 0xAA, 0xAA, 0x55, 0xFF, 0x55, 0x55, 0x55, 0xFF, 0x55, 0x55, 0x55, |
| 99 | |
| 100 | 0xFF, 0x55, 0xFF |
| 101 | }; |
| 102 | |
| 103 | static const byte tableCGAPalette[] = { |
| 104 | 0x00, 0x00, 0x00, 0x00, 0xA8, 0xA8, 0xA8, 0x00, 0xA8, 0xA8, 0xA8, 0xA8 |
| 105 | }; |
| 106 | |
| 107 | static const byte tableHercAPalette[] = { |
| 108 | 0x00, 0x00, 0x00, 0xAE, 0x69, 0x38 |
| 109 | }; |
| 110 | |
| 111 | static const byte tableHercGPalette[] = { |
| 112 | 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00 |
| 113 | }; |
| 114 | |
101 | | void ScummEngine::setNESPalette() { |
102 | | setPalColor(0x00,0x00,0x00,0x00); // 0x1D |
103 | | setPalColor(0x01,0x00,0x24,0x92); |
104 | | setPalColor(0x02,0x00,0x00,0xDB); |
105 | | setPalColor(0x03,0x6D,0x49,0xDB); |
106 | | setPalColor(0x04,0x92,0x00,0x6D); |
107 | | setPalColor(0x05,0xB6,0x00,0x6D); |
108 | | setPalColor(0x06,0xB6,0x24,0x00); |
109 | | setPalColor(0x07,0x92,0x49,0x00); |
110 | | setPalColor(0x08,0x6D,0x49,0x00); |
111 | | setPalColor(0x09,0x24,0x49,0x00); |
112 | | setPalColor(0x0A,0x00,0x6D,0x24); |
113 | | setPalColor(0x0B,0x00,0x92,0x00); |
114 | | setPalColor(0x0C,0x00,0x49,0x49); |
115 | | setPalColor(0x0D,0x00,0x00,0x00); |
116 | | setPalColor(0x0E,0x00,0x00,0x00); |
117 | | setPalColor(0x0F,0x00,0x00,0x00); |
118 | | |
119 | | setPalColor(0x10,0xB6,0xB6,0xB6); |
120 | | setPalColor(0x11,0x00,0x6D,0xDB); |
121 | | setPalColor(0x12,0x00,0x49,0xFF); |
122 | | setPalColor(0x13,0x92,0x00,0xFF); |
123 | | setPalColor(0x14,0xB6,0x00,0xFF); |
124 | | setPalColor(0x15,0xFF,0x00,0x92); |
125 | | setPalColor(0x16,0xFF,0x00,0x00); |
126 | | setPalColor(0x17,0xDB,0x6D,0x00); |
127 | | setPalColor(0x18,0x92,0x6D,0x00); |
128 | | setPalColor(0x19,0x24,0x92,0x00); |
129 | | setPalColor(0x1A,0x00,0x92,0x00); |
130 | | setPalColor(0x1B,0x00,0xB6,0x6D); |
131 | | setPalColor(0x1C,0x00,0x92,0x92); |
132 | | setPalColor(0x1D,0x6D,0x6D,0x6D); // 0x00 |
133 | | setPalColor(0x1E,0x00,0x00,0x00); |
134 | | setPalColor(0x1F,0x00,0x00,0x00); |
135 | | |
136 | | setPalColor(0x20,0xFF,0xFF,0xFF); |
137 | | setPalColor(0x21,0x6D,0xB6,0xFF); |
138 | | setPalColor(0x22,0x92,0x92,0xFF); |
139 | | setPalColor(0x23,0xDB,0x6D,0xFF); |
140 | | setPalColor(0x24,0xFF,0x00,0xFF); |
141 | | setPalColor(0x25,0xFF,0x6D,0xFF); |
142 | | setPalColor(0x26,0xFF,0x92,0x00); |
143 | | setPalColor(0x27,0xFF,0xB6,0x00); |
144 | | setPalColor(0x28,0xDB,0xDB,0x00); |
145 | | setPalColor(0x29,0x6D,0xDB,0x00); |
146 | | setPalColor(0x2A,0x00,0xFF,0x00); |
147 | | setPalColor(0x2B,0x49,0xFF,0xDB); |
148 | | setPalColor(0x2C,0x00,0xFF,0xFF); |
149 | | setPalColor(0x2D,0x49,0x49,0x49); |
150 | | setPalColor(0x2E,0x00,0x00,0x00); |
151 | | setPalColor(0x2F,0x00,0x00,0x00); |
152 | | |
153 | | setPalColor(0x30,0xFF,0xFF,0xFF); |
154 | | setPalColor(0x31,0xB6,0xDB,0xFF); |
155 | | setPalColor(0x32,0xDB,0xB6,0xFF); |
156 | | setPalColor(0x33,0xFF,0xB6,0xFF); |
157 | | setPalColor(0x34,0xFF,0x92,0xFF); |
158 | | setPalColor(0x35,0xFF,0xB6,0xB6); |
159 | | setPalColor(0x36,0xFF,0xDB,0x92); |
160 | | setPalColor(0x37,0xFF,0xFF,0x49); |
161 | | setPalColor(0x38,0xFF,0xFF,0x6D); |
162 | | setPalColor(0x39,0xB6,0xFF,0x49); |
163 | | setPalColor(0x3A,0x92,0xFF,0x6D); |
164 | | setPalColor(0x3B,0x49,0xFF,0xDB); |
165 | | setPalColor(0x3C,0x92,0xDB,0xFF); |
166 | | setPalColor(0x3D,0x92,0x92,0x92); |
167 | | setPalColor(0x3E,0x00,0x00,0x00); |
168 | | setPalColor(0x3F,0x00,0x00,0x00); |
169 | | } |
170 | | |
171 | | void ScummEngine::setAmigaPalette() { |
172 | | setPalColor( 0, 0, 0, 0); |
173 | | setPalColor( 1, 0, 0, 187); |
174 | | setPalColor( 2, 0, 187, 0); |
175 | | setPalColor( 3, 0, 187, 187); |
176 | | setPalColor( 4, 187, 0, 0); |
177 | | setPalColor( 5, 187, 0, 187); |
178 | | setPalColor( 6, 187, 119, 0); |
179 | | setPalColor( 7, 187, 187, 187); |
180 | | setPalColor( 8, 119, 119, 119); |
181 | | setPalColor( 9, 119, 119, 255); |
182 | | setPalColor(10, 0, 255, 0); |
183 | | setPalColor(11, 0, 255, 255); |
184 | | setPalColor(12, 255, 136, 136); |
185 | | setPalColor(13, 255, 0, 255); |
186 | | setPalColor(14, 255, 255, 0); |
187 | | setPalColor(15, 255, 255, 255); |
188 | | } |
189 | | |
190 | | void ScummEngine::setHercPalette() { |
191 | | setPalColor( 0, 0, 0, 0); |
192 | | |
193 | | if (_renderMode == Common::kRenderHercA) |
194 | | setPalColor( 1, 0xAE, 0x69, 0x38); |
195 | | else |
196 | | setPalColor( 1, 0x00, 0xFF, 0x00); |
197 | | |
198 | | // Setup cursor palette |
199 | | setPalColor( 7, 170, 170, 170); |
200 | | setPalColor( 8, 85, 85, 85); |
201 | | setPalColor(15, 255, 255, 255); |
202 | | } |
203 | | |
204 | | void ScummEngine::setCGAPalette() { |
205 | | setPalColor( 0, 0, 0, 0); |
206 | | setPalColor( 1, 0, 168, 168); |
207 | | setPalColor( 2, 168, 0, 168); |
208 | | setPalColor( 3, 168, 168, 168); |
209 | | |
210 | | // Setup cursor palette |
211 | | setPalColor( 7, 170, 170, 170); |
212 | | setPalColor( 8, 85, 85, 85); |
213 | | setPalColor(15, 255, 255, 255); |
214 | | } |
215 | | |
216 | | void ScummEngine::setEGAPalette() { |
217 | | setPalColor( 0, 0, 0, 0); |
218 | | setPalColor( 1, 0, 0, 170); |
219 | | setPalColor( 2, 0, 170, 0); |
220 | | setPalColor( 3, 0, 170, 170); |
221 | | setPalColor( 4, 170, 0, 0); |
222 | | setPalColor( 5, 170, 0, 170); |
223 | | setPalColor( 6, 170, 85, 0); |
224 | | setPalColor( 7, 170, 170, 170); |
225 | | setPalColor( 8, 85, 85, 85); |
226 | | setPalColor( 9, 85, 85, 255); |
227 | | setPalColor(10, 85, 255, 85); |
228 | | setPalColor(11, 85, 255, 255); |
229 | | setPalColor(12, 255, 85, 85); |
230 | | setPalColor(13, 255, 85, 255); |
231 | | setPalColor(14, 255, 255, 85); |
232 | | setPalColor(15, 255, 255, 255); |
233 | | } |
234 | | |
235 | | void ScummEngine::setV1Palette() { |
236 | | setPalColor( 0, 0, 0, 0); |
237 | | setPalColor( 1, 255, 255, 255); |
238 | | setPalColor( 2, 170, 0, 0); |
239 | | setPalColor( 3, 0, 170, 170); |
240 | | setPalColor( 4, 170, 0, 170); |
241 | | setPalColor( 5, 0, 170, 0); |
242 | | setPalColor( 6, 0, 0, 170); |
243 | | setPalColor( 7, 255, 255, 85); |
244 | | setPalColor( 8, 255, 85, 85); |
245 | | setPalColor( 9, 170, 85, 0); |
246 | | setPalColor(10, 255, 85, 85); |
247 | | setPalColor(11, 85, 85, 85); |
248 | | setPalColor(12, 170, 170, 170); |
249 | | setPalColor(13, 85, 255, 85); |
250 | | setPalColor(14, 85, 85, 255); |
251 | | |
252 | | if (_game.id == GID_ZAK) |
253 | | setPalColor(15, 170, 170, 170); |
254 | | else |
255 | | setPalColor(15, 85, 85, 85); |
256 | | |
257 | | setPalColor(16, 255, 85, 255); |
258 | | } |
259 | | |