From 018c008f793180e2561409aed04e2f0caa4457b7 Mon Sep 17 00:00:00 2001 From: NepDisk Date: Fri, 20 Jun 2025 12:25:34 -0400 Subject: [PATCH] Fold mapthumbnail into IT_PATCH block --- src/m_menu.c | 59 ++++++++++++++++++++++------------------------------ 1 file changed, 25 insertions(+), 34 deletions(-) diff --git a/src/m_menu.c b/src/m_menu.c index 895e49647..3774840dc 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -2495,15 +2495,34 @@ static INT32 M_DrawMenuItem(menuitem_t *item, INT16 x, INT16 y, INT32 vflags, bo else if (item->status & IT_GRAYEDOUT) vflags |= V_TRANSLUCENT; - // draw a patch instead of a string? - if (item->status & IT_PATCH) + // draw a patch or map thumbnail instead of a string? + if (item->status & IT_PATCH || item->status & IT_MAPTHUMBNAIL) { - if (!item->patch) - return 0; - - patch_t *p = W_CachePatchName(item->patch, PU_CACHE); + patch_t *p = NULL; UINT8 *cmap = NULL; + if (item->status & IT_MAPTHUMBNAIL) + { + INT32 mapnum = item->argument; + + if (mapnum == INT32_MIN) + { + scale = FRACUNIT/2; + p = W_CachePatchName("RANDOMLV", PU_CACHE); + } + else + { + scale = M_GetMapThumbnail(mapnum, &p)/4; + } + } + else + { + if (!item->patch) + return 0; + + p = W_CachePatchName(item->patch, PU_CACHE); + } + if (item->status & IT_CENTER) width = SHORT(p->width)/2; else if (item->status & IT_RIGHT) @@ -2520,34 +2539,6 @@ static INT32 M_DrawMenuItem(menuitem_t *item, INT16 x, INT16 y, INT32 vflags, bo return width; } - if (item->status & IT_MAPTHUMBNAIL) - { - INT32 mapnum = item->argument; - UINT8 *cmap = NULL; - patch_t *current_map; - fixed_t scale; - - if (mapnum == INT32_MIN) - { - scale = FRACUNIT/2; - current_map = W_CachePatchName("RANDOMLV", PU_CACHE); - } - else - { - scale = M_GetMapThumbnail(mapnum, ¤t_map)/4; - } - - if (item->status & IT_HIGHLIGHT) - cmap = V_GetStringColormap(highlightflags); - else if (item->status & IT_RECOMMENDEDHIGHLIGHT) - cmap = V_GetStringColormap(recommendedflags); - else if (item->status & IT_WARNINGHIGHLIGHT) - cmap = V_GetStringColormap(warningflags); - - V_DrawFixedPatch(x<status & ITF_MASK) { case ITF_THIN2: