2004-08-09 17:04:08 +00:00
|
|
|
byte _palettes[4][256 * 3] = {
|
2004-12-12 20:36:24 +00:00
|
|
|
/* palette 1 (TTD Windows) */
|
2004-08-09 17:04:08 +00:00
|
|
|
{
|
2004-12-12 20:36:24 +00:00
|
|
|
0, 0, 0, 212, 0, 212, 212, 0, 212, 212, 0, 212,
|
2004-09-12 21:49:38 +00:00
|
|
|
212, 0, 212, 212, 0, 212, 212, 0, 212, 212, 0, 212,
|
|
|
|
212, 0, 212, 212, 0, 212, 168, 168, 168, 184, 184, 184,
|
|
|
|
200, 200, 200, 216, 216, 216, 232, 232, 232, 252, 252, 252,
|
|
|
|
52, 60, 72, 68, 76, 92, 88, 96, 112, 108, 116, 132,
|
|
|
|
132, 140, 152, 156, 160, 172, 176, 184, 196, 204, 208, 220,
|
|
|
|
48, 44, 4, 64, 60, 12, 80, 76, 20, 96, 92, 28,
|
|
|
|
120, 120, 64, 148, 148, 100, 176, 176, 132, 204, 204, 168,
|
|
|
|
100, 100, 100, 116, 116, 116, 104, 80, 44, 124, 104, 72,
|
|
|
|
152, 132, 92, 184, 160, 120, 212, 188, 148, 244, 220, 176,
|
|
|
|
132, 132, 132, 88, 4, 16, 112, 16, 32, 136, 32, 52,
|
|
|
|
160, 56, 76, 188, 84, 108, 204, 104, 124, 220, 132, 144,
|
|
|
|
236, 156, 164, 252, 188, 192, 252, 212, 0, 252, 232, 60,
|
|
|
|
252, 248, 128, 76, 40, 0, 96, 60, 8, 116, 88, 28,
|
|
|
|
136, 116, 56, 156, 136, 80, 176, 156, 108, 196, 180, 136,
|
|
|
|
68, 24, 0, 96, 44, 4, 128, 68, 8, 156, 96, 16,
|
|
|
|
184, 120, 24, 212, 156, 32, 232, 184, 16, 252, 212, 0,
|
|
|
|
252, 248, 128, 252, 252, 192, 32, 4, 0, 64, 20, 8,
|
|
|
|
84, 28, 16, 108, 44, 28, 128, 56, 40, 148, 72, 56,
|
|
|
|
168, 92, 76, 184, 108, 88, 196, 128, 108, 212, 148, 128,
|
|
|
|
8, 52, 0, 16, 64, 0, 32, 80, 4, 48, 96, 4,
|
|
|
|
64, 112, 12, 84, 132, 20, 104, 148, 28, 128, 168, 44,
|
|
|
|
64, 64, 64, 44, 68, 32, 60, 88, 48, 80, 104, 60,
|
|
|
|
104, 124, 76, 128, 148, 92, 152, 176, 108, 180, 204, 124,
|
|
|
|
16, 52, 24, 32, 72, 44, 56, 96, 72, 76, 116, 88,
|
|
|
|
96, 136, 108, 120, 164, 136, 152, 192, 168, 184, 220, 200,
|
|
|
|
32, 24, 0, 56, 28, 0, 80, 80, 80, 88, 52, 12,
|
|
|
|
104, 64, 24, 124, 84, 44, 140, 108, 64, 160, 128, 88,
|
|
|
|
76, 40, 16, 96, 52, 24, 116, 68, 40, 136, 84, 56,
|
|
|
|
164, 96, 64, 184, 112, 80, 204, 128, 96, 212, 148, 112,
|
|
|
|
224, 168, 128, 236, 188, 148, 80, 28, 4, 100, 40, 20,
|
|
|
|
120, 56, 40, 140, 76, 64, 160, 100, 96, 184, 136, 136,
|
|
|
|
36, 40, 68, 48, 52, 84, 64, 64, 100, 80, 80, 116,
|
|
|
|
100, 100, 136, 132, 132, 164, 172, 172, 192, 212, 212, 224,
|
|
|
|
48, 48, 48, 64, 44, 144, 88, 64, 172, 104, 76, 196,
|
|
|
|
120, 88, 224, 140, 104, 252, 160, 136, 252, 188, 168, 252,
|
|
|
|
0, 24, 108, 0, 36, 132, 0, 52, 160, 0, 72, 184,
|
|
|
|
0, 96, 212, 24, 120, 220, 56, 144, 232, 88, 168, 240,
|
|
|
|
128, 196, 252, 188, 224, 252, 16, 64, 96, 24, 80, 108,
|
|
|
|
40, 96, 120, 52, 112, 132, 80, 140, 160, 116, 172, 192,
|
|
|
|
156, 204, 220, 204, 240, 252, 172, 52, 52, 212, 52, 52,
|
|
|
|
252, 52, 52, 252, 100, 88, 252, 144, 124, 252, 184, 160,
|
|
|
|
252, 216, 200, 252, 244, 236, 72, 20, 112, 92, 44, 140,
|
|
|
|
112, 68, 168, 140, 100, 196, 168, 136, 224, 204, 180, 252,
|
|
|
|
204, 180, 252, 232, 208, 252, 60, 0, 0, 92, 0, 0,
|
|
|
|
128, 0, 0, 160, 0, 0, 196, 0, 0, 224, 0, 0,
|
|
|
|
252, 0, 0, 252, 80, 0, 252, 108, 0, 252, 136, 0,
|
|
|
|
252, 164, 0, 252, 192, 0, 252, 220, 0, 252, 252, 0,
|
|
|
|
204, 136, 8, 228, 144, 4, 252, 156, 0, 252, 176, 48,
|
|
|
|
252, 196, 100, 252, 216, 152, 8, 24, 88, 12, 36, 104,
|
|
|
|
20, 52, 124, 28, 68, 140, 40, 92, 164, 56, 120, 188,
|
|
|
|
72, 152, 216, 100, 172, 224, 92, 156, 52, 108, 176, 64,
|
|
|
|
124, 200, 76, 144, 224, 92, 224, 244, 252, 204, 240, 252,
|
|
|
|
180, 220, 236, 132, 188, 216, 88, 152, 172, 16, 16, 16,
|
|
|
|
32, 32, 32, 8, 92, 104, 16, 100, 112, 24, 108, 120,
|
|
|
|
32, 116, 128, 44, 124, 140, 92, 164, 184, 116, 180, 196,
|
|
|
|
148, 200, 216, 180, 220, 232, 216, 244, 252, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
252, 60, 0, 252, 80, 0, 252, 104, 0, 252, 128, 0,
|
|
|
|
252, 148, 0, 252, 172, 0, 252, 196, 0, 252, 0, 0,
|
|
|
|
252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
252, 228, 0, 148, 148, 148, 212, 0, 212, 212, 0, 212,
|
|
|
|
212, 0, 212, 212, 0, 212, 212, 0, 212, 212, 0, 212,
|
|
|
|
212, 0, 212, 212, 0, 212, 212, 0, 212, 252, 252, 252,
|
2004-12-12 20:36:24 +00:00
|
|
|
},
|
|
|
|
|
|
|
|
/* palette 2 (mixed TTD DOS + TTD Windows palette */
|
|
|
|
{
|
|
|
|
0, 0, 0, 16, 16, 16, 32, 32, 32, 48, 48, 48,
|
|
|
|
65, 64, 65, 82, 80, 82, 98, 101, 98, 115, 117, 115,
|
|
|
|
131, 133, 131, 148, 149, 148, 168, 168, 168, 184, 184, 184,
|
|
|
|
200, 200, 200, 216, 216, 216, 232, 232, 232, 252, 252, 252,
|
|
|
|
52, 60, 72, 68, 76, 92, 88, 96, 112, 108, 116, 132,
|
|
|
|
132, 140, 152, 156, 160, 172, 176, 184, 196, 204, 208, 220,
|
|
|
|
48, 44, 4, 64, 60, 12, 80, 76, 20, 96, 92, 28,
|
|
|
|
120, 120, 64, 148, 148, 100, 176, 176, 132, 204, 204, 168,
|
|
|
|
72, 44, 4, 88, 60, 20, 104, 80, 44, 124, 104, 72,
|
|
|
|
152, 132, 92, 184, 160, 120, 212, 188, 148, 244, 220, 176,
|
|
|
|
64, 0, 4, 88, 4, 16, 112, 16, 32, 136, 32, 52,
|
|
|
|
160, 56, 76, 188, 84, 108, 204, 104, 124, 220, 132, 144,
|
|
|
|
236, 156, 164, 252, 188, 192, 252, 212, 0, 252, 232, 60,
|
|
|
|
252, 248, 128, 76, 40, 0, 96, 60, 8, 116, 88, 28,
|
|
|
|
136, 116, 56, 156, 136, 80, 176, 156, 108, 196, 180, 136,
|
|
|
|
68, 24, 0, 96, 44, 4, 128, 68, 8, 156, 96, 16,
|
|
|
|
184, 120, 24, 212, 156, 32, 232, 184, 16, 252, 212, 0,
|
|
|
|
252, 248, 128, 252, 252, 192, 32, 4, 0, 64, 20, 8,
|
|
|
|
84, 28, 16, 108, 44, 28, 128, 56, 40, 148, 72, 56,
|
|
|
|
168, 92, 76, 184, 108, 88, 196, 128, 108, 212, 148, 128,
|
|
|
|
8, 52, 0, 16, 64, 0, 32, 80, 4, 48, 96, 4,
|
|
|
|
64, 112, 12, 84, 132, 20, 104, 148, 28, 128, 168, 44,
|
|
|
|
28, 52, 24, 44, 68, 32, 60, 88, 48, 80, 104, 60,
|
|
|
|
104, 124, 76, 128, 148, 92, 152, 176, 108, 180, 204, 124,
|
|
|
|
16, 52, 24, 32, 72, 44, 56, 96, 72, 76, 116, 88,
|
|
|
|
96, 136, 108, 120, 164, 136, 152, 192, 168, 184, 220, 200,
|
|
|
|
32, 24, 0, 56, 28, 0, 72, 40, 0, 88, 52, 12,
|
|
|
|
104, 64, 24, 124, 84, 44, 140, 108, 64, 160, 128, 88,
|
|
|
|
76, 40, 16, 96, 52, 24, 116, 68, 40, 136, 84, 56,
|
|
|
|
164, 96, 64, 184, 112, 80, 204, 128, 96, 212, 148, 112,
|
|
|
|
224, 168, 128, 236, 188, 148, 80, 28, 4, 100, 40, 20,
|
|
|
|
120, 56, 40, 140, 76, 64, 160, 100, 96, 184, 136, 136,
|
|
|
|
36, 40, 68, 48, 52, 84, 64, 64, 100, 80, 80, 116,
|
|
|
|
100, 100, 136, 132, 132, 164, 172, 172, 192, 212, 212, 224,
|
|
|
|
40, 20, 112, 64, 44, 144, 88, 64, 172, 104, 76, 196,
|
|
|
|
120, 88, 224, 140, 104, 252, 160, 136, 252, 188, 168, 252,
|
|
|
|
0, 24, 108, 0, 36, 132, 0, 52, 160, 0, 72, 184,
|
|
|
|
0, 96, 212, 24, 120, 220, 56, 144, 232, 88, 168, 240,
|
|
|
|
128, 196, 252, 188, 224, 252, 16, 64, 96, 24, 80, 108,
|
|
|
|
40, 96, 120, 52, 112, 132, 80, 140, 160, 116, 172, 192,
|
|
|
|
156, 204, 220, 204, 240, 252, 172, 52, 52, 212, 52, 52,
|
|
|
|
252, 52, 52, 252, 100, 88, 252, 144, 124, 252, 184, 160,
|
|
|
|
252, 216, 200, 252, 244, 236, 72, 20, 112, 92, 44, 140,
|
|
|
|
112, 68, 168, 140, 100, 196, 168, 136, 224, 204, 180, 252,
|
|
|
|
204, 180, 252, 232, 208, 252, 60, 0, 0, 92, 0, 0,
|
|
|
|
128, 0, 0, 160, 0, 0, 196, 0, 0, 224, 0, 0,
|
|
|
|
252, 0, 0, 252, 80, 0, 252, 108, 0, 252, 136, 0,
|
|
|
|
252, 164, 0, 252, 192, 0, 252, 220, 0, 252, 252, 0,
|
|
|
|
204, 136, 8, 228, 144, 4, 252, 156, 0, 252, 176, 48,
|
|
|
|
252, 196, 100, 252, 216, 152, 8, 24, 88, 12, 36, 104,
|
|
|
|
20, 52, 124, 28, 68, 140, 40, 92, 164, 56, 120, 188,
|
|
|
|
72, 152, 216, 100, 172, 224, 92, 156, 52, 108, 176, 64,
|
|
|
|
124, 200, 76, 144, 224, 92, 224, 244, 252, 204, 240, 252,
|
|
|
|
180, 220, 236, 132, 188, 216, 88, 152, 172, 16, 16, 16,
|
|
|
|
32, 32, 32, 8, 92, 104, 16, 100, 112, 24, 108, 120,
|
|
|
|
32, 116, 128, 44, 124, 140, 92, 164, 184, 116, 180, 196,
|
|
|
|
148, 200, 216, 180, 220, 232, 216, 244, 252, 0, 0, 0,
|
|
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
252, 60, 0, 252, 80, 0, 252, 104, 0, 252, 128, 0,
|
|
|
|
252, 148, 0, 252, 172, 0, 252, 196, 0, 252, 0, 0,
|
|
|
|
252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
|
|
252, 228, 0, 148, 148, 148, 16, 101, 115, 24, 109, 123,
|
|
|
|
32, 117, 131, 41, 125, 139, 90, 165, 189, 115, 182, 197,
|
|
|
|
148, 202, 222, 180, 222, 238, 222, 246, 255, 252, 252, 252,
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
};
|
2004-08-09 17:04:08 +00:00
|
|
|
|
|
|
|
#define GET_PALETTE(x) _palettes[x]
|
|
|
|
|
|
|
|
typedef struct {
|
2004-12-12 20:36:24 +00:00
|
|
|
byte a[15]; // dark blue water
|
|
|
|
byte ac[15]; // dark blue water Toyland
|
|
|
|
byte lighthouse[12]; // lighthouse & stadium
|
|
|
|
byte oil_ref[21]; // oil refinery
|
|
|
|
byte e[15]; // ???
|
|
|
|
byte b[45]; // glittery water
|
|
|
|
byte bc[45]; // glittery water Toyland
|
2004-08-09 17:04:08 +00:00
|
|
|
} ExtraPaletteValues;
|
|
|
|
|
|
|
|
static const ExtraPaletteValues _extra_palette_values = {
|
|
|
|
{32, 68,112, 36, 72,116, 40, 76,120, 44, 80,124, 48, 84,128},
|
|
|
|
{28,108,124, 32,112,128, 36,116,132, 40,120,136, 44,124,140},
|
|
|
|
{240,208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
|
|
|
|
{252, 60, 0,252, 84, 0,252,108, 0,252,124, 0,252,148, 0,
|
|
|
|
252,172, 0,252,196, 0},
|
|
|
|
{ 76, 24, 8,108, 44, 24,144, 72, 52,176,108, 84,212,148,128},
|
|
|
|
{216,244,252,172,208,224,132,172,196,100,132,168, 72,100,144,
|
|
|
|
72,100,144, 72,100,144, 72,100,144, 72,100,144, 72,100,144,
|
|
|
|
72,100,144, 72,100,144,100,132,168,132,172,196,172,208,224},
|
|
|
|
{216,244,252,180,220,232,148,200,216,116,180,196, 92,164,184,
|
|
|
|
92,164,184, 92,164,184, 92,164,184, 92,164,184, 92,164,184,
|
|
|
|
92,164,184, 92,164,184,116,180,196,148,200,216,180,220,232},
|
|
|
|
};
|
|
|
|
|
2004-11-26 14:00:57 +00:00
|
|
|
// Color table for colors in lang files (e.g. {BLACK})
|
2004-11-26 16:55:35 +00:00
|
|
|
typedef struct StringColor {
|
|
|
|
byte text;
|
|
|
|
byte shadow;
|
|
|
|
} StringColor;
|
|
|
|
|
|
|
|
static const StringColor _string_colormap[] = {
|
2004-11-26 14:00:57 +00:00
|
|
|
{ 150, 215 }, // BLUE
|
|
|
|
{ 12, 215 }, // SILVER
|
|
|
|
{ 189, 215 }, // GOLD
|
|
|
|
{ 184, 215 }, // RED
|
|
|
|
{ 174, 215 }, // PURPLE
|
|
|
|
{ 30, 215 }, // LTBROWN
|
|
|
|
{ 195, 215 }, // ORANGE
|
|
|
|
{ 209, 215 }, // GREEN
|
|
|
|
{ 68, 215 }, // YELLOW
|
|
|
|
{ 95, 215 }, // DKGREEN
|
|
|
|
{ 79, 215 }, // CREAM
|
|
|
|
{ 116, 215 }, // BROWN
|
|
|
|
{ 15, 215 }, // WHITE
|
|
|
|
{ 152, 215 }, // LTBLUE
|
|
|
|
{ 32, 215 }, // GRAY
|
|
|
|
{ 133, 215 }, // DKBLUE
|
|
|
|
{ 215, 0 }, // BLACK
|
|
|
|
};
|