📄 menu.java
字号:
static void DrawKeyBindingFunc(Object self) { int keys[] = { 0, 0 }; menuaction_s a = (menuaction_s) self; FindKeysForCommand(bindnames[a.localdata[0]][0], keys); if (keys[0] == -1) { Menu_DrawString(a.x + a.parent.x + 16, a.y + a.parent.y, "???"); } else { int x; String name; name = Key.KeynumToString(keys[0]); Menu_DrawString(a.x + a.parent.x + 16, a.y + a.parent.y, name); x = name.length() * 8; if (keys[1] != -1) { Menu_DrawString(a.x + a.parent.x + 24 + x, a.y + a.parent.y, "or"); Menu_DrawString(a.x + a.parent.x + 48 + x, a.y + a.parent.y, Key.KeynumToString(keys[1])); } } } static void KeyBindingFunc(Object self) { menuaction_s a = (menuaction_s) self; int keys[] = { 0, 0 }; FindKeysForCommand(bindnames[a.localdata[0]][0], keys); if (keys[1] != -1) UnbindCommand(bindnames[a.localdata[0]][0]); bind_grab = true; Menu_SetStatusBar(s_keys_menu, "press a key or button for this action"); } static void Keys_MenuInit() { int y = 0; int i = 0; s_keys_menu.x = (int) (viddef.width * 0.50); s_keys_menu.nitems = 0; s_keys_menu.cursordraw = new mcallback() { public void execute(Object o) { KeyCursorDrawFunc((menuframework_s) o); } }; s_keys_attack_action.type = MTYPE_ACTION; s_keys_attack_action.flags = QMF_GRAYED; s_keys_attack_action.x = 0; s_keys_attack_action.y = y; s_keys_attack_action.ownerdraw = new mcallback() { public void execute(Object o) { DrawKeyBindingFunc(o); } }; s_keys_attack_action.localdata[0] = i; s_keys_attack_action.name = bindnames[s_keys_attack_action.localdata[0]][1]; s_keys_change_weapon_action.type = MTYPE_ACTION; s_keys_change_weapon_action.flags = QMF_GRAYED; s_keys_change_weapon_action.x = 0; s_keys_change_weapon_action.y = y += 9; s_keys_change_weapon_action.ownerdraw = new mcallback() { public void execute(Object o) { DrawKeyBindingFunc(o); } }; s_keys_change_weapon_action.localdata[0] = ++i; s_keys_change_weapon_action.name = bindnames[s_keys_change_weapon_action.localdata[0]][1]; s_keys_walk_forward_action.type = MTYPE_ACTION; s_keys_walk_forward_action.flags = QMF_GRAYED; s_keys_walk_forward_action.x = 0; s_keys_walk_forward_action.y = y += 9; s_keys_walk_forward_action.ownerdraw = new mcallback() { public void execute(Object o) { DrawKeyBindingFunc(o); } }; s_keys_walk_forward_action.localdata[0] = ++i; s_keys_walk_forward_action.name = bindnames[s_keys_walk_forward_action.localdata[0]][1]; s_keys_backpedal_action.type = MTYPE_ACTION; s_keys_backpedal_action.flags = QMF_GRAYED; s_keys_backpedal_action.x = 0; s_keys_backpedal_action.y = y += 9; s_keys_backpedal_action.ownerdraw = new mcallback() { public void execute(Object o) { DrawKeyBindingFunc(o); } }; s_keys_backpedal_action.localdata[0] = ++i; s_keys_backpedal_action.name = bindnames[s_keys_backpedal_action.localdata[0]][1]; s_keys_turn_left_action.type = MTYPE_ACTION; s_keys_turn_left_action.flags = QMF_GRAYED; s_keys_turn_left_action.x = 0; s_keys_turn_left_action.y = y += 9; s_keys_turn_left_action.ownerdraw = new mcallback() { public void execute(Object o) { DrawKeyBindingFunc(o); } }; s_keys_turn_left_action.localdata[0] = ++i; s_keys_turn_left_action.name = bindnames[s_keys_turn_left_action.localdata[0]][1]; s_keys_turn_right_action.type = MTYPE_ACTION; s_keys_turn_right_action.flags = QMF_GRAYED; s_keys_turn_right_action.x = 0; s_keys_turn_right_action.y = y += 9; s_keys_turn_right_action.ownerdraw = new mcallback() { public void execute(Object o) { DrawKeyBindingFunc(o); } }; s_keys_turn_right_action.localdata[0] = ++i; s_keys_turn_right_action.name = bindnames[s_keys_turn_right_action.localdata[0]][1]; s_keys_run_action.type = MTYPE_ACTION; s_keys_run_action.flags = QMF_GRAYED; s_keys_run_action.x = 0; s_keys_run_action.y = y += 9; s_keys_run_action.ownerdraw = new mcallback() { public void execute(Object o) { DrawKeyBindingFunc(o); } }; s_keys_run_action.localdata[0] = ++i; s_keys_run_action.name = bindnames[s_keys_run_action.localdata[0]][1]; s_keys_step_left_action.type = MTYPE_ACTION; s_keys_step_left_action.flags = QMF_GRAYED; s_keys_step_left_action.x = 0; s_keys_step_left_action.y = y += 9; s_keys_step_left_action.ownerdraw = new mcallback() { public void execute(Object o) { DrawKeyBindingFunc(o); } }; s_keys_step_left_action.localdata[0] = ++i; s_keys_step_left_action.name = bindnames[s_keys_step_left_action.localdata[0]][1]; s_keys_step_right_action.type = MTYPE_ACTION; s_keys_step_right_action.flags = QMF_GRAYED; s_keys_step_right_action.x = 0; s_keys_step_right_action.y = y += 9; s_keys_step_right_action.ownerdraw = new mcallback() { public void execute(Object o) { DrawKeyBindingFunc(o); } }; s_keys_step_right_action.localdata[0] = ++i; s_keys_step_right_action.name = bindnames[s_keys_step_right_action.localdata[0]][1]; s_keys_sidestep_action.type = MTYPE_ACTION; s_keys_sidestep_action.flags = QMF_GRAYED; s_keys_sidestep_action.x = 0; s_keys_sidestep_action.y = y += 9; s_keys_sidestep_action.ownerdraw = new mcallback() { public void execute(Object o) { DrawKeyBindingFunc(o); } }; s_keys_sidestep_action.localdata[0] = ++i; s_keys_sidestep_action.name = bindnames[s_keys_sidestep_action.localdata[0]][1]; s_keys_look_up_action.type = MTYPE_ACTION; s_keys_look_up_action.flags = QMF_GRAYED; s_keys_look_up_action.x = 0; s_keys_look_up_action.y = y += 9; s_keys_look_up_action.ownerdraw = new mcallback() { public void execute(Object o) { DrawKeyBindingFunc(o); } }; s_keys_look_up_action.localdata[0] = ++i; s_keys_look_up_action.name = bindnames[s_keys_look_up_action.localdata[0]][1]; s_keys_look_down_action.type = MTYPE_ACTION; s_keys_look_down_action.flags = QMF_GRAYED; s_keys_look_down_action.x = 0; s_keys_look_down_action.y = y += 9; s_keys_look_down_action.ownerdraw = new mcallback() { public void execute(Object o) { DrawKeyBindingFunc(o); } }; s_keys_look_down_action.localdata[0] = ++i; s_keys_look_down_action.name = bindnames[s_keys_look_down_action.localdata[0]][1]; s_keys_center_view_action.type = MTYPE_ACTION; s_keys_center_view_action.flags = QMF_GRAYED; s_keys_center_view_action.x = 0; s_keys_center_view_action.y = y += 9; s_keys_center_view_action.ownerdraw = new mcallback() { public void execute(Object o) { DrawKeyBindingFunc(o); } }; s_keys_center_view_action.localdata[0] = ++i; s_keys_center_view_action.name = bindnames[s_keys_center_view_action.localdata[0]][1]; s_keys_mouse_look_action.type = MTYPE_ACTION; s_keys_mouse_look_action.flags = QMF_GRAYED; s_keys_mouse_look_action.x = 0; s_keys_mouse_look_action.y = y += 9; s_keys_mouse_look_action.ownerdraw = new mcallback() { public void execute(Object o) { DrawKeyBindingFunc(o); } }; s_keys_mouse_look_action.localdata[0] = ++i; s_keys_mouse_look_action.name = bindnames[s_keys_mouse_look_action.localdata[0]][1]; s_keys_keyboard_look_action.type = MTYPE_ACTION; s_keys_keyboard_look_action.flags = QMF_GRAYED; s_keys_keyboard_look_action.x = 0; s_keys_keyboard_look_action.y = y += 9; s_keys_keyboard_look_action.ownerdraw = new mcallback() { public void execute(Object o) { DrawKeyBindingFunc(o); } }; s_keys_keyboard_look_action.localdata[0] = ++i; s_keys_keyboard_look_action.name = bindnames[s_keys_keyboard_look_action.localdata[0]][1]; s_keys_move_up_action.type = MTYPE_ACTION; s_keys_move_up_action.flags = QMF_GRAYED; s_keys_move_up_action.x = 0; s_keys_move_up_action.y = y += 9; s_keys_move_up_action.ownerdraw = new mcallback() { public void execute(Object o) { DrawKeyBindingFunc(o); } }; s_keys_move_up_action.localdata[0] = ++i; s_keys_move_up_action.name = bindnames[s_keys_move_up_action.localdata[0]][1]; s_keys_move_down_action.type = MTYPE_ACTION; s_keys_move_down_action.flags = QMF_GRAYED; s_keys_move_down_action.x = 0; s_keys_move_down_action.y = y += 9; s_keys_move_down_action.ownerdraw = new mcallback() { public void execute(Object o) { DrawKeyBindingFunc(o); } }; s_keys_move_down_action.localdata[0] = ++i; s_keys_move_down_action.name = bindnames[s_keys_move_down_action.localdata[0]][1]; s_keys_inventory_action.type = MTYPE_ACTION; s_keys_inventory_action.flags = QMF_GRAYED; s_keys_inventory_action.x = 0; s_keys_inventory_action.y = y += 9; s_keys_inventory_action.ownerdraw = new mcallback() { public void execute(Object o) { DrawKeyBindingFunc(o); } }; s_keys_inventory_action.localdata[0] = ++i; s_keys_inventory_action.name = bindnames[s_keys_inventory_action.localdata[0]][1]; s_keys_inv_use_action.type = MTYPE_ACTION; s_keys_inv_use_action.flags = QMF_GRAYED; s_keys_inv_use_action.x = 0; s_keys_inv_use_action.y = y += 9; s_keys_inv_use_action.ownerdraw = new mcallback() { public void execute(Object o) { DrawKeyBindingFunc(o); } }; s_keys_inv_use_action.localdata[0] = ++i; s_keys_inv_use_action.name = bindnames[s_keys_inv_use_action.localdata[0]][1]; s_keys_inv_drop_action.type = MTYPE_ACTION; s_keys_inv_drop_action.flags = QMF_GRAYED; s_keys_inv_drop_action.x = 0; s_keys_inv_drop_action.y = y += 9; s_keys_inv_drop_action.ownerdraw = new mcallback() { public void execute(Object o) { DrawKeyBindingFunc(o); } }; s_keys_inv_drop_action.localdata[0] = ++i; s_keys_inv_drop_action.name = bindnames[s_keys_inv_drop_action.localdata[0]][1]; s_keys_inv_prev_action.type = MTYPE_ACTION; s_keys_inv_prev_action.flags = QMF_GRAYED; s_keys_inv_prev_action.x = 0; s_keys_inv_prev_action.y = y += 9; s_keys_inv_prev_action.ownerdraw = new mcallback() { public void execute(Object o) { DrawKeyBindingFunc(o); } }; s_keys_inv_prev_action.localdata[0] = ++i; s_keys_inv_prev_action.name = bindnames[s_keys_inv_prev_action.localdata[0]][1]; s_keys_inv_next_action.type = MTYPE_ACTION; s_keys_inv_next_action.flags = QMF_GRAYED; s_keys_inv_next_action.x = 0; s_keys_inv_next_action.y = y += 9; s_keys_inv_next_action.ownerdraw = new mcallback() { public void execute(Object o) { DrawKeyBindingFunc(o); } }; s_keys_inv_next_action.localdata[0] = ++i; s_keys_inv_next_action.name = bindnames[s_keys_inv_next_action.localdata[0]][1]; s_keys_help_computer_action.type = MTYPE_ACTION; s_keys_help_computer_action.flags = QMF_GRAYED; s_keys_help_computer_action.x = 0; s_keys_help_computer_action.y = y += 9; s_keys_help_computer_action.ownerdraw = new mcallback() { public void execute(Object o) { DrawKeyBindingFunc(o); } }; s_keys_help_computer_action.localdata[0] = ++i; s_keys_help_computer_action.name = bindnames[s_keys_help_computer_action.localdata[0]][1]; Menu_AddItem(s_keys_menu, s_keys_attack_action); Menu_AddItem(s_keys_menu, s_keys_change_weapon_action); Menu_AddItem(s_keys_menu, s_keys_walk_forward_action); Menu_AddItem(s_keys_menu, s_keys_backpedal_action); Menu_AddItem(s_keys_menu, s_keys_turn_left_action); Menu_AddItem(s_keys_menu, s_keys_turn_right_action); Menu_AddItem(s_keys_menu, s_keys_run_action); Menu_AddItem(s_keys_menu, s_keys_step_left_action); Menu_AddItem(s_keys_menu, s_keys_step_right_action); Menu_AddItem(s_keys_menu, s_keys_sidestep_action); Menu_AddItem(s_keys_menu, s_keys_look_up_action); Menu_AddItem(s_keys_menu, s_keys_look_down_action); Menu_AddItem(s_keys_menu, s_keys_center_view_action); Menu_AddItem(s_keys_menu, s_keys_mouse_look_action); Menu_AddItem(s_keys_menu, s_keys_keyboard_look_action); Menu_AddItem(s_keys_menu, s_keys_move_up_action); Menu_AddItem(s_keys_menu, s_keys_move_down_action); Menu_AddItem(s_keys_menu, s_keys_inventory_action); Menu_AddItem(s_keys_menu, s_keys_inv_use_action); Menu_AddItem(s_keys_menu, s_keys_inv_drop_action); Menu_AddItem(s_keys_menu, s_keys_inv_prev_action); Menu_AddItem(s_keys_menu, s_keys_inv_next_action); Menu_AddItem(s_keys_menu, s_keys_help_computer_action); Menu_SetStatusBar(s_keys_menu, "enter to change, backspace to clear"); Menu_Center(s_keys_menu); } static xcommand_t Keys_MenuDraw = new xcommand_t() { public void execute() { Keys_MenuDraw_f(); } }; static void Keys_MenuDraw_f() { Menu_AdjustCursor(s_keys_menu, 1); Menu_Draw(s_keys_menu); } static keyfunc_t Keys_MenuKey = new keyfunc_t() { public String execute(int key) { return Keys_MenuKey_f(key); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -