diff --git a/src/openrct2/CmdlineSprite.cpp b/src/openrct2/CmdlineSprite.cpp index e1fcaa6ef0..f8d39134fa 100644 --- a/src/openrct2/CmdlineSprite.cpp +++ b/src/openrct2/CmdlineSprite.cpp @@ -36,11 +36,6 @@ struct rct_sprite_file_header assert_struct_size(rct_sprite_file_header, 8); -struct rct_sprite_file_palette_entry -{ - uint8_t b, g, r, a; -}; - struct rle_code { uint8_t num_pixels; @@ -51,15 +46,7 @@ assert_struct_size(rle_code, 2); #pragma pack(pop) -assert_struct_size(rct_sprite_file_palette_entry, 4); - -class CmdlineSprite -{ -public: - static const rct_sprite_file_palette_entry _standardPalette[256]; -}; - -static rct_sprite_file_palette_entry spriteFilePalette[256]; +static PaletteBGRA spriteFilePalette[256]; static rct_sprite_file_header spriteFileHeader; static rct_g1_element* spriteFileEntries; @@ -236,7 +223,7 @@ static bool sprite_file_export(int32_t spriteIndex, const char* outPath) dpi.pitch = 0; dpi.zoom_level = 0; - std::memcpy(spriteFilePalette, CmdlineSprite::_standardPalette, 256 * 4); + std::memcpy(spriteFilePalette, StandardPalette, 256 * sizeof(PaletteBGRA)); if (spriteHeader->flags & G1_FLAG_RLE_COMPRESSION) { @@ -707,288 +694,3 @@ int32_t cmdline_for_sprite(const char** argv, int32_t argc) return 1; } } - -const rct_sprite_file_palette_entry CmdlineSprite::_standardPalette[256] = { - // 0 (unused) - { 0, 0, 0, 255 }, - - // 1 - 9 (misc. e.g. font and water) - { 0, 0, 0, 255 }, - { 0, 0, 0, 255 }, - { 0, 0, 0, 255 }, - { 0, 0, 0, 255 }, - { 0, 0, 0, 255 }, - { 0, 0, 0, 255 }, - { 0, 0, 0, 255 }, - { 0, 0, 0, 255 }, - { 0, 0, 0, 255 }, - - // - { 35, 35, 23, 255 }, - { 51, 51, 35, 255 }, - { 67, 67, 47, 255 }, - { 83, 83, 63, 255 }, - { 99, 99, 75, 255 }, - { 115, 115, 91, 255 }, - { 131, 131, 111, 255 }, - { 151, 151, 131, 255 }, - { 175, 175, 159, 255 }, - { 195, 195, 183, 255 }, - { 219, 219, 211, 255 }, - { 243, 243, 239, 255 }, - { 0, 47, 51, 255 }, - { 0, 59, 63, 255 }, - { 11, 75, 79, 255 }, - { 19, 91, 91, 255 }, - { 31, 107, 107, 255 }, - { 47, 123, 119, 255 }, - { 59, 139, 135, 255 }, - { 79, 155, 151, 255 }, - { 95, 175, 167, 255 }, - { 115, 191, 187, 255 }, - { 139, 207, 203, 255 }, - { 163, 227, 223, 255 }, - { 7, 43, 67, 255 }, - { 11, 59, 87, 255 }, - { 23, 75, 111, 255 }, - { 31, 87, 127, 255 }, - { 39, 99, 143, 255 }, - { 51, 115, 159, 255 }, - { 67, 131, 179, 255 }, - { 87, 151, 191, 255 }, - { 111, 175, 203, 255 }, - { 135, 199, 219, 255 }, - { 163, 219, 231, 255 }, - { 195, 239, 247, 255 }, - { 0, 27, 71, 255 }, - { 0, 43, 95, 255 }, - { 0, 63, 119, 255 }, - { 7, 83, 143, 255 }, - { 7, 111, 167, 255 }, - { 15, 139, 191, 255 }, - { 19, 167, 215, 255 }, - { 27, 203, 243, 255 }, - { 47, 231, 255, 255 }, - { 95, 243, 255, 255 }, - { 143, 251, 255, 255 }, - { 195, 255, 255, 255 }, - { 0, 0, 35, 255 }, - { 0, 0, 79, 255 }, - { 7, 7, 95, 255 }, - { 15, 15, 111, 255 }, - { 27, 27, 127, 255 }, - { 39, 39, 143, 255 }, - { 59, 59, 163, 255 }, - { 79, 79, 179, 255 }, - { 103, 103, 199, 255 }, - { 127, 127, 215, 255 }, - { 159, 159, 235, 255 }, - { 191, 191, 255, 255 }, - { 19, 51, 27, 255 }, - { 23, 63, 35, 255 }, - { 31, 79, 47, 255 }, - { 39, 95, 59, 255 }, - { 43, 111, 71, 255 }, - { 51, 127, 87, 255 }, - { 59, 143, 99, 255 }, - { 67, 155, 115, 255 }, - { 75, 171, 131, 255 }, - { 83, 187, 147, 255 }, - { 95, 203, 163, 255 }, - { 103, 219, 183, 255 }, - { 27, 55, 31, 255 }, - { 35, 71, 47, 255 }, - { 43, 83, 59, 255 }, - { 55, 99, 75, 255 }, - { 67, 111, 91, 255 }, - { 79, 135, 111, 255 }, - { 95, 159, 135, 255 }, - { 111, 183, 159, 255 }, - { 127, 207, 183, 255 }, - { 147, 219, 195, 255 }, - { 167, 231, 207, 255 }, - { 191, 247, 223, 255 }, - { 0, 63, 15, 255 }, - { 0, 83, 19, 255 }, - { 0, 103, 23, 255 }, - { 0, 123, 31, 255 }, - { 7, 143, 39, 255 }, - { 23, 159, 55, 255 }, - { 39, 175, 71, 255 }, - { 63, 191, 91, 255 }, - { 87, 207, 111, 255 }, - { 115, 223, 139, 255 }, - { 143, 239, 163, 255 }, - { 179, 255, 195, 255 }, - { 19, 43, 79, 255 }, - { 27, 55, 99, 255 }, - { 43, 71, 119, 255 }, - { 59, 87, 139, 255 }, - { 67, 99, 167, 255 }, - { 83, 115, 187, 255 }, - { 99, 131, 207, 255 }, - { 115, 151, 215, 255 }, - { 131, 171, 227, 255 }, - { 151, 191, 239, 255 }, - { 171, 207, 247, 255 }, - { 195, 227, 255, 255 }, - { 55, 19, 15, 255 }, - { 87, 43, 39, 255 }, - { 103, 55, 51, 255 }, - { 119, 67, 63, 255 }, - { 139, 83, 83, 255 }, - { 155, 99, 99, 255 }, - { 175, 119, 119, 255 }, - { 191, 139, 139, 255 }, - { 207, 159, 159, 255 }, - { 223, 183, 183, 255 }, - { 239, 211, 211, 255 }, - { 255, 239, 239, 255 }, - { 111, 27, 0, 255 }, - { 151, 39, 0, 255 }, - { 167, 51, 7, 255 }, - { 187, 67, 15, 255 }, - { 203, 83, 27, 255 }, - { 223, 103, 43, 255 }, - { 227, 135, 67, 255 }, - { 231, 163, 91, 255 }, - { 239, 187, 119, 255 }, - { 243, 211, 143, 255 }, - { 251, 231, 175, 255 }, - { 255, 247, 215, 255 }, - { 15, 43, 11, 255 }, - { 23, 55, 15, 255 }, - { 31, 71, 23, 255 }, - { 43, 83, 35, 255 }, - { 59, 99, 47, 255 }, - { 75, 115, 59, 255 }, - { 95, 135, 79, 255 }, - { 119, 155, 99, 255 }, - { 139, 175, 123, 255 }, - { 167, 199, 147, 255 }, - { 195, 219, 175, 255 }, - { 223, 243, 207, 255 }, - { 95, 0, 63, 255 }, - { 115, 7, 75, 255 }, - { 127, 15, 83, 255 }, - { 143, 31, 95, 255 }, - { 155, 43, 107, 255 }, - { 171, 63, 123, 255 }, - { 187, 83, 135, 255 }, - { 199, 103, 155, 255 }, - { 215, 127, 171, 255 }, - { 231, 155, 191, 255 }, - { 243, 195, 215, 255 }, - { 255, 235, 243, 255 }, - { 0, 0, 63, 255 }, - { 0, 0, 87, 255 }, - { 0, 0, 115, 255 }, - { 0, 0, 143, 255 }, - { 0, 0, 171, 255 }, - { 0, 0, 199, 255 }, - { 0, 7, 227, 255 }, - { 0, 7, 255, 255 }, - { 67, 79, 255, 255 }, - { 115, 123, 255, 255 }, - { 163, 171, 255, 255 }, - { 215, 219, 255, 255 }, - { 0, 39, 79, 255 }, - { 0, 51, 111, 255 }, - { 0, 63, 147, 255 }, - { 0, 71, 183, 255 }, - { 0, 79, 219, 255 }, - { 0, 83, 255, 255 }, - { 23, 111, 255, 255 }, - { 51, 139, 255, 255 }, - { 79, 163, 255, 255 }, - { 107, 183, 255, 255 }, - { 135, 203, 255, 255 }, - { 163, 219, 255, 255 }, - { 47, 51, 0, 255 }, - { 55, 63, 0, 255 }, - { 67, 75, 0, 255 }, - { 79, 87, 0, 255 }, - { 99, 107, 7, 255 }, - { 119, 127, 23, 255 }, - { 143, 147, 43, 255 }, - { 163, 167, 71, 255 }, - { 187, 187, 99, 255 }, - { 207, 207, 131, 255 }, - { 231, 231, 171, 255 }, - { 255, 255, 207, 255 }, - - // 203 - 214 (Secondary remap) - { 27, 0, 63, 255 }, - { 51, 0, 103, 255 }, - { 63, 11, 123, 255 }, - { 79, 23, 143, 255 }, - { 95, 31, 163, 255 }, - { 111, 39, 183, 255 }, - { 143, 59, 219, 255 }, - { 171, 91, 239, 255 }, - { 187, 119, 243, 255 }, - { 203, 151, 247, 255 }, - { 223, 183, 251, 255 }, - { 239, 215, 255, 255 }, - - // 214 - 225 (Brown) - { 0, 19, 39, 255 }, - { 7, 31, 55, 255 }, - { 15, 47, 71, 255 }, - { 31, 63, 91, 255 }, - { 51, 83, 107, 255 }, - { 75, 103, 123, 255 }, - { 107, 127, 143, 255 }, - { 127, 147, 163, 255 }, - { 147, 171, 187, 255 }, - { 171, 195, 207, 255 }, - { 195, 219, 231, 255 }, - { 223, 243, 255, 255 }, - - // 226 (unknown) - { 75, 75, 55, 255 }, - - // 227 - 229 (tertiary remap) - { 0, 183, 255, 255 }, - { 0, 219, 255, 255 }, - { 0, 255, 255, 255 }, - - // 230 - 239 (water) - { 99, 107, 7, 255 }, - { 99, 107, 7, 255 }, - { 135, 143, 39, 255 }, - { 123, 131, 27, 255 }, - { 99, 107, 7, 255 }, - { 151, 155, 55, 255 }, - { 151, 155, 55, 255 }, - { 227, 227, 155, 255 }, - { 203, 203, 115, 255 }, - { 151, 155, 55, 255 }, - - // 240 - 242 (chain lift) - { 91, 91, 67, 255 }, - { 107, 107, 83, 255 }, - { 123, 123, 99, 255 }, - - // Old 243 - 245, changed to nice shade remap below - // { 47, 47, 47, 255 }, - // { 47, 47, 47, 255 }, - // { 47, 71, 87, 255 }, - - // 243 to 254 (primary remap) - { 47, 51, 111, 255 }, - { 47, 55, 131, 255 }, - { 51, 63, 151, 255 }, - { 51, 67, 171, 255 }, - { 47, 75, 191, 255 }, - { 43, 79, 211, 255 }, - { 35, 87, 231, 255 }, - { 31, 95, 255, 255 }, - { 39, 127, 255, 255 }, - { 51, 155, 255, 255 }, - { 63, 183, 255, 255 }, - { 75, 207, 255, 255 }, - - // 255 (unused?) - { 0, 0, 0, 255 } -}; diff --git a/src/openrct2/drawing/ImageImporter.cpp b/src/openrct2/drawing/ImageImporter.cpp index 5b9a573aec..5b5ea5c6d2 100644 --- a/src/openrct2/drawing/ImageImporter.cpp +++ b/src/openrct2/drawing/ImageImporter.cpp @@ -355,288 +355,3 @@ int32_t ImageImporter::GetClosestPaletteIndex(const PaletteBGRA* palette, const } return bestMatch; } - -const PaletteBGRA ImageImporter::StandardPalette[256] = { - // 0 (unused) - { 0, 0, 0, 255 }, - - // 1 - 9 (misc. e.g. font and water) - { 0, 0, 0, 255 }, - { 0, 0, 0, 255 }, - { 0, 0, 0, 255 }, - { 0, 0, 0, 255 }, - { 0, 0, 0, 255 }, - { 0, 0, 0, 255 }, - { 0, 0, 0, 255 }, - { 0, 0, 0, 255 }, - { 0, 0, 0, 255 }, - - // - { 35, 35, 23, 255 }, - { 51, 51, 35, 255 }, - { 67, 67, 47, 255 }, - { 83, 83, 63, 255 }, - { 99, 99, 75, 255 }, - { 115, 115, 91, 255 }, - { 131, 131, 111, 255 }, - { 151, 151, 131, 255 }, - { 175, 175, 159, 255 }, - { 195, 195, 183, 255 }, - { 219, 219, 211, 255 }, - { 243, 243, 239, 255 }, - { 0, 47, 51, 255 }, - { 0, 59, 63, 255 }, - { 11, 75, 79, 255 }, - { 19, 91, 91, 255 }, - { 31, 107, 107, 255 }, - { 47, 123, 119, 255 }, - { 59, 139, 135, 255 }, - { 79, 155, 151, 255 }, - { 95, 175, 167, 255 }, - { 115, 191, 187, 255 }, - { 139, 207, 203, 255 }, - { 163, 227, 223, 255 }, - { 7, 43, 67, 255 }, - { 11, 59, 87, 255 }, - { 23, 75, 111, 255 }, - { 31, 87, 127, 255 }, - { 39, 99, 143, 255 }, - { 51, 115, 159, 255 }, - { 67, 131, 179, 255 }, - { 87, 151, 191, 255 }, - { 111, 175, 203, 255 }, - { 135, 199, 219, 255 }, - { 163, 219, 231, 255 }, - { 195, 239, 247, 255 }, - { 0, 27, 71, 255 }, - { 0, 43, 95, 255 }, - { 0, 63, 119, 255 }, - { 7, 83, 143, 255 }, - { 7, 111, 167, 255 }, - { 15, 139, 191, 255 }, - { 19, 167, 215, 255 }, - { 27, 203, 243, 255 }, - { 47, 231, 255, 255 }, - { 95, 243, 255, 255 }, - { 143, 251, 255, 255 }, - { 195, 255, 255, 255 }, - { 0, 0, 35, 255 }, - { 0, 0, 79, 255 }, - { 7, 7, 95, 255 }, - { 15, 15, 111, 255 }, - { 27, 27, 127, 255 }, - { 39, 39, 143, 255 }, - { 59, 59, 163, 255 }, - { 79, 79, 179, 255 }, - { 103, 103, 199, 255 }, - { 127, 127, 215, 255 }, - { 159, 159, 235, 255 }, - { 191, 191, 255, 255 }, - { 19, 51, 27, 255 }, - { 23, 63, 35, 255 }, - { 31, 79, 47, 255 }, - { 39, 95, 59, 255 }, - { 43, 111, 71, 255 }, - { 51, 127, 87, 255 }, - { 59, 143, 99, 255 }, - { 67, 155, 115, 255 }, - { 75, 171, 131, 255 }, - { 83, 187, 147, 255 }, - { 95, 203, 163, 255 }, - { 103, 219, 183, 255 }, - { 27, 55, 31, 255 }, - { 35, 71, 47, 255 }, - { 43, 83, 59, 255 }, - { 55, 99, 75, 255 }, - { 67, 111, 91, 255 }, - { 79, 135, 111, 255 }, - { 95, 159, 135, 255 }, - { 111, 183, 159, 255 }, - { 127, 207, 183, 255 }, - { 147, 219, 195, 255 }, - { 167, 231, 207, 255 }, - { 191, 247, 223, 255 }, - { 0, 63, 15, 255 }, - { 0, 83, 19, 255 }, - { 0, 103, 23, 255 }, - { 0, 123, 31, 255 }, - { 7, 143, 39, 255 }, - { 23, 159, 55, 255 }, - { 39, 175, 71, 255 }, - { 63, 191, 91, 255 }, - { 87, 207, 111, 255 }, - { 115, 223, 139, 255 }, - { 143, 239, 163, 255 }, - { 179, 255, 195, 255 }, - { 19, 43, 79, 255 }, - { 27, 55, 99, 255 }, - { 43, 71, 119, 255 }, - { 59, 87, 139, 255 }, - { 67, 99, 167, 255 }, - { 83, 115, 187, 255 }, - { 99, 131, 207, 255 }, - { 115, 151, 215, 255 }, - { 131, 171, 227, 255 }, - { 151, 191, 239, 255 }, - { 171, 207, 247, 255 }, - { 195, 227, 255, 255 }, - { 55, 19, 15, 255 }, - { 87, 43, 39, 255 }, - { 103, 55, 51, 255 }, - { 119, 67, 63, 255 }, - { 139, 83, 83, 255 }, - { 155, 99, 99, 255 }, - { 175, 119, 119, 255 }, - { 191, 139, 139, 255 }, - { 207, 159, 159, 255 }, - { 223, 183, 183, 255 }, - { 239, 211, 211, 255 }, - { 255, 239, 239, 255 }, - { 111, 27, 0, 255 }, - { 151, 39, 0, 255 }, - { 167, 51, 7, 255 }, - { 187, 67, 15, 255 }, - { 203, 83, 27, 255 }, - { 223, 103, 43, 255 }, - { 227, 135, 67, 255 }, - { 231, 163, 91, 255 }, - { 239, 187, 119, 255 }, - { 243, 211, 143, 255 }, - { 251, 231, 175, 255 }, - { 255, 247, 215, 255 }, - { 15, 43, 11, 255 }, - { 23, 55, 15, 255 }, - { 31, 71, 23, 255 }, - { 43, 83, 35, 255 }, - { 59, 99, 47, 255 }, - { 75, 115, 59, 255 }, - { 95, 135, 79, 255 }, - { 119, 155, 99, 255 }, - { 139, 175, 123, 255 }, - { 167, 199, 147, 255 }, - { 195, 219, 175, 255 }, - { 223, 243, 207, 255 }, - { 95, 0, 63, 255 }, - { 115, 7, 75, 255 }, - { 127, 15, 83, 255 }, - { 143, 31, 95, 255 }, - { 155, 43, 107, 255 }, - { 171, 63, 123, 255 }, - { 187, 83, 135, 255 }, - { 199, 103, 155, 255 }, - { 215, 127, 171, 255 }, - { 231, 155, 191, 255 }, - { 243, 195, 215, 255 }, - { 255, 235, 243, 255 }, - { 0, 0, 63, 255 }, - { 0, 0, 87, 255 }, - { 0, 0, 115, 255 }, - { 0, 0, 143, 255 }, - { 0, 0, 171, 255 }, - { 0, 0, 199, 255 }, - { 0, 7, 227, 255 }, - { 0, 7, 255, 255 }, - { 67, 79, 255, 255 }, - { 115, 123, 255, 255 }, - { 163, 171, 255, 255 }, - { 215, 219, 255, 255 }, - { 0, 39, 79, 255 }, - { 0, 51, 111, 255 }, - { 0, 63, 147, 255 }, - { 0, 71, 183, 255 }, - { 0, 79, 219, 255 }, - { 0, 83, 255, 255 }, - { 23, 111, 255, 255 }, - { 51, 139, 255, 255 }, - { 79, 163, 255, 255 }, - { 107, 183, 255, 255 }, - { 135, 203, 255, 255 }, - { 163, 219, 255, 255 }, - { 47, 51, 0, 255 }, - { 55, 63, 0, 255 }, - { 67, 75, 0, 255 }, - { 79, 87, 0, 255 }, - { 99, 107, 7, 255 }, - { 119, 127, 23, 255 }, - { 143, 147, 43, 255 }, - { 163, 167, 71, 255 }, - { 187, 187, 99, 255 }, - { 207, 207, 131, 255 }, - { 231, 231, 171, 255 }, - { 255, 255, 207, 255 }, - - // 203 - 214 (Secondary remap) - { 27, 0, 63, 255 }, - { 51, 0, 103, 255 }, - { 63, 11, 123, 255 }, - { 79, 23, 143, 255 }, - { 95, 31, 163, 255 }, - { 111, 39, 183, 255 }, - { 143, 59, 219, 255 }, - { 171, 91, 239, 255 }, - { 187, 119, 243, 255 }, - { 203, 151, 247, 255 }, - { 223, 183, 251, 255 }, - { 239, 215, 255, 255 }, - - // 214 - 225 (Brown) - { 0, 19, 39, 255 }, - { 7, 31, 55, 255 }, - { 15, 47, 71, 255 }, - { 31, 63, 91, 255 }, - { 51, 83, 107, 255 }, - { 75, 103, 123, 255 }, - { 107, 127, 143, 255 }, - { 127, 147, 163, 255 }, - { 147, 171, 187, 255 }, - { 171, 195, 207, 255 }, - { 195, 219, 231, 255 }, - { 223, 243, 255, 255 }, - - // 226 (unknown) - { 75, 75, 55, 255 }, - - // 227 - 229 (tertiary remap) - { 0, 183, 255, 255 }, - { 0, 219, 255, 255 }, - { 0, 255, 255, 255 }, - - // 230 - 239 (water) - { 99, 107, 7, 255 }, - { 99, 107, 7, 255 }, - { 135, 143, 39, 255 }, - { 123, 131, 27, 255 }, - { 99, 107, 7, 255 }, - { 151, 155, 55, 255 }, - { 151, 155, 55, 255 }, - { 227, 227, 155, 255 }, - { 203, 203, 115, 255 }, - { 151, 155, 55, 255 }, - - // 240 - 242 (chain lift) - { 91, 91, 67, 255 }, - { 107, 107, 83, 255 }, - { 123, 123, 99, 255 }, - - // Old 243 - 245, changed to nice shade remap below - // { 47, 47, 47, 255 }, - // { 47, 47, 47, 255 }, - // { 47, 71, 87, 255 }, - - // 243 to 254 (primary remap) - { 47, 51, 111, 255 }, - { 47, 55, 131, 255 }, - { 51, 63, 151, 255 }, - { 51, 67, 171, 255 }, - { 47, 75, 191, 255 }, - { 43, 79, 211, 255 }, - { 35, 87, 231, 255 }, - { 31, 95, 255, 255 }, - { 39, 127, 255, 255 }, - { 51, 155, 255, 255 }, - { 63, 183, 255, 255 }, - { 75, 207, 255, 255 }, - - // 255 (unused?) - { 0, 0, 0, 255 }, -}; diff --git a/src/openrct2/drawing/ImageImporter.h b/src/openrct2/drawing/ImageImporter.h index 8355799a58..88d67230c4 100644 --- a/src/openrct2/drawing/ImageImporter.h +++ b/src/openrct2/drawing/ImageImporter.h @@ -51,8 +51,6 @@ namespace OpenRCT2::Drawing IMPORT_MODE mode = IMPORT_MODE::DEFAULT) const; private: - static const PaletteBGRA StandardPalette[256]; - static std::vector GetPixels( const uint8_t* pixels, uint32_t width, uint32_t height, IMPORT_FLAGS flags, IMPORT_MODE mode); static std::tuple EncodeRaw(const int32_t* pixels, uint32_t width, uint32_t height); @@ -66,3 +64,288 @@ namespace OpenRCT2::Drawing static int32_t GetClosestPaletteIndex(const PaletteBGRA* palette, const int16_t* colour); }; } // namespace OpenRCT2::Drawing + +constexpr const PaletteBGRA StandardPalette[256] = { + // 0 (unused) + { 0, 0, 0, 255 }, + + // 1 - 9 (misc. e.g. font and water) + { 0, 0, 0, 255 }, + { 0, 0, 0, 255 }, + { 0, 0, 0, 255 }, + { 0, 0, 0, 255 }, + { 0, 0, 0, 255 }, + { 0, 0, 0, 255 }, + { 0, 0, 0, 255 }, + { 0, 0, 0, 255 }, + { 0, 0, 0, 255 }, + + // + { 35, 35, 23, 255 }, + { 51, 51, 35, 255 }, + { 67, 67, 47, 255 }, + { 83, 83, 63, 255 }, + { 99, 99, 75, 255 }, + { 115, 115, 91, 255 }, + { 131, 131, 111, 255 }, + { 151, 151, 131, 255 }, + { 175, 175, 159, 255 }, + { 195, 195, 183, 255 }, + { 219, 219, 211, 255 }, + { 243, 243, 239, 255 }, + { 0, 47, 51, 255 }, + { 0, 59, 63, 255 }, + { 11, 75, 79, 255 }, + { 19, 91, 91, 255 }, + { 31, 107, 107, 255 }, + { 47, 123, 119, 255 }, + { 59, 139, 135, 255 }, + { 79, 155, 151, 255 }, + { 95, 175, 167, 255 }, + { 115, 191, 187, 255 }, + { 139, 207, 203, 255 }, + { 163, 227, 223, 255 }, + { 7, 43, 67, 255 }, + { 11, 59, 87, 255 }, + { 23, 75, 111, 255 }, + { 31, 87, 127, 255 }, + { 39, 99, 143, 255 }, + { 51, 115, 159, 255 }, + { 67, 131, 179, 255 }, + { 87, 151, 191, 255 }, + { 111, 175, 203, 255 }, + { 135, 199, 219, 255 }, + { 163, 219, 231, 255 }, + { 195, 239, 247, 255 }, + { 0, 27, 71, 255 }, + { 0, 43, 95, 255 }, + { 0, 63, 119, 255 }, + { 7, 83, 143, 255 }, + { 7, 111, 167, 255 }, + { 15, 139, 191, 255 }, + { 19, 167, 215, 255 }, + { 27, 203, 243, 255 }, + { 47, 231, 255, 255 }, + { 95, 243, 255, 255 }, + { 143, 251, 255, 255 }, + { 195, 255, 255, 255 }, + { 0, 0, 35, 255 }, + { 0, 0, 79, 255 }, + { 7, 7, 95, 255 }, + { 15, 15, 111, 255 }, + { 27, 27, 127, 255 }, + { 39, 39, 143, 255 }, + { 59, 59, 163, 255 }, + { 79, 79, 179, 255 }, + { 103, 103, 199, 255 }, + { 127, 127, 215, 255 }, + { 159, 159, 235, 255 }, + { 191, 191, 255, 255 }, + { 19, 51, 27, 255 }, + { 23, 63, 35, 255 }, + { 31, 79, 47, 255 }, + { 39, 95, 59, 255 }, + { 43, 111, 71, 255 }, + { 51, 127, 87, 255 }, + { 59, 143, 99, 255 }, + { 67, 155, 115, 255 }, + { 75, 171, 131, 255 }, + { 83, 187, 147, 255 }, + { 95, 203, 163, 255 }, + { 103, 219, 183, 255 }, + { 27, 55, 31, 255 }, + { 35, 71, 47, 255 }, + { 43, 83, 59, 255 }, + { 55, 99, 75, 255 }, + { 67, 111, 91, 255 }, + { 79, 135, 111, 255 }, + { 95, 159, 135, 255 }, + { 111, 183, 159, 255 }, + { 127, 207, 183, 255 }, + { 147, 219, 195, 255 }, + { 167, 231, 207, 255 }, + { 191, 247, 223, 255 }, + { 0, 63, 15, 255 }, + { 0, 83, 19, 255 }, + { 0, 103, 23, 255 }, + { 0, 123, 31, 255 }, + { 7, 143, 39, 255 }, + { 23, 159, 55, 255 }, + { 39, 175, 71, 255 }, + { 63, 191, 91, 255 }, + { 87, 207, 111, 255 }, + { 115, 223, 139, 255 }, + { 143, 239, 163, 255 }, + { 179, 255, 195, 255 }, + { 19, 43, 79, 255 }, + { 27, 55, 99, 255 }, + { 43, 71, 119, 255 }, + { 59, 87, 139, 255 }, + { 67, 99, 167, 255 }, + { 83, 115, 187, 255 }, + { 99, 131, 207, 255 }, + { 115, 151, 215, 255 }, + { 131, 171, 227, 255 }, + { 151, 191, 239, 255 }, + { 171, 207, 247, 255 }, + { 195, 227, 255, 255 }, + { 55, 19, 15, 255 }, + { 87, 43, 39, 255 }, + { 103, 55, 51, 255 }, + { 119, 67, 63, 255 }, + { 139, 83, 83, 255 }, + { 155, 99, 99, 255 }, + { 175, 119, 119, 255 }, + { 191, 139, 139, 255 }, + { 207, 159, 159, 255 }, + { 223, 183, 183, 255 }, + { 239, 211, 211, 255 }, + { 255, 239, 239, 255 }, + { 111, 27, 0, 255 }, + { 151, 39, 0, 255 }, + { 167, 51, 7, 255 }, + { 187, 67, 15, 255 }, + { 203, 83, 27, 255 }, + { 223, 103, 43, 255 }, + { 227, 135, 67, 255 }, + { 231, 163, 91, 255 }, + { 239, 187, 119, 255 }, + { 243, 211, 143, 255 }, + { 251, 231, 175, 255 }, + { 255, 247, 215, 255 }, + { 15, 43, 11, 255 }, + { 23, 55, 15, 255 }, + { 31, 71, 23, 255 }, + { 43, 83, 35, 255 }, + { 59, 99, 47, 255 }, + { 75, 115, 59, 255 }, + { 95, 135, 79, 255 }, + { 119, 155, 99, 255 }, + { 139, 175, 123, 255 }, + { 167, 199, 147, 255 }, + { 195, 219, 175, 255 }, + { 223, 243, 207, 255 }, + { 95, 0, 63, 255 }, + { 115, 7, 75, 255 }, + { 127, 15, 83, 255 }, + { 143, 31, 95, 255 }, + { 155, 43, 107, 255 }, + { 171, 63, 123, 255 }, + { 187, 83, 135, 255 }, + { 199, 103, 155, 255 }, + { 215, 127, 171, 255 }, + { 231, 155, 191, 255 }, + { 243, 195, 215, 255 }, + { 255, 235, 243, 255 }, + { 0, 0, 63, 255 }, + { 0, 0, 87, 255 }, + { 0, 0, 115, 255 }, + { 0, 0, 143, 255 }, + { 0, 0, 171, 255 }, + { 0, 0, 199, 255 }, + { 0, 7, 227, 255 }, + { 0, 7, 255, 255 }, + { 67, 79, 255, 255 }, + { 115, 123, 255, 255 }, + { 163, 171, 255, 255 }, + { 215, 219, 255, 255 }, + { 0, 39, 79, 255 }, + { 0, 51, 111, 255 }, + { 0, 63, 147, 255 }, + { 0, 71, 183, 255 }, + { 0, 79, 219, 255 }, + { 0, 83, 255, 255 }, + { 23, 111, 255, 255 }, + { 51, 139, 255, 255 }, + { 79, 163, 255, 255 }, + { 107, 183, 255, 255 }, + { 135, 203, 255, 255 }, + { 163, 219, 255, 255 }, + { 47, 51, 0, 255 }, + { 55, 63, 0, 255 }, + { 67, 75, 0, 255 }, + { 79, 87, 0, 255 }, + { 99, 107, 7, 255 }, + { 119, 127, 23, 255 }, + { 143, 147, 43, 255 }, + { 163, 167, 71, 255 }, + { 187, 187, 99, 255 }, + { 207, 207, 131, 255 }, + { 231, 231, 171, 255 }, + { 255, 255, 207, 255 }, + + // 203 - 214 (Secondary remap) + { 27, 0, 63, 255 }, + { 51, 0, 103, 255 }, + { 63, 11, 123, 255 }, + { 79, 23, 143, 255 }, + { 95, 31, 163, 255 }, + { 111, 39, 183, 255 }, + { 143, 59, 219, 255 }, + { 171, 91, 239, 255 }, + { 187, 119, 243, 255 }, + { 203, 151, 247, 255 }, + { 223, 183, 251, 255 }, + { 239, 215, 255, 255 }, + + // 214 - 225 (Brown) + { 0, 19, 39, 255 }, + { 7, 31, 55, 255 }, + { 15, 47, 71, 255 }, + { 31, 63, 91, 255 }, + { 51, 83, 107, 255 }, + { 75, 103, 123, 255 }, + { 107, 127, 143, 255 }, + { 127, 147, 163, 255 }, + { 147, 171, 187, 255 }, + { 171, 195, 207, 255 }, + { 195, 219, 231, 255 }, + { 223, 243, 255, 255 }, + + // 226 (unknown) + { 75, 75, 55, 255 }, + + // 227 - 229 (tertiary remap) + { 0, 183, 255, 255 }, + { 0, 219, 255, 255 }, + { 0, 255, 255, 255 }, + + // 230 - 239 (water) + { 99, 107, 7, 255 }, + { 99, 107, 7, 255 }, + { 135, 143, 39, 255 }, + { 123, 131, 27, 255 }, + { 99, 107, 7, 255 }, + { 151, 155, 55, 255 }, + { 151, 155, 55, 255 }, + { 227, 227, 155, 255 }, + { 203, 203, 115, 255 }, + { 151, 155, 55, 255 }, + + // 240 - 242 (chain lift) + { 91, 91, 67, 255 }, + { 107, 107, 83, 255 }, + { 123, 123, 99, 255 }, + + // Old 243 - 245, changed to nice shade remap below + // { 47, 47, 47, 255 }, + // { 47, 47, 47, 255 }, + // { 47, 71, 87, 255 }, + + // 243 to 254 (primary remap) + { 47, 51, 111, 255 }, + { 47, 55, 131, 255 }, + { 51, 63, 151, 255 }, + { 51, 67, 171, 255 }, + { 47, 75, 191, 255 }, + { 43, 79, 211, 255 }, + { 35, 87, 231, 255 }, + { 31, 95, 255, 255 }, + { 39, 127, 255, 255 }, + { 51, 155, 255, 255 }, + { 63, 183, 255, 255 }, + { 75, 207, 255, 255 }, + + // 255 (unused?) + { 0, 0, 0, 255 }, +};