Fold mapthumbnail into IT_PATCH block
This commit is contained in:
parent
1d600210fa
commit
018c008f79
1 changed files with 25 additions and 34 deletions
59
src/m_menu.c
59
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<<FRACBITS, y<<FRACBITS, scale, 0, current_map, cmap);
|
||||
return scale;
|
||||
}
|
||||
|
||||
switch (item->status & ITF_MASK)
|
||||
{
|
||||
case ITF_THIN2:
|
||||
|
|
|
|||
Loading…
Reference in a new issue