diff --git a/src/deh_soc.c b/src/deh_soc.c index 218185110..b5ae3d102 100644 --- a/src/deh_soc.c +++ b/src/deh_soc.c @@ -1895,6 +1895,8 @@ static menuitemflags_t parsestyle(const char *p) else if STYLE("RIGHT", IT_RIGHT) if STYLE("HIGHLIGHT", IT_HIGHLIGHT) + else if STYLE("RECOMMENDEDHIGHLIGHT", IT_RECOMMENDEDHIGHLIGHT) + else if STYLE("WARNINGHIGHLIGHT", IT_WARNINGHIGHLIGHT) return IT_HIDDEN; #undef STYLE diff --git a/src/m_menu.c b/src/m_menu.c index a95a31d60..8c96e51ad 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -2484,6 +2484,7 @@ static INT32 M_DrawMenuItem(menuitem_t *item, INT16 x, INT16 y, INT32 vflags, bo const char *string = item->text ? item->text : ""; fixed_t scale = item->status & IT_SMALL ? FRACUNIT/2 : FRACUNIT; int font; + int colorflag; INT32 (*widthfunc)(const char *string, INT32 option); if (item->status & IT_SECRET) @@ -2537,7 +2538,16 @@ static INT32 M_DrawMenuItem(menuitem_t *item, INT16 x, INT16 y, INT32 vflags, bo else if (item->status & IT_RIGHT) width = widthfunc(string, vflags); - V_DrawStringScaled((x - width)<status & IT_HIGHLIGHT ? highlightflags : 0)|vflags, font, string); + if (item->status & IT_HIGHLIGHT) + colorflag = highlightflags; + else if (item->status & IT_RECOMMENDEDHIGHLIGHT) + colorflag = recommendedflags; + else if (item->status & IT_WARNINGHIGHLIGHT) + colorflag = warningflags; + else + colorflag = 0; + + V_DrawStringScaled((x - width)<status & (IT_SECRET|IT_GRAYEDOUT))) M_DrawRightString(item, x, y, vflags, selected); @@ -8082,12 +8092,12 @@ void M_DrawViewServer(void) if (mapnum == INT32_MIN) { - V_DrawSmallScaledPatch(10, 18, 0, W_CachePatchName("RANDOMLV", PU_CACHE)); + V_DrawSmallScaledPatch(M_GetItemX(MN_VIEWSERVER, "MAPPIC"), M_GetItemY(MN_VIEWSERVER, "MAPPIC"), 0, W_CachePatchName("RANDOMLV", PU_CACHE)); } else { fixed_t scale = M_GetMapThumbnail(mapnum, ¤t_map)/4; - V_DrawFixedPatch(10<