summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/newgrf.cpp14
-rw-r--r--src/table/palette_convert.h2
2 files changed, 4 insertions, 12 deletions
diff --git a/src/newgrf.cpp b/src/newgrf.cpp
index dea96f88c..842993598 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<uint32, uint32> _grf_id_overrides;
diff --git a/src/table/palette_convert.h b/src/table/palette_convert.h
index 33864f82c..ca43c6893 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