mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-03-21 09:51:41 +00:00
Allow the menus to overide the Escape key.
This commit is contained in:
parent
896791b209
commit
84afc458fa
3 changed files with 16 additions and 14 deletions
|
@ -139,7 +139,7 @@ void Menu_Init (void);
|
|||
void Menu_Load (void);
|
||||
void Menu_Draw (struct view_s *view);
|
||||
void Menu_Draw_Hud (struct view_s *view);
|
||||
void Menu_KeyEvent (knum_t key, short unicode, qboolean down);
|
||||
int Menu_KeyEvent (knum_t key, short unicode, qboolean down);
|
||||
void Menu_Enter (void);
|
||||
void Menu_Leave (void);
|
||||
|
||||
|
|
|
@ -460,6 +460,11 @@ C_KeyEvent (knum_t key, short unicode, qboolean down)
|
|||
if (!down)
|
||||
return;
|
||||
|
||||
if (key_dest == key_menu) {
|
||||
if (Menu_KeyEvent (key, unicode, down))
|
||||
return;
|
||||
}
|
||||
|
||||
if (down && (key == QFK_ESCAPE || unicode == '\x1b')) {
|
||||
switch (key_dest) {
|
||||
case key_menu:
|
||||
|
@ -488,11 +493,8 @@ C_KeyEvent (knum_t key, short unicode, qboolean down)
|
|||
}
|
||||
|
||||
if (key_dest == key_menu) {
|
||||
Menu_KeyEvent (key, unicode, down);
|
||||
return;
|
||||
}
|
||||
|
||||
if (key_dest == key_message) {
|
||||
} else if (key_dest == key_message) {
|
||||
if (chat_team) {
|
||||
il = say_team_line;
|
||||
} else {
|
||||
|
|
|
@ -619,14 +619,14 @@ Menu_Draw_Hud (view_t *view)
|
|||
run_menu_post ();
|
||||
}
|
||||
|
||||
void
|
||||
int
|
||||
Menu_KeyEvent (knum_t key, short unicode, qboolean down)
|
||||
{
|
||||
menu_item_t *item;
|
||||
int ret;
|
||||
|
||||
if (!menu)
|
||||
return;
|
||||
return 0;
|
||||
if (menu->keyevent) {
|
||||
run_menu_pre ();
|
||||
PR_RESET_PARAMS (&menu_pr_state);
|
||||
|
@ -637,7 +637,7 @@ Menu_KeyEvent (knum_t key, short unicode, qboolean down)
|
|||
ret = R_INT (&menu_pr_state);
|
||||
run_menu_post ();
|
||||
if (ret)
|
||||
return;
|
||||
return 1;
|
||||
} else if (menu->items && menu->items[menu->cur_item]->func
|
||||
&& menu->items[menu->cur_item]->allkeys) {
|
||||
run_menu_pre ();
|
||||
|
@ -652,21 +652,21 @@ Menu_KeyEvent (knum_t key, short unicode, qboolean down)
|
|||
ret = R_INT (&menu_pr_state);
|
||||
run_menu_post ();
|
||||
if (ret)
|
||||
return;
|
||||
return 1;
|
||||
}
|
||||
if (!menu || !menu->items)
|
||||
return;
|
||||
return 0;
|
||||
switch (key) {
|
||||
case QFK_DOWN:
|
||||
case QFM_WHEEL_DOWN:
|
||||
menu->cur_item++;
|
||||
menu->cur_item %= menu->num_items;
|
||||
break;
|
||||
return 1;
|
||||
case QFK_UP:
|
||||
case QFM_WHEEL_UP:
|
||||
menu->cur_item += menu->num_items - 1;
|
||||
menu->cur_item %= menu->num_items;
|
||||
break;
|
||||
return 1;
|
||||
case QFK_RETURN:
|
||||
case QFM_BUTTON1:
|
||||
{
|
||||
|
@ -690,9 +690,9 @@ Menu_KeyEvent (knum_t key, short unicode, qboolean down)
|
|||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
return 1;
|
||||
default:
|
||||
break;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue