Large Menu commit
Ports 2.2's scrolling menu, port SRB2Kart Custom build Menucap cvar, register new menus
This commit is contained in:
parent
bafc9c3bd2
commit
05f1e18084
7 changed files with 281 additions and 118 deletions
|
|
@ -598,7 +598,7 @@ static inline void CL_DrawConnectionStatus(void)
|
|||
|
||||
// Draw bottom box
|
||||
M_DrawTextBox(BASEVIDWIDTH/2-128-8, BASEVIDHEIGHT-24-8, 32, 1);
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-24-24, V_YELLOWMAP, "Press ESC to abort");
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-24-24, MENUCAPS|V_YELLOWMAP, "Press ESC to abort");
|
||||
|
||||
for (i = 0; i < 16; ++i)
|
||||
V_DrawFill((BASEVIDWIDTH/2-128) + (i * 16), BASEVIDHEIGHT-24, 16, 8, palstart + ((animtime - i) & 15));
|
||||
|
|
@ -655,7 +655,7 @@ static inline void CL_DrawConnectionStatus(void)
|
|||
cltext = M_GetText("Connecting to server...");
|
||||
break;
|
||||
}
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-16-24, V_YELLOWMAP, cltext);
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-16-24, MENUCAPS|V_YELLOWMAP, cltext);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -665,7 +665,7 @@ static inline void CL_DrawConnectionStatus(void)
|
|||
INT32 checkednum = 0;
|
||||
INT32 i;
|
||||
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-24-24, V_YELLOWMAP, "Press ESC to abort");
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-24-24, MENUCAPS|V_YELLOWMAP, "Press ESC to abort");
|
||||
|
||||
//ima just count files here
|
||||
for (i = 0; i < fileneedednum; i++)
|
||||
|
|
@ -673,7 +673,7 @@ static inline void CL_DrawConnectionStatus(void)
|
|||
checkednum++;
|
||||
|
||||
// Loading progress
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-24-32, V_YELLOWMAP, "Checking server addons...");
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-24-32, MENUCAPS|V_YELLOWMAP, "Checking server addons...");
|
||||
totalfileslength = (INT32)((checkednum/(double)(fileneedednum)) * 256);
|
||||
M_DrawTextBox(BASEVIDWIDTH/2-128-8, BASEVIDHEIGHT-24-8, 32, 1);
|
||||
V_DrawFill(BASEVIDWIDTH/2-128, BASEVIDHEIGHT-24, 256, 8, 111);
|
||||
|
|
@ -687,7 +687,7 @@ static inline void CL_DrawConnectionStatus(void)
|
|||
INT32 loadcompletednum = 0;
|
||||
INT32 i;
|
||||
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-24-24, V_YELLOWMAP, "Press ESC to abort");
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-24-24, MENUCAPS|V_YELLOWMAP, "Press ESC to abort");
|
||||
|
||||
//ima just count files here
|
||||
for (i = 0; i < fileneedednum; i++)
|
||||
|
|
@ -695,12 +695,12 @@ static inline void CL_DrawConnectionStatus(void)
|
|||
loadcompletednum++;
|
||||
|
||||
// Loading progress
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-24-32, V_YELLOWMAP, "Loading server addons...");
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-24-32, MENUCAPS|V_YELLOWMAP, "Loading server addons...");
|
||||
totalfileslength = (INT32)((loadcompletednum/(double)(fileneedednum)) * 256);
|
||||
M_DrawTextBox(BASEVIDWIDTH/2-128-8, BASEVIDHEIGHT-24-8, 32, 1);
|
||||
V_DrawFill(BASEVIDWIDTH/2-128, BASEVIDHEIGHT-24, 256, 8, 111);
|
||||
V_DrawFill(BASEVIDWIDTH/2-128, BASEVIDHEIGHT-24, totalfileslength, 8, 96);
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-24, V_20TRANS|V_MONOSPACE,
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-24, MENUCAPS|V_20TRANS|V_MONOSPACE,
|
||||
va(" %2u/%2u Files",loadcompletednum,fileneedednum));
|
||||
}
|
||||
else if (lastfilenum != -1)
|
||||
|
|
@ -714,7 +714,7 @@ static inline void CL_DrawConnectionStatus(void)
|
|||
|
||||
// Draw the bottom box.
|
||||
M_DrawTextBox(BASEVIDWIDTH/2-128-8, BASEVIDHEIGHT-58-8, 32, 1);
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-58-14, V_YELLOWMAP, "Press ESC to abort");
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-58-14, MENUCAPS|V_YELLOWMAP, "Press ESC to abort");
|
||||
|
||||
Net_GetNetStat();
|
||||
dldlength = (INT32)((file->currentsize/(double)file->totalsize) * 256);
|
||||
|
|
@ -742,7 +742,7 @@ static inline void CL_DrawConnectionStatus(void)
|
|||
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-58-30, 0,
|
||||
va(M_GetText("%s downloading"), ((cl_mode == CL_DOWNLOADHTTPFILES) ? "\x82""HTTP" : "\x85""Direct")));
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-58-22, V_YELLOWMAP,
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-58-22, MENUCAPS|V_YELLOWMAP,
|
||||
va(M_GetText("\"%s\""), tempname));
|
||||
V_DrawString(BASEVIDWIDTH/2-128, BASEVIDHEIGHT-58, V_20TRANS|V_MONOSPACE,
|
||||
va(" %4uK/%4uK",fileneeded[lastfilenum].currentsize>>10,file->totalsize>>10));
|
||||
|
|
@ -756,20 +756,20 @@ static inline void CL_DrawConnectionStatus(void)
|
|||
else
|
||||
totaldldsize = downloadcompletedsize;
|
||||
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-24-14, V_YELLOWMAP, "Overall Download Progress");
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-24-14, MENUCAPS|V_YELLOWMAP, "Overall Download Progress");
|
||||
totalfileslength = (INT32)((totaldldsize/(double)totalfilesrequestedsize) * 256);
|
||||
M_DrawTextBox(BASEVIDWIDTH/2-128-8, BASEVIDHEIGHT-24-8, 32, 1);
|
||||
V_DrawFill(BASEVIDWIDTH/2-128, BASEVIDHEIGHT-24, 256, 8, 111);
|
||||
V_DrawFill(BASEVIDWIDTH/2-128, BASEVIDHEIGHT-24, totalfileslength, 8, 96);
|
||||
|
||||
if (totalfilesrequestedsize>>20 >= 10) //display in MB if over 10MB
|
||||
V_DrawString(BASEVIDWIDTH/2-128, BASEVIDHEIGHT-24, V_20TRANS|V_MONOSPACE,
|
||||
V_DrawString(BASEVIDWIDTH/2-128, BASEVIDHEIGHT-24, MENUCAPS|V_20TRANS|V_MONOSPACE,
|
||||
va(" %4uM/%4uM",totaldldsize>>20,totalfilesrequestedsize>>20));
|
||||
else
|
||||
V_DrawString(BASEVIDWIDTH/2-128, BASEVIDHEIGHT-24, V_20TRANS|V_MONOSPACE,
|
||||
V_DrawString(BASEVIDWIDTH/2-128, BASEVIDHEIGHT-24, MENUCAPS|V_20TRANS|V_MONOSPACE,
|
||||
va(" %4uK/%4uK",totaldldsize>>10,totalfilesrequestedsize>>10));
|
||||
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH/2+128, BASEVIDHEIGHT-24, V_20TRANS|V_MONOSPACE,
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH/2+128, BASEVIDHEIGHT-24, MENUCAPS|V_20TRANS|V_MONOSPACE,
|
||||
va("%2u/%2u Files ",downloadcompletednum,totalfilesrequestednum));
|
||||
}
|
||||
else
|
||||
|
|
@ -780,12 +780,12 @@ static inline void CL_DrawConnectionStatus(void)
|
|||
|
||||
//Draw bottom box
|
||||
M_DrawTextBox(BASEVIDWIDTH/2-128-8, BASEVIDHEIGHT-24-8, 32, 1);
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-24-24, V_YELLOWMAP, "Press ESC to abort");
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-24-24, MENUCAPS|V_YELLOWMAP, "Press ESC to abort");
|
||||
|
||||
for (i = 0; i < 16; ++i)
|
||||
V_DrawFill((BASEVIDWIDTH/2-128) + (i * 16), BASEVIDHEIGHT-24, 16, 8, palstart + ((animtime - i) & 15));
|
||||
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-24-32, V_YELLOWMAP,
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT-24-32, MENUCAPS|V_YELLOWMAP,
|
||||
M_GetText("Waiting to download files..."));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@
|
|||
#define ASSET_HASH_TEXTURES_KART 0xb4211b2f32b6a291
|
||||
#define ASSET_HASH_CHARS_KART 0x1e68a3e01aa5c68b
|
||||
#define ASSET_HASH_MAPS_KART 0x38558ed00da41ce9
|
||||
#define ASSET_HASH_MAIN_PK3 0x170fe375ef908e0c
|
||||
#define ASSET_HASH_MAIN_PK3 0x4a0c65e774edb643
|
||||
#define ASSET_HASH_MAPPATCH_PK3 0x16726c0303d699fb
|
||||
#ifdef USE_PATCH_FILE
|
||||
#define ASSET_HASH_PATCH_PK3 0x0000000000000000
|
||||
|
|
|
|||
|
|
@ -725,6 +725,7 @@ struct menu_routine_s const MENU_ROUTINES[] = {
|
|||
|
||||
struct menu_drawer_s const MENU_DRAWERS[] = {
|
||||
{ "DRAWGENERICMENU", &M_DrawGenericMenu },
|
||||
{ "DRAWGENERICSCROLLMENU", &M_DrawGenericScrollMenu },
|
||||
{ "DRAWCENTEREDMENU", &M_DrawCenteredMenu },
|
||||
{ "DRAWPAUSEMENU", &M_DrawPauseMenu },
|
||||
{ "DRAWCHECKLIST", &M_DrawChecklist },
|
||||
|
|
|
|||
|
|
@ -34,10 +34,12 @@ _(OP_OPENGL)
|
|||
|
||||
_(OP_SOUND)
|
||||
_(SR_SOUNDTEST)
|
||||
_(OP_SNDEFX)
|
||||
|
||||
_(OP_HUD)
|
||||
_(OP_CHAT)
|
||||
_(OP_GAMEHUD)
|
||||
_(OP_OFFSET)
|
||||
|
||||
_(OP_CAMERA)
|
||||
_(OP_P1CAMERA)
|
||||
|
|
|
|||
|
|
@ -3672,7 +3672,7 @@ static void K_GetKartBoostPower(player_t *player)
|
|||
player->speedboost = max(finalspeedboost, player->speedboost)/2;
|
||||
player->accelboost = max(finalaccelboost, player->accelboost)/2;
|
||||
}
|
||||
else if ((player->aizdriftstrat && abs((player->drift) < 5)) || (K_GetKartButtons(player) & BT_BRAKE))
|
||||
else if (K_Sliptiding(player) || (K_GetKartButtons(player) & BT_BRAKE))
|
||||
{
|
||||
player->speedboost = max(player->prevspeedboost - SPEEDBOOSTDROPOFF_BRAKE, min(player->speedboost, MAXVANILLABOOST));
|
||||
player->accelboost = finalaccelboost;
|
||||
|
|
|
|||
357
src/m_menu.c
357
src/m_menu.c
|
|
@ -368,6 +368,8 @@ consvar_t cv_dummygpdifficulty = CVAR_INIT ("dummygpdifficulty", "Normal", CV_HI
|
|||
consvar_t cv_dummygpencore = CVAR_INIT ("dummygpencore", "Off", CV_HIDEN, CV_OnOff, NULL);
|
||||
consvar_t cv_dummygpcup = CVAR_INIT ("dummygpcup", "TEMP", CV_HIDEN, dummygpcup_cons_t, NULL);
|
||||
|
||||
consvar_t cv_menucaps = CVAR_INIT ("menucaps", "Off", CV_SAVE, CV_OnOff, NULL);
|
||||
|
||||
static tic_t playback_last_menu_interaction_leveltime = 0;
|
||||
|
||||
// ==========================================================================
|
||||
|
|
@ -1885,6 +1887,7 @@ void M_Init(void)
|
|||
quitmsg[QUIT3MSG6] = M_GetText("Aww, is Eggman's Nightclub too\ndifficult for you?\n\n(Press 'Y' to quit)");
|
||||
|
||||
CV_RegisterVar(&cv_serversort);
|
||||
CV_RegisterVar(&cv_menucaps);
|
||||
}
|
||||
|
||||
void M_InitCharacterTables(void)
|
||||
|
|
@ -2054,8 +2057,8 @@ static void M_CentreText(INT32 y, const char *string)
|
|||
{
|
||||
INT32 x;
|
||||
//added : 02-02-98 : centre on 320, because V_DrawString centers on vid.width...
|
||||
x = (BASEVIDWIDTH - V_StringWidth(string, V_OLDSPACING))>>1;
|
||||
V_DrawString(x,y,V_OLDSPACING,string);
|
||||
x = (BASEVIDWIDTH - V_StringWidth(string, MENUCAPS|V_OLDSPACING))>>1;
|
||||
V_DrawString(x,y, MENUCAPS|V_OLDSPACING,string);
|
||||
}
|
||||
|
||||
//
|
||||
|
|
@ -2178,9 +2181,9 @@ void M_DrawGenericMenu(void)
|
|||
cursory = y;
|
||||
|
||||
if ((currentMenu->menuitems[i].status & IT_DISPLAY)==IT_STRING)
|
||||
V_DrawString(x, y, 0, currentMenu->menuitems[i].text);
|
||||
V_DrawString(x, y, MENUCAPS, currentMenu->menuitems[i].text);
|
||||
else
|
||||
V_DrawString(x, y, highlightflags, currentMenu->menuitems[i].text);
|
||||
V_DrawString(x, y, MENUCAPS|highlightflags, currentMenu->menuitems[i].text);
|
||||
|
||||
// Cvar specific handling
|
||||
switch (currentMenu->menuitems[i].status & IT_TYPE)
|
||||
|
|
@ -2205,7 +2208,7 @@ void M_DrawGenericMenu(void)
|
|||
default:
|
||||
w = V_StringWidth(cv->string, 0);
|
||||
V_DrawString(BASEVIDWIDTH - x - w, y,
|
||||
((cv->flags & CV_CHEAT) && !CV_IsSetToDefault(cv) ? warningflags : highlightflags), cv->string);
|
||||
((cv->flags & CV_CHEAT) && !CV_IsSetToDefault(cv) ? warningflags : highlightflags)| MENUCAPS, cv->string);
|
||||
if (i == itemOn)
|
||||
{
|
||||
V_DrawCharacter(BASEVIDWIDTH - x - 10 - w - (skullAnimCounter/5), y,
|
||||
|
|
@ -2220,7 +2223,7 @@ void M_DrawGenericMenu(void)
|
|||
y += STRINGHEIGHT;
|
||||
break;
|
||||
case IT_STRING2:
|
||||
V_DrawString(x, y, 0, currentMenu->menuitems[i].text);
|
||||
V_DrawString(x, y, MENUCAPS, currentMenu->menuitems[i].text);
|
||||
/* FALLTHRU */
|
||||
case IT_DYLITLSPACE:
|
||||
y += SMALLLINEHEIGHT;
|
||||
|
|
@ -2236,21 +2239,21 @@ void M_DrawGenericMenu(void)
|
|||
y = currentMenu->y+currentMenu->menuitems[i].alphaKey;
|
||||
/* FALLTHRU */
|
||||
case IT_TRANSTEXT2:
|
||||
V_DrawString(x, y, V_TRANSLUCENT, currentMenu->menuitems[i].text);
|
||||
V_DrawString(x, y, MENUCAPS|V_TRANSLUCENT, currentMenu->menuitems[i].text);
|
||||
y += SMALLLINEHEIGHT;
|
||||
break;
|
||||
case IT_QUESTIONMARKS:
|
||||
if (currentMenu->menuitems[i].alphaKey)
|
||||
y = currentMenu->y+currentMenu->menuitems[i].alphaKey;
|
||||
|
||||
V_DrawString(x, y, V_TRANSLUCENT|V_OLDSPACING, M_CreateSecretMenuOption(currentMenu->menuitems[i].text));
|
||||
V_DrawString(x, y, MENUCAPS|V_TRANSLUCENT|V_OLDSPACING, M_CreateSecretMenuOption(currentMenu->menuitems[i].text));
|
||||
y += SMALLLINEHEIGHT;
|
||||
break;
|
||||
case IT_HEADERTEXT: // draws 16 pixels to the left, in yellow text
|
||||
if (currentMenu->menuitems[i].alphaKey)
|
||||
y = currentMenu->y+currentMenu->menuitems[i].alphaKey;
|
||||
|
||||
V_DrawString(x-16, y, highlightflags, currentMenu->menuitems[i].text);
|
||||
V_DrawString(x-16, y, MENUCAPS|highlightflags, currentMenu->menuitems[i].text);
|
||||
y += SMALLLINEHEIGHT;
|
||||
break;
|
||||
}
|
||||
|
|
@ -2267,10 +2270,158 @@ void M_DrawGenericMenu(void)
|
|||
{
|
||||
V_DrawScaledPatch(currentMenu->x - 24, cursory, 0,
|
||||
W_CachePatchName("M_CURSOR", PU_CACHE));
|
||||
V_DrawString(currentMenu->x, cursory, highlightflags, currentMenu->menuitems[itemOn].text);
|
||||
V_DrawString(currentMenu->x, cursory, MENUCAPS|highlightflags, currentMenu->menuitems[itemOn].text);
|
||||
}
|
||||
}
|
||||
|
||||
#define scrollareaheight 72
|
||||
|
||||
// note that alphakey is multiplied by 2 for scrolling menus to allow greater usage in UINT8 range.
|
||||
void M_DrawGenericScrollMenu(void)
|
||||
{
|
||||
INT32 x, y, i, max, bottom, tempcentery, cursory = 0;
|
||||
|
||||
// DRAW MENU
|
||||
x = currentMenu->x;
|
||||
y = currentMenu->y;
|
||||
|
||||
if (currentMenu->menuitems[currentMenu->numitems-1].alphaKey < scrollareaheight)
|
||||
tempcentery = currentMenu->y; // Not tall enough to scroll, but this thinker is used in case it becomes so
|
||||
else if ((currentMenu->menuitems[itemOn].alphaKey*2 - currentMenu->menuitems[0].alphaKey*2) <= scrollareaheight)
|
||||
tempcentery = currentMenu->y - currentMenu->menuitems[0].alphaKey*2;
|
||||
else if ((currentMenu->menuitems[currentMenu->numitems-1].alphaKey*2 - currentMenu->menuitems[itemOn].alphaKey*2) <= scrollareaheight)
|
||||
tempcentery = currentMenu->y - currentMenu->menuitems[currentMenu->numitems-1].alphaKey*2 + 2*scrollareaheight;
|
||||
else
|
||||
tempcentery = currentMenu->y - currentMenu->menuitems[itemOn].alphaKey*2 + scrollareaheight;
|
||||
|
||||
for (i = 0; i < currentMenu->numitems; i++)
|
||||
{
|
||||
if (currentMenu->menuitems[i].status != IT_DISABLED && currentMenu->menuitems[i].alphaKey*2 + tempcentery >= currentMenu->y)
|
||||
break;
|
||||
}
|
||||
|
||||
for (bottom = currentMenu->numitems; bottom > 0; bottom--)
|
||||
{
|
||||
if (currentMenu->menuitems[bottom-1].status != IT_DISABLED)
|
||||
break;
|
||||
}
|
||||
|
||||
for (max = bottom; max > 0; max--)
|
||||
{
|
||||
if (currentMenu->menuitems[max-1].status != IT_DISABLED && currentMenu->menuitems[max-1].alphaKey*2 + tempcentery <= (currentMenu->y + 2*scrollareaheight))
|
||||
break;
|
||||
}
|
||||
|
||||
if (i)
|
||||
V_DrawString(currentMenu->x - 20, currentMenu->y - (skullAnimCounter/5), highlightflags, "\x1A"); // up arrow
|
||||
if (max != bottom)
|
||||
V_DrawString(currentMenu->x - 20, currentMenu->y + 2*scrollareaheight + (skullAnimCounter/5), highlightflags, "\x1B"); // down arrow
|
||||
|
||||
// draw title (or big pic)
|
||||
M_DrawMenuTitle();
|
||||
|
||||
for (; i < max; i++)
|
||||
{
|
||||
y = currentMenu->menuitems[i].alphaKey*2 + tempcentery;
|
||||
if (i == itemOn)
|
||||
cursory = y;
|
||||
switch (currentMenu->menuitems[i].status & IT_DISPLAY)
|
||||
{
|
||||
case IT_PATCH:
|
||||
case IT_DYBIGSPACE:
|
||||
case IT_BIGSLIDER:
|
||||
case IT_STRING2:
|
||||
case IT_DYLITLSPACE:
|
||||
case IT_GRAYPATCH:
|
||||
case IT_TRANSTEXT2:
|
||||
// unsupported
|
||||
break;
|
||||
case IT_NOTHING:
|
||||
break;
|
||||
case IT_STRING:
|
||||
case IT_WHITESTRING:
|
||||
if (i != itemOn && (currentMenu->menuitems[i].status & IT_DISPLAY)==IT_STRING)
|
||||
V_DrawString(x, y, MENUCAPS, currentMenu->menuitems[i].text);
|
||||
else
|
||||
V_DrawString(x, y, MENUCAPS|highlightflags, currentMenu->menuitems[i].text);
|
||||
|
||||
// Cvar specific handling
|
||||
switch (currentMenu->menuitems[i].status & IT_TYPE)
|
||||
case IT_CVAR:
|
||||
{
|
||||
consvar_t *cv = currentMenu->menuitems[i].itemaction.cvar;
|
||||
switch (currentMenu->menuitems[i].status & IT_CVARTYPE)
|
||||
{
|
||||
case IT_CV_SLIDER:
|
||||
M_DrawSlider(x, y, cv, (i == itemOn));
|
||||
case IT_CV_NOPRINT: // color use this
|
||||
case IT_CV_INVISSLIDER: // monitor toggles use this
|
||||
break;
|
||||
case IT_CV_STRING:
|
||||
#if 1
|
||||
if (y + 12 > (currentMenu->y + 2*scrollareaheight))
|
||||
break;
|
||||
M_DrawTextBox(x, y + 4, MAXSTRINGLENGTH, 1);
|
||||
V_DrawString(x + 8, y + 12, V_ALLOWLOWERCASE, cv->string);
|
||||
if (skullAnimCounter < 4 && i == itemOn)
|
||||
V_DrawCharacter(x + 8 + V_StringWidth(cv->string, 0), y + 12,
|
||||
'_' | 0x80, false);
|
||||
#else // cool new string type stuff, not ready for limelight
|
||||
if (i == itemOn)
|
||||
{
|
||||
V_DrawFill(x-2, y-1, MAXSTRINGLENGTH*8 + 4, 8+3, 159);
|
||||
V_DrawString(x, y, V_ALLOWLOWERCASE, cv->string);
|
||||
if (skullAnimCounter < 4)
|
||||
V_DrawCharacter(x + V_StringWidth(cv->string, 0), y, '_' | 0x80, false);
|
||||
}
|
||||
else
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH - x, y,
|
||||
highlightflags|V_ALLOWLOWERCASE, cv->string);
|
||||
#endif
|
||||
break;
|
||||
default:
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH - x, y,
|
||||
((cv->flags & CV_CHEAT) && !CV_IsSetToDefault(cv) ? warningflags : highlightflags)|MENUCAPS, cv->string);
|
||||
if (i == itemOn)
|
||||
{
|
||||
V_DrawCharacter(BASEVIDWIDTH - x - 10 - V_StringWidth(cv->string, 0) - (skullAnimCounter/5), y,
|
||||
'\x1C' | highlightflags, false);
|
||||
V_DrawCharacter(BASEVIDWIDTH - x + 2 + (skullAnimCounter/5), y,
|
||||
'\x1D' | highlightflags, false);
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case IT_TRANSTEXT:
|
||||
switch (currentMenu->menuitems[i].status & IT_TYPE)
|
||||
{
|
||||
case IT_PAIR:
|
||||
V_DrawString(x, y,
|
||||
MENUCAPS|V_TRANSLUCENT, currentMenu->menuitems[i].patch);
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH - x, y,
|
||||
V_TRANSLUCENT, currentMenu->menuitems[i].text);
|
||||
break;
|
||||
default:
|
||||
V_DrawString(x, y,
|
||||
MENUCAPS|V_TRANSLUCENT, currentMenu->menuitems[i].text);
|
||||
}
|
||||
break;
|
||||
case IT_QUESTIONMARKS:
|
||||
V_DrawString(x, y, MENUCAPS|V_TRANSLUCENT|V_OLDSPACING, M_CreateSecretMenuOption(currentMenu->menuitems[i].text));
|
||||
break;
|
||||
case IT_HEADERTEXT:
|
||||
V_DrawString(x-16, y, MENUCAPS|highlightflags, currentMenu->menuitems[i].text);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// DRAW THE SKULL CURSOR
|
||||
V_DrawScaledPatch(currentMenu->x - 24, cursory, 0,
|
||||
W_CachePatchName("M_CURSOR", PU_PATCH));
|
||||
}
|
||||
|
||||
void M_DrawPauseMenu(void)
|
||||
{
|
||||
#ifdef HAVE_DISCORDRPC
|
||||
|
|
@ -2344,9 +2495,9 @@ void M_DrawCenteredMenu(void)
|
|||
cursory = y;
|
||||
|
||||
if ((currentMenu->menuitems[i].status & IT_DISPLAY)==IT_STRING)
|
||||
V_DrawCenteredString(x, y, 0, currentMenu->menuitems[i].text);
|
||||
V_DrawCenteredString(x, y, MENUCAPS, currentMenu->menuitems[i].text);
|
||||
else
|
||||
V_DrawCenteredString(x, y, highlightflags, currentMenu->menuitems[i].text);
|
||||
V_DrawCenteredString(x, y, MENUCAPS|highlightflags, currentMenu->menuitems[i].text);
|
||||
|
||||
// Cvar specific handling
|
||||
switch(currentMenu->menuitems[i].status & IT_TYPE)
|
||||
|
|
@ -2368,8 +2519,8 @@ void M_DrawCenteredMenu(void)
|
|||
y += 16;
|
||||
break;
|
||||
default:
|
||||
V_DrawString(BASEVIDWIDTH - x - V_StringWidth(cv->string, 0), y,
|
||||
((cv->flags & CV_CHEAT) && !CV_IsSetToDefault(cv) ? warningflags : highlightflags), cv->string);
|
||||
V_DrawString(BASEVIDWIDTH - x - V_StringWidth(cv->string, MENUCAPS), y,
|
||||
((cv->flags & CV_CHEAT) && !CV_IsSetToDefault(cv) ? warningflags : highlightflags)|MENUCAPS, cv->string);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
|
@ -2377,7 +2528,7 @@ void M_DrawCenteredMenu(void)
|
|||
y += STRINGHEIGHT;
|
||||
break;
|
||||
case IT_STRING2:
|
||||
V_DrawCenteredString(x, y, 0, currentMenu->menuitems[i].text);
|
||||
V_DrawCenteredString(x, y, MENUCAPS, currentMenu->menuitems[i].text);
|
||||
/* FALLTHRU */
|
||||
case IT_DYLITLSPACE:
|
||||
y += SMALLLINEHEIGHT;
|
||||
|
|
@ -2386,7 +2537,7 @@ void M_DrawCenteredMenu(void)
|
|||
if (currentMenu->menuitems[i].alphaKey)
|
||||
y = currentMenu->y+currentMenu->menuitems[i].alphaKey;
|
||||
|
||||
V_DrawCenteredString(x, y, V_TRANSLUCENT|V_OLDSPACING, M_CreateSecretMenuOption(currentMenu->menuitems[i].text));
|
||||
V_DrawCenteredString(x, y, MENUCAPS|V_TRANSLUCENT|V_OLDSPACING, M_CreateSecretMenuOption(currentMenu->menuitems[i].text));
|
||||
y += SMALLLINEHEIGHT;
|
||||
break;
|
||||
case IT_GRAYPATCH:
|
||||
|
|
@ -2400,7 +2551,7 @@ void M_DrawCenteredMenu(void)
|
|||
y = currentMenu->y+currentMenu->menuitems[i].alphaKey;
|
||||
/* FALLTHRU */
|
||||
case IT_TRANSTEXT2:
|
||||
V_DrawCenteredString(x, y, V_TRANSLUCENT, currentMenu->menuitems[i].text);
|
||||
V_DrawCenteredString(x, y, MENUCAPS|V_TRANSLUCENT, currentMenu->menuitems[i].text);
|
||||
y += SMALLLINEHEIGHT;
|
||||
break;
|
||||
}
|
||||
|
|
@ -2417,14 +2568,14 @@ void M_DrawCenteredMenu(void)
|
|||
{
|
||||
V_DrawScaledPatch(x - V_StringWidth(currentMenu->menuitems[itemOn].text, 0)/2 - 24, cursory, 0,
|
||||
W_CachePatchName("M_CURSOR", PU_CACHE));
|
||||
V_DrawCenteredString(x, cursory, highlightflags, currentMenu->menuitems[itemOn].text);
|
||||
V_DrawCenteredString(x, cursory, MENUCAPS|highlightflags, currentMenu->menuitems[itemOn].text);
|
||||
}
|
||||
|
||||
if (menustack[0] == MN_MAIN)
|
||||
{
|
||||
INT32 texty = vid.height - 10*vid.dupy;
|
||||
#define addtext(f, str) {\
|
||||
V_DrawThinString(vid.dupx, texty, V_NOSCALESTART|f, str);\
|
||||
V_DrawThinString(vid.dupx, texty, MENUCAPS|V_NOSCALESTART|f, str);\
|
||||
texty -= 10*vid.dupy;\
|
||||
}
|
||||
if (customversionstring[0] != '\0')
|
||||
|
|
@ -2822,19 +2973,19 @@ void M_DrawImageDef(void)
|
|||
|
||||
if (currentMenu->menuitems[itemOn].alphaKey)
|
||||
{
|
||||
V_DrawString(2,BASEVIDHEIGHT-10, V_YELLOWMAP, va("%d", (itemOn<<1)-1)); // intentionally not highlightflags, unlike below
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH-2,BASEVIDHEIGHT-10, V_YELLOWMAP, va("%d", itemOn<<1)); // ditto
|
||||
V_DrawString(2,BASEVIDHEIGHT-10, MENUCAPS|V_YELLOWMAP, va("%d", (itemOn<<1)-1)); // intentionally not highlightflags, unlike below
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH-2,BASEVIDHEIGHT-10, MENUCAPS|V_YELLOWMAP, va("%d", itemOn<<1)); // ditto
|
||||
}
|
||||
else
|
||||
{
|
||||
INT32 x = BASEVIDWIDTH>>1, y = (BASEVIDHEIGHT>>1) - 4;
|
||||
x += (itemOn ? 1 : -1)*((BASEVIDWIDTH>>2) + 10);
|
||||
V_DrawCenteredString(x, y-10, highlightflags, "USE ARROW KEYS");
|
||||
V_DrawCenteredString(x, y-10, MENUCAPS|highlightflags, "Use arrow keys");
|
||||
V_DrawCharacter(x - 10 - (skullAnimCounter/5), y,
|
||||
'\x1C' | highlightflags, false); // left arrow
|
||||
V_DrawCharacter(x + 2 + (skullAnimCounter/5), y,
|
||||
'\x1D' | highlightflags, false); // right arrow
|
||||
V_DrawCenteredString(x, y+10, highlightflags, "TO LEAF THROUGH");
|
||||
V_DrawCenteredString(x, y+10, MENUCAPS|highlightflags, "to leaf through");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -3108,9 +3259,9 @@ void M_DrawAddons(void)
|
|||
}
|
||||
|
||||
if (Playing())
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, 5, warningflags, "Adding files mid-game may cause problems.");
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, 5, MENUCAPS|warningflags, "Adding files mid-game may cause problems.");
|
||||
else
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, 5, 0, (recommendedflags == V_SKYMAP ? LOCATIONSTRING2 : LOCATIONSTRING1));
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, 5, MENUCAPS, (recommendedflags == V_SKYMAP ? LOCATIONSTRING2 : LOCATIONSTRING1));
|
||||
|
||||
if (numwadfiles <= NUMMAINWADS)
|
||||
y = 0;
|
||||
|
|
@ -3131,7 +3282,7 @@ void M_DrawAddons(void)
|
|||
|
||||
hilicol = V_GetStringColormap(highlightflags)[0];
|
||||
|
||||
V_DrawString(x-21, (y - 16) + (lsheadingheight - 12), highlightflags|V_ALLOWLOWERCASE, M_AddonsHeaderPath());
|
||||
V_DrawString(x-21, (y - 16) + (lsheadingheight - 12), MENUCAPS|highlightflags|V_ALLOWLOWERCASE, M_AddonsHeaderPath());
|
||||
V_DrawFill(x-21, (y - 16) + (lsheadingheight - 3), MAXSTRINGLENGTH*8+6, 1, hilicol);
|
||||
V_DrawFill(x-21, (y - 16) + (lsheadingheight - 2), MAXSTRINGLENGTH*8+6, 1, 30);
|
||||
|
||||
|
|
@ -3170,7 +3321,7 @@ void M_DrawAddons(void)
|
|||
i = m - (2*numaddonsshown + 1);
|
||||
|
||||
if (i != 0)
|
||||
V_DrawString(19, y+4 - (skullAnimCounter/5), highlightflags, "\x1A");
|
||||
V_DrawString(19, y+4 - (skullAnimCounter/5), MENUCAPS|highlightflags, "\x1A");
|
||||
|
||||
if (skullAnimCounter < 4)
|
||||
flashcol = V_GetStringColormap(highlightflags);
|
||||
|
|
@ -3209,7 +3360,7 @@ void M_DrawAddons(void)
|
|||
}
|
||||
|
||||
if (m != (ssize_t)sizedirmenu)
|
||||
V_DrawString(19, y-12 + (skullAnimCounter/5), highlightflags, "\x1B");
|
||||
V_DrawString(19, y-12 + (skullAnimCounter/5), MENUCAPS|highlightflags, "\x1B");
|
||||
|
||||
y = BASEVIDHEIGHT - currentMenu->y + 1;
|
||||
|
||||
|
|
@ -3621,11 +3772,11 @@ static void DrawReplayHutReplayInfo(void)
|
|||
switch (demolist[dir_on[menudepthleft]].type)
|
||||
{
|
||||
case MD_NOTLOADED:
|
||||
V_DrawCenteredString(160, 40, V_SNAPTOTOP, "Loading replay information...");
|
||||
V_DrawCenteredString(160, 40, MENUCAPS|V_SNAPTOTOP, "Loading replay information...");
|
||||
break;
|
||||
|
||||
case MD_INVALID:
|
||||
V_DrawCenteredString(160, 40, V_SNAPTOTOP|warningflags, "This replay cannot be played.");
|
||||
V_DrawCenteredString(160, 40, MENUCAPS|V_SNAPTOTOP|warningflags, "This replay cannot be played.");
|
||||
break;
|
||||
|
||||
case MD_SUBDIR:
|
||||
|
|
@ -3662,7 +3813,7 @@ static void DrawReplayHutReplayInfo(void)
|
|||
x += 85;
|
||||
|
||||
if (demolist[dir_on[menudepthleft]].map != NEXTMAP_INVALID)
|
||||
V_DrawString(x, y, V_SNAPTOTOP, G_BuildMapTitle(demolist[dir_on[menudepthleft]].map+1));
|
||||
V_DrawString(x, y, MENUCAPS|V_SNAPTOTOP, G_BuildMapTitle(demolist[dir_on[menudepthleft]].map+1));
|
||||
else
|
||||
V_DrawString(x, y, V_SNAPTOTOP|V_ALLOWLOWERCASE|V_TRANSLUCENT, "Level is not loaded.");
|
||||
|
||||
|
|
@ -3682,12 +3833,12 @@ static void DrawReplayHutReplayInfo(void)
|
|||
break;
|
||||
}
|
||||
|
||||
V_DrawThinString(x, y+29, V_SNAPTOTOP|highlightflags, "WINNER");
|
||||
V_DrawThinString(x, y+29, MENUCAPS|V_SNAPTOTOP|highlightflags, "Winner");
|
||||
V_DrawString(x+38, y+30, V_SNAPTOTOP|V_ALLOWLOWERCASE, demolist[dir_on[menudepthleft]].standings[0].name);
|
||||
|
||||
if (demolist[dir_on[menudepthleft]].gametype == GT_RACE)
|
||||
{
|
||||
V_DrawThinString(x, y+39, V_SNAPTOTOP|highlightflags, "TIME");
|
||||
V_DrawThinString(x, y+39, MENUCAPS|V_SNAPTOTOP|highlightflags, "Time");
|
||||
V_DrawRightAlignedString(x+84, y+40, V_SNAPTOTOP, va("%d'%02d\"%02d",
|
||||
G_TicsToMinutes(demolist[dir_on[menudepthleft]].standings[0].timeorscore, true),
|
||||
G_TicsToSeconds(demolist[dir_on[menudepthleft]].standings[0].timeorscore),
|
||||
|
|
@ -3696,7 +3847,7 @@ static void DrawReplayHutReplayInfo(void)
|
|||
}
|
||||
else
|
||||
{
|
||||
V_DrawThinString(x, y+39, V_SNAPTOTOP|highlightflags, "SCORE");
|
||||
V_DrawThinString(x, y+39, MENUCAPS|V_SNAPTOTOP|highlightflags, "Score");
|
||||
V_DrawString(x+32, y+40, V_SNAPTOTOP, va("%d", demolist[dir_on[menudepthleft]].standings[0].timeorscore));
|
||||
}
|
||||
|
||||
|
|
@ -3788,9 +3939,9 @@ void M_DrawReplayHut(void)
|
|||
cursory = localy;
|
||||
|
||||
if ((currentMenu->menuitems[i].status & IT_DISPLAY)==IT_STRING)
|
||||
V_DrawString(x, localy, V_SNAPTOTOP|V_SNAPTOLEFT, currentMenu->menuitems[i].text);
|
||||
V_DrawString(x, localy, MENUCAPS|V_SNAPTOTOP|V_SNAPTOLEFT, currentMenu->menuitems[i].text);
|
||||
else
|
||||
V_DrawString(x, localy, V_SNAPTOTOP|V_SNAPTOLEFT|highlightflags, currentMenu->menuitems[i].text);
|
||||
V_DrawString(x, localy, MENUCAPS|V_SNAPTOTOP|V_SNAPTOLEFT|highlightflags, currentMenu->menuitems[i].text);
|
||||
}
|
||||
|
||||
y += currentMenu->menuitems[replaylistitem].alphaKey;
|
||||
|
|
@ -3861,7 +4012,7 @@ void M_DrawReplayHut(void)
|
|||
// Draw the cursor
|
||||
V_DrawScaledPatch(currentMenu->x - 24, cursory, V_SNAPTOTOP|V_SNAPTOLEFT,
|
||||
W_CachePatchName("M_CURSOR", PU_CACHE));
|
||||
V_DrawString(currentMenu->x, cursory, V_SNAPTOTOP|V_SNAPTOLEFT|highlightflags, currentMenu->menuitems[itemOn].text);
|
||||
V_DrawString(currentMenu->x, cursory, MENUCAPS|V_SNAPTOTOP|V_SNAPTOLEFT|highlightflags, currentMenu->menuitems[itemOn].text);
|
||||
|
||||
// Now draw some replay info!
|
||||
V_DrawFill(10, 10, 300, 60, V_SNAPTOTOP|159);
|
||||
|
|
@ -3886,11 +4037,11 @@ void M_DrawReplayStartMenu(void)
|
|||
patch_t *patch;
|
||||
UINT8 *colormap;
|
||||
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH-100, STARTY + i*20, V_SNAPTOTOP|highlightflags, va("%2d", demolist[dir_on[menudepthleft]].standings[i].ranking));
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH-100, STARTY + i*20, MENUCAPS|V_SNAPTOTOP|highlightflags, va("%2d", demolist[dir_on[menudepthleft]].standings[i].ranking));
|
||||
V_DrawThinString(BASEVIDWIDTH-96, STARTY + i*20, V_SNAPTOTOP|V_ALLOWLOWERCASE, demolist[dir_on[menudepthleft]].standings[i].name);
|
||||
|
||||
if (demolist[dir_on[menudepthleft]].standings[i].timeorscore == UINT32_MAX-1)
|
||||
V_DrawThinString(BASEVIDWIDTH-92, STARTY + i*20 + 9, V_SNAPTOTOP, "NO CONTEST");
|
||||
V_DrawThinString(BASEVIDWIDTH-92, STARTY + i*20 + 9, MENUCAPS|V_SNAPTOTOP, "No Contest");
|
||||
else if (demolist[dir_on[menudepthleft]].gametype == GT_RACE)
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH-40, STARTY + i*20 + 9, V_SNAPTOTOP, va("%d'%02d\"%02d",
|
||||
G_TicsToMinutes(demolist[dir_on[menudepthleft]].standings[i].timeorscore, true),
|
||||
|
|
@ -4584,7 +4735,7 @@ void M_DrawChecklist(void)
|
|||
++line;
|
||||
secretname = M_CreateSecretMenuOption(unlockables[i].name);
|
||||
|
||||
V_DrawString(8, (line*8), (unlockables[i].unlocked ? recommendedflags : warningflags), (secret ? secretname : unlockables[i].name));
|
||||
V_DrawString(8, (line*8), (unlockables[i].unlocked ? recommendedflags : warningflags)|MENUCAPS, (secret ? secretname : unlockables[i].name));
|
||||
|
||||
if (conditionSets[unlockables[i].conditionset - 1].numconditions)
|
||||
{
|
||||
|
|
@ -4678,7 +4829,7 @@ void M_DrawEmblemHints(void)
|
|||
break;
|
||||
}
|
||||
if (!j)
|
||||
V_DrawCenteredString(160, 48, highlightflags, "No hidden medals on this map.");
|
||||
V_DrawCenteredString(160, 48, MENUCAPS|highlightflags, "No hidden medals on this map.");
|
||||
|
||||
M_DrawGenericMenu();
|
||||
}
|
||||
|
|
@ -4721,9 +4872,9 @@ void M_DrawSkyRoom(void)
|
|||
{
|
||||
y += currentMenu->y;
|
||||
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH - currentMenu->x, y, highlightflags, cv_soundtest.string);
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH - currentMenu->x, y, MENUCAPS|highlightflags, cv_soundtest.string);
|
||||
if (cv_soundtest.value)
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH - currentMenu->x, y + 8, highlightflags, S_sfx[cv_soundtest.value].name);
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH - currentMenu->x, y + 8, MENUCAPS|highlightflags, S_sfx[cv_soundtest.value].name);
|
||||
|
||||
if (i == itemOn)
|
||||
lengthstring = V_StringWidth(cv_soundtest.string, 0);
|
||||
|
|
@ -5227,15 +5378,15 @@ static void M_DrawStatsMaps(void)
|
|||
besttime += mapheaderinfo[j]->mainrecord[preset]->time;
|
||||
}
|
||||
|
||||
V_DrawString(20, 42, highlightflags, "Combined time records:");
|
||||
V_DrawString(20, 42, MENUCAPS|highlightflags, "Combined time records:");
|
||||
|
||||
sprintf(beststr, "%i:%02i:%02i.%02i", G_TicsToHours(besttime), G_TicsToMinutes(besttime, false), G_TicsToSeconds(besttime), G_TicsToCentiseconds(besttime));
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH-16, 42, (mapsunfinished ? warningflags : 0), beststr);
|
||||
|
||||
if (mapsunfinished)
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH-16, 50, warningflags, va("(%d unfinished)", mapsunfinished));
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH-16, 50, MENUCAPS|warningflags, va("(%d unfinished)", mapsunfinished));
|
||||
else
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH-16, 50, recommendedflags, "(complete)");
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH-16, 50, MENUCAPS|recommendedflags, "(complete)");
|
||||
|
||||
V_DrawString(32, 50, 0, va("x %d/%d", M_CountEmblems(), numemblems+numextraemblems));
|
||||
V_DrawSmallScaledPatch(20, 50, 0, W_CachePatchName("GOTITA", PU_STATIC));
|
||||
|
|
@ -5253,8 +5404,8 @@ static void M_DrawStatsMaps(void)
|
|||
}
|
||||
else if (dotopname)
|
||||
{
|
||||
V_DrawString(20, y, highlightflags, "LEVEL NAME");
|
||||
V_DrawString(256, y, highlightflags, "MEDALS");
|
||||
V_DrawString(20, y, MENUCAPS|highlightflags, "Level Name");
|
||||
V_DrawString(256, y, MENUCAPS|highlightflags, "Medals");
|
||||
y += 8;
|
||||
dotopname = false;
|
||||
}
|
||||
|
|
@ -5263,11 +5414,11 @@ static void M_DrawStatsMaps(void)
|
|||
M_DrawMapEmblems(mnum+1, 295, y);
|
||||
|
||||
if (mapheaderinfo[mnum]->levelflags & LF_NOZONE)
|
||||
V_DrawString(20, y, 0, va("%s %s",
|
||||
V_DrawString(20, y, MENUCAPS, va("%s %s",
|
||||
mapheaderinfo[mnum]->lvlttl,
|
||||
mapheaderinfo[mnum]->actnum));
|
||||
else
|
||||
V_DrawString(20, y, 0, va("%s %s %s",
|
||||
V_DrawString(20, y, MENUCAPS, va("%s %s %s",
|
||||
mapheaderinfo[mnum]->lvlttl,
|
||||
(mapheaderinfo[mnum]->zonttl[0] ? mapheaderinfo[mnum]->zonttl : "Zone"),
|
||||
mapheaderinfo[mnum]->actnum));
|
||||
|
|
@ -5279,8 +5430,8 @@ static void M_DrawStatsMaps(void)
|
|||
}
|
||||
if (dotopname && !location)
|
||||
{
|
||||
V_DrawString(20, y, highlightflags, "LEVEL NAME");
|
||||
V_DrawString(256, y, highlightflags, "MEDALS");
|
||||
V_DrawString(20, y, MENUCAPS|highlightflags, "Level Name");
|
||||
V_DrawString(256, y, MENUCAPS|highlightflags, "Medals");
|
||||
y += 8;
|
||||
}
|
||||
else if (location)
|
||||
|
|
@ -5330,16 +5481,16 @@ bottomarrow:
|
|||
|
||||
#define DRAWTIMESTAT(y, title, field) { \
|
||||
char timebuf[80]; \
|
||||
V_DrawString(20, (y), highlightflags, title); \
|
||||
V_DrawString(20, (y), MENUCAPS|highlightflags, title); \
|
||||
tic_t timeval = kartstats.field; \
|
||||
snprintf(timebuf, 80, "%02i:%02i:%02i", G_TicsToHours(timeval), G_TicsToMinutes(timeval, false), G_TicsToSeconds(timeval)); \
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH-16, (y), 0, timebuf); \
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH-16, (y), MENUCAPS, timebuf); \
|
||||
}
|
||||
|
||||
#define DRAWAMOUNTSTAT(y, title, field) { \
|
||||
V_DrawString(20, (y), highlightflags, title); \
|
||||
unsigned amountval = kartstats.field; \
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH-16, (y), 0, va("%u", amountval)); \
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH-16, (y), MENUCAPS, va("%u", amountval)); \
|
||||
}
|
||||
|
||||
static void M_DrawStatsPlaytime(void)
|
||||
|
|
@ -5349,12 +5500,12 @@ static void M_DrawStatsPlaytime(void)
|
|||
G_TicsToHours(kartstats.totalplaytime),
|
||||
G_TicsToMinutes(kartstats.totalplaytime, false),
|
||||
G_TicsToSeconds(kartstats.totalplaytime)));
|
||||
V_DrawString(20, 62, highlightflags, "Total Matches:");
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH-16, 62, 0, va("%i played", kartstats.matchesplayed));
|
||||
V_DrawString(20, 62, MENUCAPS|highlightflags, "Total Matches:");
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH-16, 62, MENUCAPS, va("%i played", kartstats.matchesplayed));
|
||||
|
||||
V_DrawString(20, 82, highlightflags, "Online Power Level:");
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH-16, 92, 0, va("Race: %i", vspowerlevel[PWRLV_RACE]));
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH-16, 102, 0, va("Battle: %i", vspowerlevel[PWRLV_BATTLE]));
|
||||
V_DrawString(20, 82, MENUCAPS|highlightflags, "Online Power Level:");
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH-16, 92, MENUCAPS, va("Race: %i", vspowerlevel[PWRLV_RACE]));
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH-16, 102, MENUCAPS, va("Battle: %i", vspowerlevel[PWRLV_BATTLE]));
|
||||
|
||||
// Nothing else to draw
|
||||
if (kartstats.vanilla)
|
||||
|
|
@ -5391,7 +5542,7 @@ void M_DrawLevelStats(void)
|
|||
{
|
||||
M_DrawMenuTitle();
|
||||
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, 28, highlightflags, statsPages[statsCurrentPage].title);
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, 28, MENUCAPS|highlightflags, statsPages[statsCurrentPage].title);
|
||||
|
||||
INT32 w = V_StringWidth(statsPages[statsCurrentPage].title, highlightflags);
|
||||
V_DrawCharacter(BASEVIDWIDTH/2 - w/2 - 10 - (skullAnimCounter/5), 28,
|
||||
|
|
@ -5551,7 +5702,7 @@ static void M_DrawTimeAttackBackground(menuitem_t *item)
|
|||
INT16 x = currentMenu->x;
|
||||
INT16 y = currentMenu->y+item->alphaKey;
|
||||
consvar_t *ncv = item->itemaction.cvar;
|
||||
V_DrawString(x, y, V_TRANSLUCENT, item->text);
|
||||
V_DrawString(x, y, MENUCAPS|V_TRANSLUCENT, item->text);
|
||||
if (item->status & IT_CV_STRING)
|
||||
{
|
||||
M_DrawTextBox(x + 32, y - 8, MAXPLAYERNAME, 1);
|
||||
|
|
@ -5567,7 +5718,7 @@ static void M_DrawTimeAttackBackground(menuitem_t *item)
|
|||
soffset = 0;
|
||||
|
||||
// Should see nothing but strings
|
||||
V_DrawString(BASEVIDWIDTH - x - soffset - strw, y, highlightflags|V_TRANSLUCENT, str);
|
||||
V_DrawString(BASEVIDWIDTH - x - soffset - strw, y, MENUCAPS|highlightflags|V_TRANSLUCENT, str);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -5605,7 +5756,7 @@ void M_DrawTimeAttackMenu(void)
|
|||
if (i == itemOn)
|
||||
cursory = y;
|
||||
|
||||
V_DrawString(x, y, (dispstatus == IT_WHITESTRING) ? highlightflags : 0 , currentMenu->menuitems[i].text);
|
||||
V_DrawString(x, y, (dispstatus == IT_WHITESTRING) ? highlightflags : 0 | MENUCAPS, currentMenu->menuitems[i].text);
|
||||
|
||||
// Cvar specific handling
|
||||
if ((currentMenu->menuitems[i].status & IT_TYPE) == IT_CVAR)
|
||||
|
|
@ -5628,7 +5779,7 @@ void M_DrawTimeAttackMenu(void)
|
|||
soffset = 0;
|
||||
|
||||
// Should see nothing but strings
|
||||
V_DrawString(BASEVIDWIDTH - x - soffset - strw, y, highlightflags, str);
|
||||
V_DrawString(BASEVIDWIDTH - x - soffset - strw, y, MENUCAPS|highlightflags, str);
|
||||
|
||||
if (i == itemOn)
|
||||
{
|
||||
|
|
@ -5658,7 +5809,7 @@ void M_DrawTimeAttackMenu(void)
|
|||
|
||||
// DRAW THE SKULL CURSOR
|
||||
V_DrawScaledPatch(x - 24, cursory, 0, W_CachePatchName("M_CURSOR", PU_CACHE));
|
||||
V_DrawString(x, cursory, highlightflags, currentMenu->menuitems[itemOn].text);
|
||||
V_DrawString(x, cursory, MENUCAPS|highlightflags, currentMenu->menuitems[itemOn].text);
|
||||
|
||||
// Level record list
|
||||
if (cv_nextmap.value)
|
||||
|
|
@ -5675,11 +5826,11 @@ void M_DrawTimeAttackMenu(void)
|
|||
|
||||
if (levellistmode != LLM_ITEMBREAKER)
|
||||
{
|
||||
V_DrawRightAlignedString(149, 80, highlightflags, "BEST LAP:");
|
||||
V_DrawRightAlignedString(149, 80, MENUCAPS|highlightflags, "Best Lap:");
|
||||
K_drawKartTimestamp(lap, 19, 86, -1, 2);
|
||||
}
|
||||
|
||||
V_DrawRightAlignedString(292, 80, highlightflags, "BEST TIME:");
|
||||
V_DrawRightAlignedString(292, 80, MENUCAPS|highlightflags, "Best Time:");
|
||||
K_drawKartTimestamp(time, 162, 86, cv_nextmap.value-1, 1);
|
||||
}
|
||||
|
||||
|
|
@ -5703,7 +5854,7 @@ void M_DrawTimeAttackMenu(void)
|
|||
mode = "Custom Mode";
|
||||
}
|
||||
|
||||
V_DrawString(50, 104, V_6WIDTHSPACE, mode);
|
||||
V_DrawString(50, 104, MENUCAPS|V_6WIDTHSPACE, mode);
|
||||
}
|
||||
|
||||
// ALWAYS DRAW player name, level name, skin and color even when not on this menu!
|
||||
|
|
@ -6231,8 +6382,8 @@ void M_Refresh(INT32 choice)
|
|||
|
||||
// Display a little "please wait" message.
|
||||
M_DrawTextBox(52, BASEVIDHEIGHT/2-10, 25, 3);
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT/2, 0, "Searching for servers...");
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, (BASEVIDHEIGHT/2)+12, 0, "Please wait.");
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT/2, MENUCAPS, "Searching for servers...");
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, (BASEVIDHEIGHT/2)+12, MENUCAPS, "Please wait.");
|
||||
I_OsPolling();
|
||||
I_UpdateNoBlit();
|
||||
if (rendermode == render_soft)
|
||||
|
|
@ -6272,13 +6423,13 @@ void M_DrawConnectMenu(void)
|
|||
|
||||
// Page num
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH - currentMenu->x, currentMenu->y + M_GetItemY(MN_MP_CONNECT, "PAGE"),
|
||||
highlightflags, va("%u of %d", serverlistpage+1, numPages));
|
||||
MENUCAPS|highlightflags, va("%u of %d", serverlistpage+1, numPages));
|
||||
|
||||
// Horizontal line!
|
||||
V_DrawFill(1, currentMenu->y+32, 318, 1, 0);
|
||||
|
||||
if (serverlistcount <= 0)
|
||||
V_DrawString(currentMenu->x,currentMenu->y+SERVERHEADERHEIGHT, 0, "No servers found");
|
||||
V_DrawString(currentMenu->x,currentMenu->y+SERVERHEADERHEIGHT, MENUCAPS, "No servers found");
|
||||
else
|
||||
for (i = 0; i < min(serverlistcount - serverlistpage * serversperpage, serversperpage); i++)
|
||||
{
|
||||
|
|
@ -6336,8 +6487,8 @@ void M_DrawConnectMenu(void)
|
|||
|
||||
// Display a little "please wait" message.
|
||||
M_DrawTextBox(52, BASEVIDHEIGHT/2-10, 25, 3);
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT/2, 0, message);
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, (BASEVIDHEIGHT/2)+12, 0, "Please wait.");
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT/2, MENUCAPS, message);
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, (BASEVIDHEIGHT/2)+12, MENUCAPS, "Please wait.");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -6749,10 +6900,10 @@ void M_DrawMPMainMenu(void)
|
|||
Update the maxplayers label...
|
||||
#endif
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH-x, y+M_GetItemY(MN_MP_MAIN, "STASRV"),
|
||||
(M_IsItemOn(MN_MP_MAIN, "STASRV") ? highlightflags : 0), "(2-16 players)");
|
||||
(M_IsItemOn(MN_MP_MAIN, "STASRV") ? highlightflags : 0)|MENUCAPS, "(2-16 players)");
|
||||
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH-x, y+M_GetItemY(MN_MP_MAIN, "OFLSRV"),
|
||||
(M_IsItemOn(MN_MP_MAIN, "OFLSRV") ? highlightflags : 0),
|
||||
(M_IsItemOn(MN_MP_MAIN, "OFLSRV") ? highlightflags : 0)|MENUCAPS,
|
||||
"(2-4 players)"
|
||||
);
|
||||
|
||||
|
|
@ -6902,7 +7053,7 @@ static void M_ConnectIP(INT32 choice)
|
|||
|
||||
// A little "please wait" message.
|
||||
M_DrawTextBox(56, BASEVIDHEIGHT/2-12, 24, 2);
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT/2, 0, "Connecting to server...");
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, BASEVIDHEIGHT/2, MENUCAPS, "Connecting to server...");
|
||||
I_OsPolling();
|
||||
I_UpdateNoBlit();
|
||||
if (rendermode == render_soft)
|
||||
|
|
@ -7090,10 +7241,10 @@ void M_DrawSetupMultiPlayerMenu(void)
|
|||
|
||||
// SRB2Kart: draw the stat backer
|
||||
// labels
|
||||
V_DrawThinString(statx+16, staty, V_6WIDTHSPACE|highlightflags, "Acceleration");
|
||||
V_DrawThinString(statx+91, staty, V_6WIDTHSPACE|highlightflags, "Max Speed");
|
||||
V_DrawThinString(statx, staty+12, V_6WIDTHSPACE|highlightflags, "Handling");
|
||||
V_DrawThinString(statx+7, staty+77, V_6WIDTHSPACE|highlightflags, "Weight");
|
||||
V_DrawThinString(statx+16, staty, MENUCAPS|V_6WIDTHSPACE|highlightflags, "Acceleration");
|
||||
V_DrawThinString(statx+91, staty, MENUCAPS|V_6WIDTHSPACE|highlightflags, "Max Speed");
|
||||
V_DrawThinString(statx, staty+12, MENUCAPS|V_6WIDTHSPACE|highlightflags, "Handling");
|
||||
V_DrawThinString(statx+7, staty+77, MENUCAPS|V_6WIDTHSPACE|highlightflags, "Weight");
|
||||
// label arrows
|
||||
V_DrawFixedPatch((statx+64)<<FRACBITS, staty<<FRACBITS, FRACUNIT, 0, statlr, flashcol);
|
||||
V_DrawFixedPatch((statx+24)<<FRACBITS, (staty+22)<<FRACBITS, FRACUNIT, 0, statud, flashcol);
|
||||
|
|
@ -7950,7 +8101,7 @@ void M_DrawJoystick(void)
|
|||
#endif
|
||||
compareval = cv_usejoystick[setupcontrolplayer-1].value;
|
||||
|
||||
V_DrawString(menudefs[MN_OP_JOYSTICKSET]->x, menudefs[MN_OP_JOYSTICKSET]->y+LINEHEIGHT*i-4, (i == compareval) ? V_GREENMAP : 0, joystickInfo[i]);
|
||||
V_DrawString(menudefs[MN_OP_JOYSTICKSET]->x, menudefs[MN_OP_JOYSTICKSET]->y+LINEHEIGHT*i-4, ((i == compareval) ? V_GREENMAP : 0)|MENUCAPS, joystickInfo[i]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -8071,6 +8222,7 @@ void M_Setup1PControlsMenu(INT32 choice)
|
|||
// Set proper gamepad options
|
||||
M_SetItemRoutine(MN_OP_CHANGECONTROLS, "SETJOY", M_Setup1PJoystickMenu);
|
||||
M_SetItemCvar(MN_OP_CHANGECONTROLS, "DEADZ", &cv_deadzone[0]);
|
||||
M_SetItemCvar(MN_OP_CHANGECONTROLS, "DEAZS", &cv_deadzonestyle[0]);
|
||||
|
||||
// Unhide P1-only controls
|
||||
M_SetItemStatus(MN_OP_CHANGECONTROLS, "TALK", IT_CONTROL); // Chat
|
||||
|
|
@ -8104,6 +8256,7 @@ void M_Setup2PControlsMenu(INT32 choice)
|
|||
// Set proper gamepad options
|
||||
M_SetItemRoutine(MN_OP_CHANGECONTROLS, "SETJOY", M_Setup2PJoystickMenu);
|
||||
M_SetItemCvar(MN_OP_CHANGECONTROLS, "DEADZ", &cv_deadzone[1]);
|
||||
M_SetItemCvar(MN_OP_CHANGECONTROLS, "DEAZS", &cv_deadzonestyle[1]);
|
||||
|
||||
// Hide P1-only controls
|
||||
M_SetItemStatus(MN_OP_CHANGECONTROLS, "TALK", IT_GRAYEDOUT2); // Chat
|
||||
|
|
@ -8137,6 +8290,7 @@ void M_Setup3PControlsMenu(INT32 choice)
|
|||
// Set proper gamepad options
|
||||
M_SetItemRoutine(MN_OP_CHANGECONTROLS, "SETJOY", M_Setup3PJoystickMenu);
|
||||
M_SetItemCvar(MN_OP_CHANGECONTROLS, "DEADZ", &cv_deadzone[2]);
|
||||
M_SetItemCvar(MN_OP_CHANGECONTROLS, "DEAZS", &cv_deadzonestyle[2]);
|
||||
|
||||
// Hide P1-only controls
|
||||
M_SetItemStatus(MN_OP_CHANGECONTROLS, "TALK", IT_GRAYEDOUT2); // Chat
|
||||
|
|
@ -8170,6 +8324,7 @@ void M_Setup4PControlsMenu(INT32 choice)
|
|||
// Set proper gamepad options
|
||||
M_SetItemRoutine(MN_OP_CHANGECONTROLS, "SETJOY", M_Setup4PJoystickMenu);
|
||||
M_SetItemCvar(MN_OP_CHANGECONTROLS, "DEADZ", &cv_deadzone[3]);
|
||||
M_SetItemCvar(MN_OP_CHANGECONTROLS, "DEAZS", &cv_deadzonestyle[3]);
|
||||
|
||||
// Hide P1-only controls
|
||||
M_SetItemStatus(MN_OP_CHANGECONTROLS, "TALK", IT_GRAYEDOUT2); // Chat
|
||||
|
|
@ -8270,7 +8425,7 @@ void M_DrawControl(void)
|
|||
|
||||
if (currentMenu->menuitems[i].status == IT_CONTROL)
|
||||
{
|
||||
V_DrawString(x, y, ((i == itemOn) ? highlightflags : 0), currentMenu->menuitems[i].text);
|
||||
V_DrawString(x, y, ((i == itemOn) ? highlightflags : 0)|MENUCAPS, currentMenu->menuitems[i].text);
|
||||
|
||||
tmp[0] ='\0';
|
||||
for (iter = 0; iter < MAXINPUTMAPPING; iter++)
|
||||
|
|
@ -8291,15 +8446,15 @@ void M_DrawControl(void)
|
|||
(BASEVIDWIDTH-currentMenu->x, y, highlightflags, tmp);
|
||||
}
|
||||
/*else if (currentMenu->menuitems[i].status == IT_GRAYEDOUT2)
|
||||
V_DrawString(x, y, V_TRANSLUCENT, currentMenu->menuitems[i].text);*/
|
||||
V_DrawString(x, y, MENUCAPS|V_TRANSLUCENT, currentMenu->menuitems[i].text);*/
|
||||
else if ((currentMenu->menuitems[i].status == IT_HEADER) && (i != max-1))
|
||||
V_DrawString(13, y+6, highlightflags, currentMenu->menuitems[i].text);
|
||||
V_DrawString(13, y+6, MENUCAPS|highlightflags, currentMenu->menuitems[i].text);
|
||||
else if (currentMenu->menuitems[i].status & IT_STRING)
|
||||
{
|
||||
V_DrawString(x, y, ((i == itemOn) ? highlightflags : 0), currentMenu->menuitems[i].text);
|
||||
V_DrawString(x, y, ((i == itemOn) ? highlightflags : 0)|MENUCAPS, currentMenu->menuitems[i].text);
|
||||
if (currentMenu->menuitems[i].status & IT_CVAR)
|
||||
{
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH-currentMenu->x, y, highlightflags, currentMenu->menuitems[i].itemaction.cvar->string);
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH-currentMenu->x, y, MENUCAPS|highlightflags, currentMenu->menuitems[i].itemaction.cvar->string);
|
||||
if (i == itemOn)
|
||||
{
|
||||
w = V_StringWidth(currentMenu->menuitems[i].itemaction.cvar->string, highlightflags);
|
||||
|
|
@ -8316,7 +8471,7 @@ void M_DrawControl(void)
|
|||
if (!name) name = "?";
|
||||
w = V_StringWidth(name, highlightflags);
|
||||
(w > BASEVIDWIDTH/2 - 4 ? V_DrawRightAlignedThinString : V_DrawRightAlignedString)
|
||||
(BASEVIDWIDTH-currentMenu->x, y, highlightflags, name);
|
||||
(BASEVIDWIDTH-currentMenu->x, y, MENUCAPS|highlightflags, name);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -8545,7 +8700,7 @@ void M_DrawVideoMenu(void)
|
|||
M_DrawGenericMenu();
|
||||
|
||||
V_DrawRightAlignedString(BASEVIDWIDTH - currentMenu->x, currentMenu->y + M_GetItemY(MN_OP_VIDEO, "SETMOD"),
|
||||
(SCR_IsAspectCorrect(vid.width, vid.height) ? recommendedflags : highlightflags),
|
||||
(SCR_IsAspectCorrect(vid.width, vid.height) ? recommendedflags : highlightflags)|MENUCAPS,
|
||||
va("%dx%d", vid.width, vid.height));
|
||||
|
||||
#ifdef HWRENDER
|
||||
|
|
@ -8577,13 +8732,13 @@ void M_DrawHUDOptions(void)
|
|||
M_DrawGenericMenu();
|
||||
|
||||
x -= w0;
|
||||
V_DrawString(x, y, highlightflags, str0);
|
||||
V_DrawString(x, y, MENUCAPS|highlightflags, str0);
|
||||
x -= w1;
|
||||
V_DrawString(x, y, warningflags, str1);
|
||||
V_DrawString(x, y, MENUCAPS|warningflags, str1);
|
||||
x -= w2;
|
||||
V_DrawString(x, y, highlightflags, str2);
|
||||
V_DrawString(x, y, MENUCAPS|highlightflags, str2);
|
||||
x -= w3;
|
||||
V_DrawString(x, y, recommendedflags, str3);
|
||||
V_DrawString(x, y, MENUCAPS|recommendedflags, str3);
|
||||
V_DrawRightAlignedString(x, y, highlightflags, "(");
|
||||
}
|
||||
|
||||
|
|
@ -8596,17 +8751,17 @@ void M_DrawVideoMode(void)
|
|||
M_DrawMenuTitle();
|
||||
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, menudefs[MN_OP_VIDEOMODE]->y,
|
||||
highlightflags, "Choose mode, reselect to change default");
|
||||
MENUCAPS|highlightflags, "Choose mode, reselect to change default");
|
||||
|
||||
row = 41;
|
||||
col = menudefs[MN_OP_VIDEOMODE]->y + 14;
|
||||
for (i = 0; i < vidm_nummodes; i++)
|
||||
{
|
||||
if (i == vidm_selected)
|
||||
V_DrawString(row, col, highlightflags, modedescs[i].desc);
|
||||
V_DrawString(row, col, MENUCAPS|highlightflags, modedescs[i].desc);
|
||||
// Show multiples of 320x200 as green.
|
||||
else
|
||||
V_DrawString(row, col, (modedescs[i].goodratio) ? recommendedflags : 0, modedescs[i].desc);
|
||||
V_DrawString(row, col, MENUCAPS|(modedescs[i].goodratio) ? recommendedflags : 0, modedescs[i].desc);
|
||||
|
||||
col += 8;
|
||||
if ((i % vidm_column_size) == (vidm_column_size-1))
|
||||
|
|
@ -8644,11 +8799,11 @@ void M_DrawVideoMode(void)
|
|||
cv_scr_width.value, cv_scr_height.value));
|
||||
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, menudefs[MN_OP_VIDEOMODE]->y + 138,
|
||||
recommendedflags, "Marked modes are recommended.");
|
||||
MENUCAPS|recommendedflags, "Marked modes are recommended.");
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, menudefs[MN_OP_VIDEOMODE]->y + 146,
|
||||
highlightflags, "Other modes may have visual errors.");
|
||||
MENUCAPS|highlightflags, "Other modes may have visual errors.");
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, menudefs[MN_OP_VIDEOMODE]->y + 158,
|
||||
highlightflags, "Larger modes may have performance issues.");
|
||||
MENUCAPS|highlightflags, "Larger modes may have performance issues.");
|
||||
}
|
||||
|
||||
// Draw the cursor for the VidMode menu
|
||||
|
|
@ -8903,7 +9058,7 @@ void M_DrawMonitorToggles(void)
|
|||
if (shitsfree)
|
||||
shitsfree--;
|
||||
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, currentMenu->y, highlightflags, va("* %s *", currentMenu->menuitems[itemOn].text));
|
||||
V_DrawCenteredString(BASEVIDWIDTH/2, currentMenu->y, MENUCAPS|highlightflags, va("* %s *", currentMenu->menuitems[itemOn].text));
|
||||
}
|
||||
|
||||
void M_HandleMonitorToggles(INT32 choice)
|
||||
|
|
|
|||
|
|
@ -359,6 +359,7 @@ void M_HandleDiscordRequests(INT32 choice);
|
|||
#endif
|
||||
|
||||
void M_DrawGenericMenu(void);
|
||||
void M_DrawGenericScrollMenu(void);
|
||||
void M_DrawCenteredMenu(void);
|
||||
void M_DrawPauseMenu(void);
|
||||
void M_DrawChecklist(void);
|
||||
|
|
@ -470,6 +471,10 @@ extern consvar_t cv_dummyrings, cv_dummylives;
|
|||
extern consvar_t cv_dummymenuplayer, cv_dummyteam, cv_dummyspectate, cv_dummyscramble;
|
||||
extern consvar_t cv_dummyattackingrings, cv_dummyattackingstacking, cv_dummyattackingchaining;
|
||||
extern consvar_t cv_dummyattackingslipdash, cv_dummyattackingpurpledrift;
|
||||
|
||||
extern consvar_t cv_menucaps;
|
||||
// allow menu text to be displayed in lowercase
|
||||
#define MENUCAPS (!cv_menucaps.value ? V_ALLOWLOWERCASE : 0)
|
||||
extern CV_PossibleValue_t gametype_cons_t[];
|
||||
|
||||
extern char dummystaffname[22];
|
||||
|
|
|
|||
Loading…
Reference in a new issue