Fix the "help computer" keybinding option; some whitespace cleanup.
This commit is contained in:
parent
1f71e22486
commit
e78a18c5ca
|
@ -30,251 +30,251 @@
|
||||||
/* these are the key numbers that should be passed to Key_Event
|
/* these are the key numbers that should be passed to Key_Event
|
||||||
they must be mached by the low level key event processing! */
|
they must be mached by the low level key event processing! */
|
||||||
enum QKEYS {
|
enum QKEYS {
|
||||||
K_TAB = 9,
|
K_TAB = 9,
|
||||||
K_ENTER = 13,
|
K_ENTER = 13,
|
||||||
K_ESCAPE = 27,
|
K_ESCAPE = 27,
|
||||||
K_SPACE = 32,
|
K_SPACE = 32,
|
||||||
|
|
||||||
K_BACKSPACE = 127,
|
K_BACKSPACE = 127,
|
||||||
|
|
||||||
K_COMMAND = 128,
|
K_COMMAND = 128,
|
||||||
K_CAPSLOCK,
|
K_CAPSLOCK,
|
||||||
K_POWER,
|
K_POWER,
|
||||||
K_PAUSE,
|
K_PAUSE,
|
||||||
|
|
||||||
K_UPARROW,
|
K_UPARROW,
|
||||||
K_DOWNARROW,
|
K_DOWNARROW,
|
||||||
K_LEFTARROW,
|
K_LEFTARROW,
|
||||||
K_RIGHTARROW,
|
K_RIGHTARROW,
|
||||||
|
|
||||||
K_ALT,
|
K_ALT,
|
||||||
K_CTRL,
|
K_CTRL,
|
||||||
K_SHIFT,
|
K_SHIFT,
|
||||||
K_INS,
|
K_INS,
|
||||||
K_DEL,
|
K_DEL,
|
||||||
K_PGDN,
|
K_PGDN,
|
||||||
K_PGUP,
|
K_PGUP,
|
||||||
K_HOME,
|
K_HOME,
|
||||||
K_END,
|
K_END,
|
||||||
|
|
||||||
K_F1,
|
K_F1,
|
||||||
K_F2,
|
K_F2,
|
||||||
K_F3,
|
K_F3,
|
||||||
K_F4,
|
K_F4,
|
||||||
K_F5,
|
K_F5,
|
||||||
K_F6,
|
K_F6,
|
||||||
K_F7,
|
K_F7,
|
||||||
K_F8,
|
K_F8,
|
||||||
K_F9,
|
K_F9,
|
||||||
K_F10,
|
K_F10,
|
||||||
K_F11,
|
K_F11,
|
||||||
K_F12,
|
K_F12,
|
||||||
K_F13,
|
K_F13,
|
||||||
K_F14,
|
K_F14,
|
||||||
K_F15,
|
K_F15,
|
||||||
|
|
||||||
K_KP_HOME,
|
K_KP_HOME,
|
||||||
K_KP_UPARROW,
|
K_KP_UPARROW,
|
||||||
K_KP_PGUP,
|
K_KP_PGUP,
|
||||||
K_KP_LEFTARROW,
|
K_KP_LEFTARROW,
|
||||||
K_KP_5,
|
K_KP_5,
|
||||||
K_KP_RIGHTARROW,
|
K_KP_RIGHTARROW,
|
||||||
K_KP_END,
|
K_KP_END,
|
||||||
K_KP_DOWNARROW,
|
K_KP_DOWNARROW,
|
||||||
K_KP_PGDN,
|
K_KP_PGDN,
|
||||||
K_KP_ENTER,
|
K_KP_ENTER,
|
||||||
K_KP_INS,
|
K_KP_INS,
|
||||||
K_KP_DEL,
|
K_KP_DEL,
|
||||||
K_KP_SLASH,
|
K_KP_SLASH,
|
||||||
K_KP_MINUS,
|
K_KP_MINUS,
|
||||||
K_KP_PLUS,
|
K_KP_PLUS,
|
||||||
K_KP_NUMLOCK,
|
K_KP_NUMLOCK,
|
||||||
K_KP_STAR,
|
K_KP_STAR,
|
||||||
K_KP_EQUALS,
|
K_KP_EQUALS,
|
||||||
|
|
||||||
K_MOUSE1,
|
K_MOUSE1,
|
||||||
K_MOUSE2,
|
K_MOUSE2,
|
||||||
K_MOUSE3,
|
K_MOUSE3,
|
||||||
K_MOUSE4,
|
K_MOUSE4,
|
||||||
K_MOUSE5,
|
K_MOUSE5,
|
||||||
|
|
||||||
K_MWHEELDOWN,
|
K_MWHEELDOWN,
|
||||||
K_MWHEELUP,
|
K_MWHEELUP,
|
||||||
|
|
||||||
K_JOY1,
|
K_JOY1,
|
||||||
K_JOY2,
|
K_JOY2,
|
||||||
K_JOY3,
|
K_JOY3,
|
||||||
K_JOY4,
|
K_JOY4,
|
||||||
K_JOY5,
|
K_JOY5,
|
||||||
K_JOY6,
|
K_JOY6,
|
||||||
K_JOY7,
|
K_JOY7,
|
||||||
K_JOY8,
|
K_JOY8,
|
||||||
K_JOY9,
|
K_JOY9,
|
||||||
K_JOY10,
|
K_JOY10,
|
||||||
K_JOY11,
|
K_JOY11,
|
||||||
K_JOY12,
|
K_JOY12,
|
||||||
K_JOY13,
|
K_JOY13,
|
||||||
K_JOY14,
|
K_JOY14,
|
||||||
K_JOY15,
|
K_JOY15,
|
||||||
K_JOY16,
|
K_JOY16,
|
||||||
K_JOY17,
|
K_JOY17,
|
||||||
K_JOY18,
|
K_JOY18,
|
||||||
K_JOY19,
|
K_JOY19,
|
||||||
K_JOY20,
|
K_JOY20,
|
||||||
K_JOY21,
|
K_JOY21,
|
||||||
K_JOY22,
|
K_JOY22,
|
||||||
K_JOY23,
|
K_JOY23,
|
||||||
K_JOY24,
|
K_JOY24,
|
||||||
K_JOY25,
|
K_JOY25,
|
||||||
K_JOY26,
|
K_JOY26,
|
||||||
K_JOY27,
|
K_JOY27,
|
||||||
K_JOY28,
|
K_JOY28,
|
||||||
K_JOY29,
|
K_JOY29,
|
||||||
K_JOY30,
|
K_JOY30,
|
||||||
K_JOY31,
|
K_JOY31,
|
||||||
K_JOY32,
|
K_JOY32,
|
||||||
|
|
||||||
K_AUX1,
|
K_AUX1,
|
||||||
K_AUX2,
|
K_AUX2,
|
||||||
K_AUX3,
|
K_AUX3,
|
||||||
K_AUX4,
|
K_AUX4,
|
||||||
K_AUX5,
|
K_AUX5,
|
||||||
K_AUX6,
|
K_AUX6,
|
||||||
K_AUX7,
|
K_AUX7,
|
||||||
K_AUX8,
|
K_AUX8,
|
||||||
K_AUX9,
|
K_AUX9,
|
||||||
K_AUX10,
|
K_AUX10,
|
||||||
K_AUX11,
|
K_AUX11,
|
||||||
K_AUX12,
|
K_AUX12,
|
||||||
K_AUX13,
|
K_AUX13,
|
||||||
K_AUX14,
|
K_AUX14,
|
||||||
K_AUX15,
|
K_AUX15,
|
||||||
K_AUX16,
|
K_AUX16,
|
||||||
K_AUX17,
|
K_AUX17,
|
||||||
K_AUX18,
|
K_AUX18,
|
||||||
K_AUX19,
|
K_AUX19,
|
||||||
K_AUX20,
|
K_AUX20,
|
||||||
K_AUX21,
|
K_AUX21,
|
||||||
K_AUX22,
|
K_AUX22,
|
||||||
K_AUX23,
|
K_AUX23,
|
||||||
K_AUX24,
|
K_AUX24,
|
||||||
K_AUX25,
|
K_AUX25,
|
||||||
K_AUX26,
|
K_AUX26,
|
||||||
K_AUX27,
|
K_AUX27,
|
||||||
K_AUX28,
|
K_AUX28,
|
||||||
K_AUX29,
|
K_AUX29,
|
||||||
K_AUX30,
|
K_AUX30,
|
||||||
K_AUX31,
|
K_AUX31,
|
||||||
K_AUX32,
|
K_AUX32,
|
||||||
|
|
||||||
K_WORLD_0,
|
K_WORLD_0,
|
||||||
K_WORLD_1,
|
K_WORLD_1,
|
||||||
K_WORLD_2,
|
K_WORLD_2,
|
||||||
K_WORLD_3,
|
K_WORLD_3,
|
||||||
K_WORLD_4,
|
K_WORLD_4,
|
||||||
K_WORLD_5,
|
K_WORLD_5,
|
||||||
K_WORLD_6,
|
K_WORLD_6,
|
||||||
K_WORLD_7,
|
K_WORLD_7,
|
||||||
K_WORLD_8,
|
K_WORLD_8,
|
||||||
K_WORLD_9,
|
K_WORLD_9,
|
||||||
K_WORLD_10,
|
K_WORLD_10,
|
||||||
K_WORLD_11,
|
K_WORLD_11,
|
||||||
K_WORLD_12,
|
K_WORLD_12,
|
||||||
K_WORLD_13,
|
K_WORLD_13,
|
||||||
K_WORLD_14,
|
K_WORLD_14,
|
||||||
K_WORLD_15,
|
K_WORLD_15,
|
||||||
K_WORLD_16,
|
K_WORLD_16,
|
||||||
K_WORLD_17,
|
K_WORLD_17,
|
||||||
K_WORLD_18,
|
K_WORLD_18,
|
||||||
K_WORLD_19,
|
K_WORLD_19,
|
||||||
K_WORLD_20,
|
K_WORLD_20,
|
||||||
K_WORLD_21,
|
K_WORLD_21,
|
||||||
K_WORLD_22,
|
K_WORLD_22,
|
||||||
K_WORLD_23,
|
K_WORLD_23,
|
||||||
K_WORLD_24,
|
K_WORLD_24,
|
||||||
K_WORLD_25,
|
K_WORLD_25,
|
||||||
K_WORLD_26,
|
K_WORLD_26,
|
||||||
K_WORLD_27,
|
K_WORLD_27,
|
||||||
K_WORLD_28,
|
K_WORLD_28,
|
||||||
K_WORLD_29,
|
K_WORLD_29,
|
||||||
K_WORLD_30,
|
K_WORLD_30,
|
||||||
K_WORLD_31,
|
K_WORLD_31,
|
||||||
K_WORLD_32,
|
K_WORLD_32,
|
||||||
K_WORLD_33,
|
K_WORLD_33,
|
||||||
K_WORLD_34,
|
K_WORLD_34,
|
||||||
K_WORLD_35,
|
K_WORLD_35,
|
||||||
K_WORLD_36,
|
K_WORLD_36,
|
||||||
K_WORLD_37,
|
K_WORLD_37,
|
||||||
K_WORLD_38,
|
K_WORLD_38,
|
||||||
K_WORLD_39,
|
K_WORLD_39,
|
||||||
K_WORLD_40,
|
K_WORLD_40,
|
||||||
K_WORLD_41,
|
K_WORLD_41,
|
||||||
K_WORLD_42,
|
K_WORLD_42,
|
||||||
K_WORLD_43,
|
K_WORLD_43,
|
||||||
K_WORLD_44,
|
K_WORLD_44,
|
||||||
K_WORLD_45,
|
K_WORLD_45,
|
||||||
K_WORLD_46,
|
K_WORLD_46,
|
||||||
K_WORLD_47,
|
K_WORLD_47,
|
||||||
K_WORLD_48,
|
K_WORLD_48,
|
||||||
K_WORLD_49,
|
K_WORLD_49,
|
||||||
K_WORLD_50,
|
K_WORLD_50,
|
||||||
K_WORLD_51,
|
K_WORLD_51,
|
||||||
K_WORLD_52,
|
K_WORLD_52,
|
||||||
K_WORLD_53,
|
K_WORLD_53,
|
||||||
K_WORLD_54,
|
K_WORLD_54,
|
||||||
K_WORLD_55,
|
K_WORLD_55,
|
||||||
K_WORLD_56,
|
K_WORLD_56,
|
||||||
K_WORLD_57,
|
K_WORLD_57,
|
||||||
K_WORLD_58,
|
K_WORLD_58,
|
||||||
K_WORLD_59,
|
K_WORLD_59,
|
||||||
K_WORLD_60,
|
K_WORLD_60,
|
||||||
K_WORLD_61,
|
K_WORLD_61,
|
||||||
K_WORLD_62,
|
K_WORLD_62,
|
||||||
K_WORLD_63,
|
K_WORLD_63,
|
||||||
K_WORLD_64,
|
K_WORLD_64,
|
||||||
K_WORLD_65,
|
K_WORLD_65,
|
||||||
K_WORLD_66,
|
K_WORLD_66,
|
||||||
K_WORLD_67,
|
K_WORLD_67,
|
||||||
K_WORLD_68,
|
K_WORLD_68,
|
||||||
K_WORLD_69,
|
K_WORLD_69,
|
||||||
K_WORLD_70,
|
K_WORLD_70,
|
||||||
K_WORLD_71,
|
K_WORLD_71,
|
||||||
K_WORLD_72,
|
K_WORLD_72,
|
||||||
K_WORLD_73,
|
K_WORLD_73,
|
||||||
K_WORLD_74,
|
K_WORLD_74,
|
||||||
K_WORLD_75,
|
K_WORLD_75,
|
||||||
K_WORLD_76,
|
K_WORLD_76,
|
||||||
K_WORLD_77,
|
K_WORLD_77,
|
||||||
K_WORLD_78,
|
K_WORLD_78,
|
||||||
K_WORLD_79,
|
K_WORLD_79,
|
||||||
K_WORLD_80,
|
K_WORLD_80,
|
||||||
K_WORLD_81,
|
K_WORLD_81,
|
||||||
K_WORLD_82,
|
K_WORLD_82,
|
||||||
K_WORLD_83,
|
K_WORLD_83,
|
||||||
K_WORLD_84,
|
K_WORLD_84,
|
||||||
K_WORLD_85,
|
K_WORLD_85,
|
||||||
K_WORLD_86,
|
K_WORLD_86,
|
||||||
K_WORLD_87,
|
K_WORLD_87,
|
||||||
K_WORLD_88,
|
K_WORLD_88,
|
||||||
K_WORLD_89,
|
K_WORLD_89,
|
||||||
K_WORLD_90,
|
K_WORLD_90,
|
||||||
K_WORLD_91,
|
K_WORLD_91,
|
||||||
K_WORLD_92,
|
K_WORLD_92,
|
||||||
K_WORLD_93,
|
K_WORLD_93,
|
||||||
K_WORLD_94,
|
K_WORLD_94,
|
||||||
K_WORLD_95,
|
K_WORLD_95,
|
||||||
|
|
||||||
K_SUPER,
|
K_SUPER,
|
||||||
K_COMPOSE,
|
K_COMPOSE,
|
||||||
K_MODE,
|
K_MODE,
|
||||||
K_HELP,
|
K_HELP,
|
||||||
K_PRINT,
|
K_PRINT,
|
||||||
K_SYSREQ,
|
K_SYSREQ,
|
||||||
K_SCROLLOCK,
|
K_SCROLLOCK,
|
||||||
K_BREAK,
|
K_BREAK,
|
||||||
K_MENU,
|
K_MENU,
|
||||||
K_EURO,
|
K_EURO,
|
||||||
K_UNDO,
|
K_UNDO,
|
||||||
|
|
||||||
K_LAST
|
K_LAST
|
||||||
};
|
};
|
||||||
|
|
|
@ -670,13 +670,11 @@ char *bindnames[][2] = {
|
||||||
{"+klook", "keyboard look"},
|
{"+klook", "keyboard look"},
|
||||||
{"+moveup", "up / jump"},
|
{"+moveup", "up / jump"},
|
||||||
{"+movedown", "down / crouch"},
|
{"+movedown", "down / crouch"},
|
||||||
|
|
||||||
{"inven", "inventory"},
|
{"inven", "inventory"},
|
||||||
{"invuse", "use item"},
|
{"invuse", "use item"},
|
||||||
{"invdrop", "drop item"},
|
{"invdrop", "drop item"},
|
||||||
{"invprev", "prev item"},
|
{"invprev", "prev item"},
|
||||||
{"invnext", "next item"},
|
{"invnext", "next item"},
|
||||||
|
|
||||||
{"cmd help", "help computer"},
|
{"cmd help", "help computer"},
|
||||||
{0, 0}
|
{0, 0}
|
||||||
};
|
};
|
||||||
|
@ -686,7 +684,8 @@ static int bind_grab;
|
||||||
|
|
||||||
static menuframework_s s_keys_menu;
|
static menuframework_s s_keys_menu;
|
||||||
static menuaction_s s_keys_attack_action;
|
static menuaction_s s_keys_attack_action;
|
||||||
static menuaction_s s_keys_change_weapon_action;
|
static menuaction_s s_keys_next_weapon_action;
|
||||||
|
static menuaction_s s_keys_previous_weapon_action;
|
||||||
static menuaction_s s_keys_walk_forward_action;
|
static menuaction_s s_keys_walk_forward_action;
|
||||||
static menuaction_s s_keys_backpedal_action;
|
static menuaction_s s_keys_backpedal_action;
|
||||||
static menuaction_s s_keys_turn_left_action;
|
static menuaction_s s_keys_turn_left_action;
|
||||||
|
@ -707,7 +706,6 @@ static menuaction_s s_keys_inv_use_action;
|
||||||
static menuaction_s s_keys_inv_drop_action;
|
static menuaction_s s_keys_inv_drop_action;
|
||||||
static menuaction_s s_keys_inv_prev_action;
|
static menuaction_s s_keys_inv_prev_action;
|
||||||
static menuaction_s s_keys_inv_next_action;
|
static menuaction_s s_keys_inv_next_action;
|
||||||
|
|
||||||
static menuaction_s s_keys_help_computer_action;
|
static menuaction_s s_keys_help_computer_action;
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -857,14 +855,23 @@ Keys_MenuInit(void)
|
||||||
s_keys_attack_action.generic.name =
|
s_keys_attack_action.generic.name =
|
||||||
bindnames[s_keys_attack_action.generic.localdata[0]][1];
|
bindnames[s_keys_attack_action.generic.localdata[0]][1];
|
||||||
|
|
||||||
s_keys_change_weapon_action.generic.type = MTYPE_ACTION;
|
s_keys_next_weapon_action.generic.type = MTYPE_ACTION;
|
||||||
s_keys_change_weapon_action.generic.flags = QMF_GRAYED;
|
s_keys_next_weapon_action.generic.flags = QMF_GRAYED;
|
||||||
s_keys_change_weapon_action.generic.x = 0;
|
s_keys_next_weapon_action.generic.x = 0;
|
||||||
s_keys_change_weapon_action.generic.y = y += 9;
|
s_keys_next_weapon_action.generic.y = y += 9;
|
||||||
s_keys_change_weapon_action.generic.ownerdraw = DrawKeyBindingFunc;
|
s_keys_next_weapon_action.generic.ownerdraw = DrawKeyBindingFunc;
|
||||||
s_keys_change_weapon_action.generic.localdata[0] = ++i;
|
s_keys_next_weapon_action.generic.localdata[0] = ++i;
|
||||||
s_keys_change_weapon_action.generic.name =
|
s_keys_next_weapon_action.generic.name =
|
||||||
bindnames[s_keys_change_weapon_action.generic.localdata[0]][1];
|
bindnames[s_keys_next_weapon_action.generic.localdata[0]][1];
|
||||||
|
|
||||||
|
s_keys_previous_weapon_action.generic.type = MTYPE_ACTION;
|
||||||
|
s_keys_previous_weapon_action.generic.flags = QMF_GRAYED;
|
||||||
|
s_keys_previous_weapon_action.generic.x = 0;
|
||||||
|
s_keys_previous_weapon_action.generic.y = y += 9;
|
||||||
|
s_keys_previous_weapon_action.generic.ownerdraw = DrawKeyBindingFunc;
|
||||||
|
s_keys_previous_weapon_action.generic.localdata[0] = ++i;
|
||||||
|
s_keys_previous_weapon_action.generic.name =
|
||||||
|
bindnames[s_keys_previous_weapon_action.generic.localdata[0]][1];
|
||||||
|
|
||||||
s_keys_walk_forward_action.generic.type = MTYPE_ACTION;
|
s_keys_walk_forward_action.generic.type = MTYPE_ACTION;
|
||||||
s_keys_walk_forward_action.generic.flags = QMF_GRAYED;
|
s_keys_walk_forward_action.generic.flags = QMF_GRAYED;
|
||||||
|
@ -1056,7 +1063,8 @@ Keys_MenuInit(void)
|
||||||
bindnames[s_keys_help_computer_action.generic.localdata[0]][1];
|
bindnames[s_keys_help_computer_action.generic.localdata[0]][1];
|
||||||
|
|
||||||
Menu_AddItem(&s_keys_menu, (void *)&s_keys_attack_action);
|
Menu_AddItem(&s_keys_menu, (void *)&s_keys_attack_action);
|
||||||
Menu_AddItem(&s_keys_menu, (void *)&s_keys_change_weapon_action);
|
Menu_AddItem(&s_keys_menu, (void *)&s_keys_next_weapon_action);
|
||||||
|
Menu_AddItem(&s_keys_menu, (void *)&s_keys_previous_weapon_action);
|
||||||
Menu_AddItem(&s_keys_menu, (void *)&s_keys_walk_forward_action);
|
Menu_AddItem(&s_keys_menu, (void *)&s_keys_walk_forward_action);
|
||||||
Menu_AddItem(&s_keys_menu, (void *)&s_keys_backpedal_action);
|
Menu_AddItem(&s_keys_menu, (void *)&s_keys_backpedal_action);
|
||||||
Menu_AddItem(&s_keys_menu, (void *)&s_keys_turn_left_action);
|
Menu_AddItem(&s_keys_menu, (void *)&s_keys_turn_left_action);
|
||||||
|
@ -1072,13 +1080,11 @@ Keys_MenuInit(void)
|
||||||
Menu_AddItem(&s_keys_menu, (void *)&s_keys_keyboard_look_action);
|
Menu_AddItem(&s_keys_menu, (void *)&s_keys_keyboard_look_action);
|
||||||
Menu_AddItem(&s_keys_menu, (void *)&s_keys_move_up_action);
|
Menu_AddItem(&s_keys_menu, (void *)&s_keys_move_up_action);
|
||||||
Menu_AddItem(&s_keys_menu, (void *)&s_keys_move_down_action);
|
Menu_AddItem(&s_keys_menu, (void *)&s_keys_move_down_action);
|
||||||
|
|
||||||
Menu_AddItem(&s_keys_menu, (void *)&s_keys_inventory_action);
|
Menu_AddItem(&s_keys_menu, (void *)&s_keys_inventory_action);
|
||||||
Menu_AddItem(&s_keys_menu, (void *)&s_keys_inv_use_action);
|
Menu_AddItem(&s_keys_menu, (void *)&s_keys_inv_use_action);
|
||||||
Menu_AddItem(&s_keys_menu, (void *)&s_keys_inv_drop_action);
|
Menu_AddItem(&s_keys_menu, (void *)&s_keys_inv_drop_action);
|
||||||
Menu_AddItem(&s_keys_menu, (void *)&s_keys_inv_prev_action);
|
Menu_AddItem(&s_keys_menu, (void *)&s_keys_inv_prev_action);
|
||||||
Menu_AddItem(&s_keys_menu, (void *)&s_keys_inv_next_action);
|
Menu_AddItem(&s_keys_menu, (void *)&s_keys_inv_next_action);
|
||||||
|
|
||||||
Menu_AddItem(&s_keys_menu, (void *)&s_keys_help_computer_action);
|
Menu_AddItem(&s_keys_menu, (void *)&s_keys_help_computer_action);
|
||||||
|
|
||||||
Menu_SetStatusBar(&s_keys_menu, "enter to change, backspace to clear");
|
Menu_SetStatusBar(&s_keys_menu, "enter to change, backspace to clear");
|
||||||
|
|
|
@ -233,12 +233,7 @@ Field_Key(menufield_s *f, int key)
|
||||||
|
|
||||||
if (key > 127)
|
if (key > 127)
|
||||||
{
|
{
|
||||||
switch (key)
|
return false;
|
||||||
{
|
|
||||||
case K_DEL:
|
|
||||||
default:
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (key)
|
switch (key)
|
||||||
|
|
Loading…
Reference in New Issue