diff --git a/src/base_media_base.h b/src/base_media_base.h --- a/src/base_media_base.h +++ b/src/base_media_base.h @@ -207,10 +207,6 @@ struct GraphicsSet : BaseSet { public: - /** - * Determine the palette of the current graphics set. - */ - static void DeterminePalette(); }; /** All data of a sounds set. */ diff --git a/src/blitter/32bpp_anim.cpp b/src/blitter/32bpp_anim.cpp --- a/src/blitter/32bpp_anim.cpp +++ b/src/blitter/32bpp_anim.cpp @@ -165,16 +165,16 @@ inline void Blitter_32bppAnim::Draw(cons do { /* Compiler assumes pointer aliasing, can't optimise this on its own */ uint m = *src_n++; - /* Above 217 (PALETTE_ANIM_SIZE_START) is palette animation */ + /* Above PALETTE_ANIM_START is palette animation */ *anim++ = m; - *dst++ = (m >= PALETTE_ANIM_SIZE_START) ? this->LookupColourInPalette(m) : src_px->data; + *dst++ = (m >= PALETTE_ANIM_START) ? this->LookupColourInPalette(m) : src_px->data; src_px++; } while (--n != 0); } else { do { uint m = *src_n++; *anim++ = m; - if (m >= PALETTE_ANIM_SIZE_START) { + if (m >= PALETTE_ANIM_START) { *dst = ComposeColourPANoCheck(this->LookupColourInPalette(m), src_px->a, *dst); } else { *dst = ComposeColourRGBANoCheck(src_px->r, src_px->g, src_px->b, src_px->a, *dst); @@ -299,8 +299,6 @@ void Blitter_32bppAnim::CopyFromBuffer(v uint32 *usrc = (uint32 *)src; uint8 *anim_line = ((uint32 *)video - (uint32 *)_screen.dst_ptr) + this->anim_buf; - int count = (_use_palette == PAL_DOS) ? PALETTE_ANIM_SIZE_DOS : PALETTE_ANIM_SIZE_WIN; - for (; height > 0; height--) { /* We need to keep those for palette animation. */ uint32 *dst_pal = dst; @@ -323,7 +321,7 @@ void Blitter_32bppAnim::CopyFromBuffer(v * palette animation, much cheaper though slightly nastier. */ for (int i = 0; i < width; i++) { uint colour = *anim_pal; - if (IsInsideBS(colour, PALETTE_ANIM_SIZE_START, count)) { + if (IsInsideBS(colour, PALETTE_ANIM_START, PALETTE_ANIM_SIZE)) { /* Update this pixel */ *dst_pal = LookupColourInPalette(colour); } diff --git a/src/gfx.cpp b/src/gfx.cpp --- a/src/gfx.cpp +++ b/src/gfx.cpp @@ -292,8 +292,8 @@ static void SetColourRemap(TextColour co bool raw_colour = (colour & TC_IS_PALETTE_COLOUR) != 0; colour &= ~(TC_NO_SHADE | TC_IS_PALETTE_COLOUR); - _string_colourremap[1] = raw_colour ? (byte)colour : _string_colourmap[_use_palette][colour]; - _string_colourremap[2] = no_shade ? 0 : (_use_palette == PAL_DOS ? 1 : 215); + _string_colourremap[1] = raw_colour ? (byte)colour : _string_colourmap[colour]; + _string_colourremap[2] = no_shade ? 0 : 1; _colour_remap_ptr = _string_colourremap; } @@ -1255,7 +1255,7 @@ void DoPaletteAnimations(); void GfxInitPalettes() { - memcpy(_cur_palette, _palettes[_use_palette], sizeof(_cur_palette)); + memcpy(_cur_palette, _palette, sizeof(_cur_palette)); DoPaletteAnimations(); _pal_first_dirty = 0; @@ -1274,12 +1274,7 @@ void DoPaletteAnimations() Blitter *blitter = BlitterFactoryBase::GetCurrentBlitter(); const Colour *s; const ExtraPaletteValues *ev = &_extra_palette_values; - /* Amount of colours to be rotated. - * A few more for the DOS palette, because the water colours are - * 245-254 for DOS and 217-226 for Windows. */ - const int colour_rotation_amount = (_use_palette == PAL_DOS) ? PALETTE_ANIM_SIZE_DOS : PALETTE_ANIM_SIZE_WIN; - Colour old_val[PALETTE_ANIM_SIZE_DOS]; - const int oldval_size = colour_rotation_amount * sizeof(*old_val); + Colour old_val[PALETTE_ANIM_SIZE]; const uint old_tc = palette_animation_counter; uint i; uint j; @@ -1288,28 +1283,10 @@ void DoPaletteAnimations() palette_animation_counter = 0; } - Colour *palette_pos = &_cur_palette[PALETTE_ANIM_SIZE_START]; // Points to where animations are taking place on the palette + Colour *palette_pos = &_cur_palette[PALETTE_ANIM_START]; // Points to where animations are taking place on the palette /* Makes a copy of the current anmation palette in old_val, * so the work on the current palette could be compared, see if there has been any changes */ - memcpy(old_val, palette_pos, oldval_size); - - /* Dark blue water */ - s = (_settings_game.game_creation.landscape == LT_TOYLAND) ? ev->dark_water_toyland : ev->dark_water; - j = EXTR(320, EPV_CYCLES_DARK_WATER); - for (i = 0; i != EPV_CYCLES_DARK_WATER; i++) { - *palette_pos++ = s[j]; - j++; - if (j == EPV_CYCLES_DARK_WATER) j = 0; - } - - /* Glittery water; jumps over 3 colours each cycle! */ - s = (_settings_game.game_creation.landscape == LT_TOYLAND) ? ev->glitter_water_toyland : ev->glitter_water; - j = EXTR(128, EPV_CYCLES_GLITTER_WATER); - for (i = 0; i != EPV_CYCLES_GLITTER_WATER / 3; i++) { - *palette_pos++ = s[j]; - j += 3; - if (j >= EPV_CYCLES_GLITTER_WATER) j -= EPV_CYCLES_GLITTER_WATER; - } + memcpy(old_val, palette_pos, sizeof(old_val)); /* Fizzy Drink bubbles animation */ s = ev->fizzy_drink; @@ -1369,34 +1346,31 @@ void DoPaletteAnimations() if (j == EPV_CYCLES_LIGHTHOUSE) j = 0; } - /* Animate water for old DOS graphics */ - if (_use_palette == PAL_DOS) { - /* Dark blue water DOS */ - s = (_settings_game.game_creation.landscape == LT_TOYLAND) ? ev->dark_water_toyland : ev->dark_water; - j = EXTR(320, EPV_CYCLES_DARK_WATER); - for (i = 0; i != EPV_CYCLES_DARK_WATER; i++) { - *palette_pos++ = s[j]; - j++; - if (j == EPV_CYCLES_DARK_WATER) j = 0; - } + /* Dark blue water */ + s = (_settings_game.game_creation.landscape == LT_TOYLAND) ? ev->dark_water_toyland : ev->dark_water; + j = EXTR(320, EPV_CYCLES_DARK_WATER); + for (i = 0; i != EPV_CYCLES_DARK_WATER; i++) { + *palette_pos++ = s[j]; + j++; + if (j == EPV_CYCLES_DARK_WATER) j = 0; + } - /* Glittery water DOS */ - s = (_settings_game.game_creation.landscape == LT_TOYLAND) ? ev->glitter_water_toyland : ev->glitter_water; - j = EXTR(128, EPV_CYCLES_GLITTER_WATER); - for (i = 0; i != EPV_CYCLES_GLITTER_WATER / 3; i++) { - *palette_pos++ = s[j]; - j += 3; - if (j >= EPV_CYCLES_GLITTER_WATER) j -= EPV_CYCLES_GLITTER_WATER; - } + /* Glittery water */ + s = (_settings_game.game_creation.landscape == LT_TOYLAND) ? ev->glitter_water_toyland : ev->glitter_water; + j = EXTR(128, EPV_CYCLES_GLITTER_WATER); + for (i = 0; i != EPV_CYCLES_GLITTER_WATER / 3; i++) { + *palette_pos++ = s[j]; + j += 3; + if (j >= EPV_CYCLES_GLITTER_WATER) j -= EPV_CYCLES_GLITTER_WATER; } if (blitter != NULL && blitter->UsePaletteAnimation() == Blitter::PALETTE_ANIMATION_NONE) { palette_animation_counter = old_tc; } else { - if (memcmp(old_val, &_cur_palette[PALETTE_ANIM_SIZE_START], oldval_size) != 0) { + if (memcmp(old_val, &_cur_palette[PALETTE_ANIM_START], sizeof(old_val)) != 0) { /* Did we changed anything on the palette? Seems so. Mark it as dirty */ - _pal_first_dirty = PALETTE_ANIM_SIZE_START; - _pal_count_dirty = colour_rotation_amount; + _pal_first_dirty = PALETTE_ANIM_START; + _pal_count_dirty = PALETTE_ANIM_SIZE; } } } diff --git a/src/gfx_func.h b/src/gfx_func.h --- a/src/gfx_func.h +++ b/src/gfx_func.h @@ -180,9 +180,6 @@ extern DrawPixelInfo *_cur_dpi; */ extern byte _colour_gradient[COLOUR_END][8]; -extern PaletteType _use_palette; extern bool _palette_remap_grf[]; -extern const byte *_palette_remap; -extern const byte *_palette_reverse_remap; #endif /* GFX_FUNC_H */ diff --git a/src/gfx_type.h b/src/gfx_type.h --- a/src/gfx_type.h +++ b/src/gfx_type.h @@ -234,9 +234,8 @@ DECLARE_ENUM_AS_BIT_SET(TextColour) /** Defines a few values that are related to animations using palette changes */ enum PaletteAnimationSizes { - PALETTE_ANIM_SIZE_WIN = 28, ///< number of animated colours in Windows palette - PALETTE_ANIM_SIZE_DOS = 38, ///< number of animated colours in DOS palette - PALETTE_ANIM_SIZE_START = 217, ///< Index in the _palettes array from which all animations are taking places (table/palettes.h) + PALETTE_ANIM_SIZE = 28, ///< number of animated colours + PALETTE_ANIM_START = 227, ///< Index in the _palettes array from which all animations are taking places (table/palettes.h) }; /** Define the operation GfxFillRect performs */ diff --git a/src/gfxinit.cpp b/src/gfxinit.cpp --- a/src/gfxinit.cpp +++ b/src/gfxinit.cpp @@ -21,16 +21,9 @@ #include "base_media_func.h" #include "table/sprites.h" -#include "table/palette_convert.h" -/** The currently used palette */ -PaletteType _use_palette = PAL_AUTODETECT; -/** Whether the given NewGRFs must get a palette remap or not. */ +/** Whether the given NewGRFs must get a palette remap from windows to DOS or not. */ bool _palette_remap_grf[MAX_FILE_SLOTS]; -/** Palette map to go from the !_use_palette to the _use_palette */ -const byte *_palette_remap = NULL; -/** Palette map to go from the _use_palette to the !_use_palette */ -const byte *_palette_reverse_remap = NULL; #include "table/landscape_sprite.h" @@ -96,10 +89,9 @@ void CheckExternalFiles() { if (BaseGraphics::GetUsedSet() == NULL || BaseSounds::GetUsedSet() == NULL) return; - BaseGraphics::DeterminePalette(); const GraphicsSet *used_set = BaseGraphics::GetUsedSet(); - DEBUG(grf, 1, "Using the %s base graphics set with the %s palette", used_set->name, _use_palette == PAL_DOS ? "DOS" : "Windows"); + DEBUG(grf, 1, "Using the %s base graphics set", used_set->name); static const size_t ERROR_MESSAGE_LENGTH = 256; static const size_t MISSING_FILE_MESSAGE_LENGTH = 128; @@ -142,7 +134,7 @@ static void LoadSpriteTables() uint i = FIRST_GRF_SLOT; const GraphicsSet *used_set = BaseGraphics::GetUsedSet(); - _palette_remap_grf[i] = (_use_palette != used_set->palette); + _palette_remap_grf[i] = (PAL_DOS != used_set->palette); LoadGrfFile(used_set->files[GFT_BASE].filename, 0, i++); /* @@ -151,7 +143,7 @@ static void LoadSpriteTables() * has a few sprites less. However, we do not care about those missing * sprites as they are not shown anyway (logos in intro game). */ - _palette_remap_grf[i] = (_use_palette != used_set->palette); + _palette_remap_grf[i] = (PAL_DOS != used_set->palette); LoadGrfFile(used_set->files[GFT_LOGOS].filename, 4793, i++); /* @@ -160,7 +152,7 @@ static void LoadSpriteTables() * and the ground sprites. */ if (_settings_game.game_creation.landscape != LT_TEMPERATE) { - _palette_remap_grf[i] = (_use_palette != used_set->palette); + _palette_remap_grf[i] = (PAL_DOS != used_set->palette); LoadGrfIndexed( used_set->files[GFT_ARCTIC + _settings_game.game_creation.landscape - 1].filename, _landscape_spriteindexes[_settings_game.game_creation.landscape - 1], @@ -266,32 +258,6 @@ static const char * const _graphics_file template /* static */ const char * const *BaseSet::file_names = _graphics_file_names; -/** - * Determine the palette that has to be used. - * - forced palette via command line -> leave it that way - * - otherwise -> palette based on the graphics pack - */ -/* static */ void BaseGraphics::DeterminePalette() -{ - assert(BaseGraphics::used_set != NULL); - if (_use_palette >= MAX_PAL) _use_palette = BaseGraphics::used_set->palette; - - switch (_use_palette) { - case PAL_DOS: - _palette_remap = _palmap_w2d; - _palette_reverse_remap = _palmap_d2w; - break; - - case PAL_WINDOWS: - _palette_remap = _palmap_d2w; - _palette_reverse_remap = _palmap_w2d; - break; - - default: - NOT_REACHED(); - } -} - template /* static */ bool BaseMedia::DetermineBestSet() { @@ -307,7 +273,7 @@ template best->valid_files < c->valid_files || (best->valid_files == c->valid_files && ( (best->shortname == c->shortname && best->version < c->version) || - (best->palette != _use_palette && c->palette == _use_palette)))) { + (best->palette != PAL_DOS && c->palette == PAL_DOS)))) { best = c; } } diff --git a/src/newgrf.cpp b/src/newgrf.cpp --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -315,12 +315,6 @@ StringID MapGRFStringID(uint32 grfid, St return TTDPStringIDToOTTDStringIDMapping(str); } -static inline uint8 MapDOSColour(uint8 colour) -{ - extern const byte _palmap_d2w[]; - return (_use_palette == PAL_DOS ? colour : _palmap_d2w[colour]); -} - static std::map _grf_id_overrides; static void SetNewGRFOverride(uint32 source_grfid, uint32 target_grfid) @@ -2192,11 +2186,11 @@ static ChangeInfoResult CargoChangeInfo( break; case 0x13: // Colour for station rating bars - cs->rating_colour = MapDOSColour(buf->ReadByte()); + cs->rating_colour = buf->ReadByte(); break; case 0x14: // Colour for cargo graph - cs->legend_colour = MapDOSColour(buf->ReadByte()); + cs->legend_colour = buf->ReadByte(); break; case 0x15: // Freight status @@ -2802,7 +2796,7 @@ static ChangeInfoResult IndustriesChange break; case 0x19: // Map colour - indsp->map_colour = MapDOSColour(buf->ReadByte()); + indsp->map_colour = buf->ReadByte(); break; case 0x1A: // Special industry flags to define special behavior @@ -3301,7 +3295,7 @@ static ChangeInfoResult RailTypeChangeIn break; case 0x16: // Map colour - rti->map_colour = MapDOSColour(buf->ReadByte()); + rti->map_colour = buf->ReadByte(); break; case 0x17: // Introduction date @@ -7948,7 +7942,7 @@ void LoadNewGRFFile(GRFConfig *config, u FioOpenFile(file_index, filename); _file_index = file_index; // XXX - _palette_remap_grf[_file_index] = ((config->palette & GRFP_USE_MASK) != (_use_palette == PAL_WINDOWS)); + _palette_remap_grf[_file_index] = (config->palette & GRFP_USE_MASK); _cur_grfconfig = config; diff --git a/src/openttd.cpp b/src/openttd.cpp --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -172,10 +172,6 @@ static void ShowHelp() " -f = Fork into the background (dedicated only)\n" #endif #endif /* ENABLE_NETWORK */ - " -i palette = Force to use the DOS (0) or Windows (1) palette\n" - " (defines default setting when adding newgrfs)\n" - " Default value (2) lets OpenTTD use the palette\n" - " specified in graphics set file (see below)\n" " -I graphics_set = Force the graphics set (see below)\n" " -S sounds_set = Force the sounds set (see below)\n" " -M music_set = Force the music set (see below)\n" @@ -356,7 +352,6 @@ static const OptionData _options[] = { GETOPT_SHORT_VALUE('t'), GETOPT_SHORT_OPTVAL('d'), GETOPT_SHORT_NOVAL('e'), - GETOPT_SHORT_OPTVAL('i'), GETOPT_SHORT_OPTVAL('g'), GETOPT_SHORT_VALUE('G'), GETOPT_SHORT_VALUE('c'), @@ -457,13 +452,6 @@ int ttd_main(int argc, char *argv[]) break; } case 'e': _switch_mode = SM_EDITOR; break; - case 'i': - /* there is an argument, it is not empty, and it is exactly 1 char long */ - if (!StrEmpty(mgo.opt) && mgo.opt[1] == '\0') { - _use_palette = (PaletteType)(mgo.opt[0] - '0'); - if (_use_palette <= MAX_PAL) break; - } - usererror("Valid value for '-i' is 0, 1 or 2"); case 'g': if (mgo.opt != NULL) { strecpy(_file_to_saveload.name, mgo.opt, lastof(_file_to_saveload.name)); diff --git a/src/spritecache.cpp b/src/spritecache.cpp --- a/src/spritecache.cpp +++ b/src/spritecache.cpp @@ -20,6 +20,7 @@ #include "core/math_func.hpp" #include "table/sprites.h" +#include "table/palette_convert.h" /* Default of 4MB spritecache */ uint _sprite_cache_size = 4; @@ -237,7 +238,7 @@ static void *ReadSprite(const SpriteCach /* The data of index 0 is never used; "literal 00" according to the (New)GRF specs. */ for (int i = 1; i < RECOLOUR_SPRITE_SIZE; i++) { - dest[i] = _palette_remap[dest_tmp[_palette_reverse_remap[i - 1] + 1]]; + dest[i] = _palmap_w2d[dest_tmp[_palmap_d2w[i - 1] + 1]]; } } else { FioReadBlock(dest, num); diff --git a/src/spriteloader/grf.cpp b/src/spriteloader/grf.cpp --- a/src/spriteloader/grf.cpp +++ b/src/spriteloader/grf.cpp @@ -19,6 +19,8 @@ #include "../core/math_func.hpp" #include "grf.hpp" +extern const byte _palmap_w2d[]; + /** * We found a corrupted sprite. This means that the sprite itself * contains invalid data or is too small for the given dimensions. @@ -129,7 +131,7 @@ bool SpriteLoaderGrf::LoadSprite(SpriteL for (int x = 0; x < length; x++) { switch (sprite_type) { - case ST_NORMAL: data->m = _palette_remap_grf[file_slot] ? _palette_remap[*dest] : *dest; break; + case ST_NORMAL: data->m = _palette_remap_grf[file_slot] ? _palmap_w2d[*dest] : *dest; break; case ST_FONT: data->m = min(*dest, 2u); break; default: data->m = *dest; break; } @@ -154,7 +156,7 @@ bool SpriteLoaderGrf::LoadSprite(SpriteL for (int i = 0; i < sprite->width * sprite->height; i++) { switch (sprite_type) { - case ST_NORMAL: sprite->data[i].m = _palette_remap_grf[file_slot] ? _palette_remap[dest[i]] : dest[i]; break; + case ST_NORMAL: sprite->data[i].m = _palette_remap_grf[file_slot] ? _palmap_w2d[dest[i]] : dest[i]; break; case ST_FONT: sprite->data[i].m = min(dest[i], 2u); break; default: sprite->data[i].m = dest[i]; break; } diff --git a/src/table/palette_convert.h b/src/table/palette_convert.h --- a/src/table/palette_convert.h +++ b/src/table/palette_convert.h @@ -10,7 +10,7 @@ /** @file palette_convert.h Translation tables from one GRF to another GRF. */ /** Converting from the Windows palette to the DOS palette */ -static const byte _palmap_w2d[] = { +extern const byte _palmap_w2d[] = { 0, 1, 2, 3, 4, 5, 6, 7, // 0..7 8, 9, 10, 11, 12, 13, 14, 15, // 8..15 16, 17, 18, 19, 20, 21, 22, 23, // 16..23 @@ -46,7 +46,7 @@ static const byte _palmap_w2d[] = { }; /** Converting from the DOS palette to the Windows palette */ -extern const byte _palmap_d2w[] = { +static const byte _palmap_d2w[] = { 0, 215, 216, 136, 88, 106, 32, 33, // 0..7 40, 245, 10, 11, 12, 13, 14, 15, // 8..15 16, 17, 18, 19, 20, 21, 22, 23, // 16..23 diff --git a/src/table/palettes.h b/src/table/palettes.h --- a/src/table/palettes.h +++ b/src/table/palettes.h @@ -13,9 +13,8 @@ #define M(r, g, b) { 0xff << 24 | (r) << 16 | (g) << 8 | (b) } -static const Colour _palettes[][256] = { - /* palette 0 (mixed TTD DOS + TTD Windows palette */ - { +static const Colour _palette[256] = { + /* mixed TTD DOS + TTD Windows palette */ { 0}, M( 16, 16, 16), M( 32, 32, 32), M( 48, 48, 48), M( 65, 64, 65), M( 82, 80, 82), M( 98, 101, 98), M(115, 117, 115), M(131, 133, 131), M(148, 149, 148), M(168, 168, 168), M(184, 184, 184), @@ -80,79 +79,8 @@ static const Colour _palettes[][256] = { M(252, 228, 0), M(148, 148, 148), M( 16, 101, 115), M( 24, 109, 123), M( 32, 117, 131), M( 41, 125, 139), M( 90, 165, 189), M(115, 182, 197), M(148, 202, 222), M(180, 222, 238), M(222, 246, 255), M(252, 252, 252) - }, - - /* palette 1 (TTD Windows) */ - { - { 0}, M(212, 0, 212), M(212, 0, 212), M(212, 0, 212), - M(212, 0, 212), M(212, 0, 212), M(212, 0, 212), M(212, 0, 212), - M(212, 0, 212), M(212, 0, 212), M(168, 168, 168), M(184, 184, 184), - M(200, 200, 200), M(216, 216, 216), M(232, 232, 232), M(252, 252, 252), - M( 52, 60, 72), M( 68, 76, 92), M( 88, 96, 112), M(108, 116, 132), - M(132, 140, 152), M(156, 160, 172), M(176, 184, 196), M(204, 208, 220), - M( 48, 44, 4), M( 64, 60, 12), M( 80, 76, 20), M( 96, 92, 28), - M(120, 120, 64), M(148, 148, 100), M(176, 176, 132), M(204, 204, 168), - M(100, 100, 100), M(116, 116, 116), M(104, 80, 44), M(124, 104, 72), - M(152, 132, 92), M(184, 160, 120), M(212, 188, 148), M(244, 220, 176), - M(132, 132, 132), M( 88, 4, 16), M(112, 16, 32), M(136, 32, 52), - M(160, 56, 76), M(188, 84, 108), M(204, 104, 124), M(220, 132, 144), - M(236, 156, 164), M(252, 188, 192), M(252, 212, 0), M(252, 232, 60), - M(252, 248, 128), M( 76, 40, 0), M( 96, 60, 8), M(116, 88, 28), - M(136, 116, 56), M(156, 136, 80), M(176, 156, 108), M(196, 180, 136), - M( 68, 24, 0), M( 96, 44, 4), M(128, 68, 8), M(156, 96, 16), - M(184, 120, 24), M(212, 156, 32), M(232, 184, 16), M(252, 212, 0), - M(252, 248, 128), M(252, 252, 192), M( 32, 4, 0), M( 64, 20, 8), - M( 84, 28, 16), M(108, 44, 28), M(128, 56, 40), M(148, 72, 56), - M(168, 92, 76), M(184, 108, 88), M(196, 128, 108), M(212, 148, 128), - M( 8, 52, 0), M( 16, 64, 0), M( 32, 80, 4), M( 48, 96, 4), - M( 64, 112, 12), M( 84, 132, 20), M(104, 148, 28), M(128, 168, 44), - M( 64, 64, 64), M( 44, 68, 32), M( 60, 88, 48), M( 80, 104, 60), - M(104, 124, 76), M(128, 148, 92), M(152, 176, 108), M(180, 204, 124), - M( 16, 52, 24), M( 32, 72, 44), M( 56, 96, 72), M( 76, 116, 88), - M( 96, 136, 108), M(120, 164, 136), M(152, 192, 168), M(184, 220, 200), - M( 32, 24, 0), M( 56, 28, 0), M( 80, 80, 80), M( 88, 52, 12), - M(104, 64, 24), M(124, 84, 44), M(140, 108, 64), M(160, 128, 88), - M( 76, 40, 16), M( 96, 52, 24), M(116, 68, 40), M(136, 84, 56), - M(164, 96, 64), M(184, 112, 80), M(204, 128, 96), M(212, 148, 112), - M(224, 168, 128), M(236, 188, 148), M( 80, 28, 4), M(100, 40, 20), - M(120, 56, 40), M(140, 76, 64), M(160, 100, 96), M(184, 136, 136), - M( 36, 40, 68), M( 48, 52, 84), M( 64, 64, 100), M( 80, 80, 116), - M(100, 100, 136), M(132, 132, 164), M(172, 172, 192), M(212, 212, 224), - M( 48, 48, 48), M( 64, 44, 144), M( 88, 64, 172), M(104, 76, 196), - M(120, 88, 224), M(140, 104, 252), M(160, 136, 252), M(188, 168, 252), - M( 0, 24, 108), M( 0, 36, 132), M( 0, 52, 160), M( 0, 72, 184), - M( 0, 96, 212), M( 24, 120, 220), M( 56, 144, 232), M( 88, 168, 240), - M(128, 196, 252), M(188, 224, 252), M( 16, 64, 96), M( 24, 80, 108), - M( 40, 96, 120), M( 52, 112, 132), M( 80, 140, 160), M(116, 172, 192), - M(156, 204, 220), M(204, 240, 252), M(172, 52, 52), M(212, 52, 52), - M(252, 52, 52), M(252, 100, 88), M(252, 144, 124), M(252, 184, 160), - M(252, 216, 200), M(252, 244, 236), M( 72, 20, 112), M( 92, 44, 140), - M(112, 68, 168), M(140, 100, 196), M(168, 136, 224), M(204, 180, 252), - M(204, 180, 252), M(232, 208, 252), M( 60, 0, 0), M( 92, 0, 0), - M(128, 0, 0), M(160, 0, 0), M(196, 0, 0), M(224, 0, 0), - M(252, 0, 0), M(252, 80, 0), M(252, 108, 0), M(252, 136, 0), - M(252, 164, 0), M(252, 192, 0), M(252, 220, 0), M(252, 252, 0), - M(204, 136, 8), M(228, 144, 4), M(252, 156, 0), M(252, 176, 48), - M(252, 196, 100), M(252, 216, 152), M( 8, 24, 88), M( 12, 36, 104), - M( 20, 52, 124), M( 28, 68, 140), M( 40, 92, 164), M( 56, 120, 188), - M( 72, 152, 216), M(100, 172, 224), M( 92, 156, 52), M(108, 176, 64), - M(124, 200, 76), M(144, 224, 92), M(224, 244, 252), M(204, 240, 252), - M(180, 220, 236), M(132, 188, 216), M( 88, 152, 172), M( 16, 16, 16), - M( 32, 32, 32), M( 8, 92, 104), M( 16, 100, 112), M( 24, 108, 120), - M( 32, 116, 128), M( 44, 124, 140), M( 92, 164, 184), M(116, 180, 196), - M(148, 200, 216), M(180, 220, 232), M(216, 244, 252), M( 0, 0, 0), - M( 0, 0, 0), M( 0, 0, 0), M( 0, 0, 0), M( 0, 0, 0), - M(252, 60, 0), M(252, 80, 0), M(252, 104, 0), M(252, 128, 0), - M(252, 148, 0), M(252, 172, 0), M(252, 196, 0), M(252, 0, 0), - M(252, 0, 0), M( 0, 0, 0), M( 0, 0, 0), M( 0, 0, 0), - M(252, 228, 0), M(148, 148, 148), M(212, 0, 212), M(212, 0, 212), - M(212, 0, 212), M(212, 0, 212), M(212, 0, 212), M(212, 0, 212), - M(212, 0, 212), M(212, 0, 212), M(212, 0, 212), M(252, 252, 252) - } }; -#define GET_PALETTE(x) _palettes[x] - /** Description of the length of the palette cycle animations */ static const uint EPV_CYCLES_DARK_WATER = 5; ///< length of the dark blue water animation static const uint EPV_CYCLES_LIGHTHOUSE = 4; ///< length of the lighthouse/stadium animation @@ -207,8 +135,7 @@ static const ExtraPaletteValues _extra_p #undef M /** Colour mapping for the TextColours. */ -static const byte _string_colourmap[][17] = { - { // DOS palette. +static const byte _string_colourmap[17] = { 150, // TC_BLUE 12, // TC_SILVER 189, // TC_GOLD @@ -226,24 +153,4 @@ static const byte _string_colourmap[][17 6, // TC_GREY 133, // TC_DARK_BLUE 1, // TC_BLACK - }, - { // Windows palette. - 150, // TC_BLUE - 12, // TC_SILVER - 189, // TC_GOLD - 184, // TC_RED - 174, // TC_PURPLE - 30, // TC_LIGHT_BROWN - 195, // TC_ORANGE - 209, // TC_GREEN - 68, // TC_YELLOW - 95, // TC_DARK_GREEN - 79, // TC_CREAM - 116, // TC_BROWN - 15, // TC_WHITE - 152, // TC_LIGHT_BLUE - 32, // TC_GREY - 133, // TC_DARK_BLUE - 215, // TC_BLACK - } };