diff --git a/src/newgrf.cpp b/src/newgrf.cpp index dea96f88cc..842993598e 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -321,18 +321,10 @@ StringID MapGRFStringID(uint32 grfid, StringID str) return str; } -static uint8 MapDOSColour(uint8 colour) +static inline uint8 MapDOSColour(uint8 colour) { - if (_use_palette == PAL_DOS) return colour; - - if (colour < 10) { - static uint8 dos_to_win_colour_map[] = { 0, 215, 216, 136, 88, 106, 32, 33, 40, 245 }; - return dos_to_win_colour_map[colour]; - } - - if (colour >= 245 && colour < 254) return colour - 28; - - return colour; + extern const byte _palmap_d2w[]; + return (_use_palette == PAL_DOS ? colour : _palmap_d2w[colour]); } static std::map _grf_id_overrides; diff --git a/src/table/palette_convert.h b/src/table/palette_convert.h index 33864f82cf..ca43c6893e 100644 --- a/src/table/palette_convert.h +++ b/src/table/palette_convert.h @@ -39,7 +39,7 @@ static const byte _palmap_w2d[] = { }; /** Converting from the DOS palette to the Windows palette */ -static const byte _palmap_d2w[] = { +extern 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