M_DrawMenuTyping: On Virtual Keyboard, highlight when system button presses occour

- A
- B/X
- C
- Start
This commit is contained in:
toaster 2023-05-21 00:14:11 +01:00
parent 04d87bfb6c
commit a0f0c83975

View file

@ -374,6 +374,8 @@ static void M_DrawMenuTooltips(void)
// Draws the typing submenu // Draws the typing submenu
static void M_DrawMenuTyping(void) static void M_DrawMenuTyping(void)
{ {
const UINT8 pid = 0;
INT32 i, j; INT32 i, j;
INT32 x, y; INT32 x, y;
@ -459,11 +461,19 @@ static void M_DrawMenuTyping(void)
col = 25; col = 25;
} }
boolean canmodifycol = (menutyping.menutypingfade == 18);
if (c == KEY_BACKSPACE) if (c == KEY_BACKSPACE)
{ {
arrowoffset = 1; arrowoffset = 1;
buf[0] = '\x1C'; // left arrow buf[0] = '\x1C'; // left arrow
buf[1] = '\0'; buf[1] = '\0';
if (canmodifycol && M_MenuBackHeld(pid))
{
col -= 4;
canmodifycol = false;
}
} }
else if (c == KEY_RSHIFT) else if (c == KEY_RSHIFT)
{ {
@ -475,10 +485,22 @@ static void M_DrawMenuTyping(void)
{ {
col = 22; col = 22;
} }
if (canmodifycol && M_MenuExtraHeld(pid))
{
col -= 4;
canmodifycol = false;
}
} }
else if (c == KEY_ENTER) else if (c == KEY_ENTER)
{ {
strcpy(buf, "OK"); strcpy(buf, "OK");
if (menutyping.menutypingclose)
{
col -= 4;
canmodifycol = false;
}
} }
else if (c == KEY_SPACE) else if (c == KEY_SPACE)
{ {
@ -501,6 +523,12 @@ static void M_DrawMenuTyping(void)
{ {
if (tempkeyboardx == j && menutyping.keyboardy == i) if (tempkeyboardx == j && menutyping.keyboardy == i)
{ {
if (canmodifycol && M_MenuConfirmHeld(pid))
{
col -= 4;
canmodifycol = false;
}
V_DrawFill(x + 1, y + 1, width - 2, BUTTONHEIGHT - 2, col - 3); V_DrawFill(x + 1, y + 1, width - 2, BUTTONHEIGHT - 2, col - 3);
V_DrawFill(x, y, width, 1, 121); V_DrawFill(x, y, width, 1, 121);