diff --git a/src/console.c b/src/console.c index 8af560b365f5bd5249b75ac3238adac86479cdab..f8fa1314a7085179a8b99be769dad3fb9b186347 100644 --- a/src/console.c +++ b/src/console.c @@ -613,15 +613,6 @@ void CON_Ticker(void) con_tick++; con_tick &= 7; - // if the menu is open then close the console. - if (menuactive && con_destlines) - { - consoletoggle = false; - con_destlines = 0; - CON_ClearHUD(); - I_UpdateMouseGrab(); - } - // console key was pushed if (consoletoggle) { @@ -793,7 +784,7 @@ boolean CON_Responder(event_t *ev) // check other keys only if console prompt is active if (!consoleready && key < NUMINPUTS) // metzgermeister: boundary check!! { - if (bindtable[key]) + if (! menuactive && bindtable[key]) { COM_BufAddText(bindtable[key]); COM_BufAddText("\n"); diff --git a/src/d_main.c b/src/d_main.c index 904ab3bf13046f37984752acf4ac34cccc648d8b..f8727433f06b8b16109efac78b768980b03b8b4b 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -508,13 +508,11 @@ static void D_Display(void) // vid size change is now finished if it was on... vid.recalc = 0; - // FIXME: draw either console or menu, not the two - if (gamestate != GS_TIMEATTACK) - CON_Drawer(); - M_Drawer(); // menu is drawn even on top of everything // focus lost moved to M_Drawer + CON_Drawer(); + // // wipe update // diff --git a/src/m_menu.c b/src/m_menu.c index 945ce3de0bfb4e10725c7b00d4d97b42a8fa7c11..403d3a0361a11efd0975e44aae3c1af5eec9f31a 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -3153,6 +3153,9 @@ boolean M_Responder(event_t *ev) if (gamestate == GS_TITLESCREEN && finalecount < TICRATE) return false; + if (CON_Ready()) + return false; + if (noFurtherInput) { // Ignore input after enter/escape/other buttons @@ -3512,6 +3515,7 @@ boolean M_Responder(event_t *ev) return false; default: + CON_Responder(ev); break; }