From d5d40b322c206ca2945b4c670f1dd5e2a089bc35 Mon Sep 17 00:00:00 2001 From: nhmall Date: Fri, 5 Sep 2025 16:38:56 -0400 Subject: [PATCH] fix broken Windows GUI ascii mode text color Issue identified in https://github.com/NetHack/NetHack/issues/1359 Resolves #1359 --- win/win32/mhmap.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/win/win32/mhmap.c b/win/win32/mhmap.c index d5e6b116e..46a7ee1d0 100644 --- a/win/win32/mhmap.c +++ b/win/win32/mhmap.c @@ -982,13 +982,12 @@ paintGlyph(PNHMapWindow data, int i, int j, RECT * rect) ch = glyphinfo->gm.u->utf32ch; } #endif - if ((glyphinfo->gm.customcolor & NH_BASIC_COLOR) == 0) { - rgbcolor = RGB((glyphinfo->gm.customcolor >> 16) & 0xFF, - (glyphinfo->gm.customcolor >> 8) & 0xFF, - (glyphinfo->gm.customcolor >> 0) & 0xFF); - } else { - color = (int) COLORVAL(glyphinfo->gm.customcolor); - rgbcolor = nhcolor_to_RGB(color); + if (glyphinfo->gm.customcolor != 0 + && (mswin_procs.wincap2 & WC2_EXTRACOLORS) != 0) { + if ((glyphinfo->gm.customcolor & NH_BASIC_COLOR) != 0) { + color = (int) COLORVAL(glyphinfo->gm.customcolor); + rgbcolor = nhcolor_to_RGB(color); + } } if (((data->map[i][j].gm.glyphflags & MG_PET) && iflags.hilite_pet) || ((data->map[i][j].gm.glyphflags & (MG_DETECT | MG_BW_LAVA