summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gfx.cpp7
-rw-r--r--src/table/palettes.h57
2 files changed, 43 insertions, 21 deletions
diff --git a/src/gfx.cpp b/src/gfx.cpp
index 8797c7739..f00ee5361 100644
--- a/src/gfx.cpp
+++ b/src/gfx.cpp
@@ -652,10 +652,11 @@ int DoDrawString(const char *string, int x, int y, uint16 real_color)
switch_color:;
if (real_color & IS_PALETTE_COLOR) {
_string_colorremap[1] = color;
- _string_colorremap[2] = 215;
+ _string_colorremap[2] = _use_dos_palette ? 1 : 215;
} else {
- _string_colorremap[1] = _string_colormap[color].text;
- _string_colorremap[2] = _string_colormap[color].shadow;
+ uint palette = _use_dos_palette ? 1 : 0;
+ _string_colorremap[1] = _string_colormap[palette][color].text;
+ _string_colorremap[2] = _string_colormap[palette][color].shadow;
}
_color_remap_ptr = _string_colorremap;
}
diff --git a/src/table/palettes.h b/src/table/palettes.h
index dd69085c7..d1bff7cb6 100644
--- a/src/table/palettes.h
+++ b/src/table/palettes.h
@@ -178,22 +178,43 @@ struct StringColor {
byte shadow;
};
-static const StringColor _string_colormap[] = {
- { 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
+static const StringColor _string_colormap[][17] = {
+ { /* Windows palette. */
+ { 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
+ },
+ { /* DOS palette. */
+ { 150, 1 }, // BLUE
+ { 12, 1 }, // SILVER
+ { 189, 1 }, // GOLD
+ { 184, 1 }, // RED
+ { 174, 1 }, // PURPLE
+ { 30, 1 }, // LTBROWN
+ { 195, 1 }, // ORANGE
+ { 209, 1 }, // GREEN
+ { 68, 1 }, // YELLOW
+ { 95, 1 }, // DKGREEN
+ { 79, 1 }, // CREAM
+ { 116, 1 }, // BROWN
+ { 15, 1 }, // WHITE
+ { 152, 1 }, // LTBLUE
+ { 6, 1 }, // GRAY
+ { 133, 1 }, // DKBLUE
+ { 1, 0 }, // BLACK
+ }
};