⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 menu.java

📁 Jake2是一个Java 3D游戏引擎.
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
    };    static String Keys_MenuKey_f(int key) {        menuaction_s item = (menuaction_s) Menu_ItemAtCursor(s_keys_menu);        if (bind_grab) {            if (key != K_ESCAPE && key != '`') {                //char cmd[1024];                String cmd;                //Com_sprintf(cmd, sizeof(cmd), "bind \"%s\" \"%s\"\n",                // Key_KeynumToString(key), bindnames[item.localdata[0]][0]);                cmd = "bind \"" + Key.KeynumToString(key) + "\" \""                        + bindnames[item.localdata[0]][0] + "\"";                Cbuf.InsertText(cmd);            }            Menu_SetStatusBar(s_keys_menu,                    "enter to change, backspace to clear");            bind_grab = false;            return menu_out_sound;        }        switch (key) {        case K_KP_ENTER:        case K_ENTER:            KeyBindingFunc(item);            return menu_in_sound;        case K_BACKSPACE: // delete bindings        case K_DEL: // delete bindings        case K_KP_DEL:            UnbindCommand(bindnames[item.localdata[0]][0]);            return menu_out_sound;        default:            return Default_MenuKey(s_keys_menu, key);        }    }    static xcommand_t Menu_Keys = new xcommand_t() {        public void execute() {            Menu_Keys_f();        }    };    static void Menu_Keys_f() {        Keys_MenuInit();        PushMenu(new xcommand_t() {            public void execute() {                Keys_MenuDraw_f();            }        }, new keyfunc_t() {            public String execute(int key) {                return Keys_MenuKey_f(key);            }        });    }    /*     * =======================================================================     *      * CONTROLS MENU     *      * =======================================================================     */    static cvar_t win_noalttab;    static menuframework_s s_options_menu = new menuframework_s();    static menuaction_s s_options_defaults_action = new menuaction_s();    static menuaction_s s_options_customize_options_action = new menuaction_s();    static menuslider_s s_options_sensitivity_slider = new menuslider_s();    static menulist_s s_options_freelook_box = new menulist_s();    static menulist_s s_options_noalttab_box = new menulist_s();    static menulist_s s_options_alwaysrun_box = new menulist_s();    static menulist_s s_options_invertmouse_box = new menulist_s();    static menulist_s s_options_lookspring_box = new menulist_s();    static menulist_s s_options_lookstrafe_box = new menulist_s();    static menulist_s s_options_crosshair_box = new menulist_s();    static menuslider_s s_options_sfxvolume_slider = new menuslider_s();    static menulist_s s_options_joystick_box = new menulist_s();    static menulist_s s_options_cdvolume_box = new menulist_s();    static menulist_s s_options_quality_list = new menulist_s();    //static menulist_s s_options_compatibility_list = new menulist_s();    static menuaction_s s_options_console_action = new menuaction_s();    static void CrosshairFunc(Object unused) {        Cvar.SetValue("crosshair", s_options_crosshair_box.curvalue);    }    static void JoystickFunc(Object unused) {        Cvar.SetValue("in_joystick", s_options_joystick_box.curvalue);    }    static void CustomizeControlsFunc(Object unused) {        Menu_Keys_f();    }    static void AlwaysRunFunc(Object unused) {        Cvar.SetValue("cl_run", s_options_alwaysrun_box.curvalue);    }    static void FreeLookFunc(Object unused) {        Cvar.SetValue("freelook", s_options_freelook_box.curvalue);    }    static void MouseSpeedFunc(Object unused) {        Cvar.SetValue("sensitivity",                s_options_sensitivity_slider.curvalue / 2.0F);    }    static void NoAltTabFunc(Object unused) {        Cvar.SetValue("win_noalttab", s_options_noalttab_box.curvalue);    }    static float ClampCvar(float min, float max, float value) {        if (value < min)            return min;        if (value > max)            return max;        return value;    }    static void ControlsSetMenuItemValues() {        s_options_sfxvolume_slider.curvalue = Cvar.VariableValue("s_volume") * 10;        s_options_cdvolume_box.curvalue = 1 - ((int) Cvar                .VariableValue("cd_nocd"));        //s_options_quality_list.curvalue = 1 - ((int)        // Cvar.VariableValue("s_loadas8bit"));        String s = Cvar.VariableString("s_impl");        for (int i = 0; i < s_drivers.length; i++) {        	if (s.equals(s_drivers[i])) {        		s_options_quality_list.curvalue = i;        	}        }        s_options_sensitivity_slider.curvalue = (sensitivity.value) * 2;        Cvar.SetValue("cl_run", ClampCvar(0, 1, cl_run.value));        s_options_alwaysrun_box.curvalue = (int) cl_run.value;        s_options_invertmouse_box.curvalue = m_pitch.value < 0 ? 1 : 0;        Cvar.SetValue("lookspring", ClampCvar(0, 1, lookspring.value));        s_options_lookspring_box.curvalue = (int) lookspring.value;        Cvar.SetValue("lookstrafe", ClampCvar(0, 1, lookstrafe.value));        s_options_lookstrafe_box.curvalue = (int) lookstrafe.value;        Cvar.SetValue("freelook", ClampCvar(0, 1, freelook.value));        s_options_freelook_box.curvalue = (int) freelook.value;        Cvar.SetValue("crosshair", ClampCvar(0, 3, Globals.crosshair.value));        s_options_crosshair_box.curvalue = (int) Globals.crosshair.value;        Cvar.SetValue("in_joystick", ClampCvar(0, 1, in_joystick.value));        s_options_joystick_box.curvalue = (int) in_joystick.value;        s_options_noalttab_box.curvalue = (int) win_noalttab.value;    }    static void ControlsResetDefaultsFunc(Object unused) {        Cbuf.AddText("exec default.cfg\n");        Cbuf.Execute();        ControlsSetMenuItemValues();    }    static void InvertMouseFunc(Object unused) {        Cvar.SetValue("m_pitch", -m_pitch.value);    }    static void LookspringFunc(Object unused) {        Cvar.SetValue("lookspring", 1 - lookspring.value);    }    static void LookstrafeFunc(Object unused) {        Cvar.SetValue("lookstrafe", 1 - lookstrafe.value);    }    static void UpdateVolumeFunc(Object unused) {        Cvar.SetValue("s_volume", s_options_sfxvolume_slider.curvalue / 10);    }    static void UpdateCDVolumeFunc(Object unused) {        Cvar.SetValue("cd_nocd", 1 - s_options_cdvolume_box.curvalue);    }    static void ConsoleFunc(Object unused) {        /*         * * the proper way to do this is probably to have ToggleConsole_f         * accept a parameter         */        if (cl.attractloop) {            Cbuf.AddText("killserver\n");            return;        }        Key.ClearTyping();        Console.ClearNotify();        ForceMenuOff();        cls.key_dest = key_console;    }    static void UpdateSoundQualityFunc(Object unused) {        boolean driverNotChanged = false;        String current = s_drivers[s_options_quality_list.curvalue];        driverNotChanged = S.getDriverName().equals(current);//        if (s_options_quality_list.curvalue != 0) {//            //			Cvar.SetValue("s_khz", 22);//            //			Cvar.SetValue("s_loadas8bit", 0);//            driverNotChanged = S.getDriverName().equals("dummy");//            Cvar.Set("s_impl", "dummy");//        } else {//            //			Cvar.SetValue("s_khz", 11);//            //			Cvar.SetValue("s_loadas8bit", 1);//            driverNotChanged = S.getDriverName().equals("joal");//            Cvar.Set("s_impl", "joal");//        }        //Cvar.SetValue("s_primary", s_options_compatibility_list.curvalue);        if (driverNotChanged) {            re.EndFrame();            return;        } else {        	Cvar.Set("s_impl", current);        	            DrawTextBox(8, 120 - 48, 36, 3);            Print(16 + 16, 120 - 48 + 8, "Restarting the sound system. This");            Print(16 + 16, 120 - 48 + 16, "could take up to a minute, so");            Print(16 + 16, 120 - 48 + 24, "please be patient.");            // the text box won't show up unless we do a buffer swap            re.EndFrame();            CL.Snd_Restart_f.execute();        }    }    static String cd_music_items[] = { "disabled", "enabled" };    static String compatibility_items[] = { "max compatibility",            "max performance" };    static String yesno_names[] = { "no", "yes" };    static String crosshair_names[] = { "none", "cross", "dot", "angle" };    static String[] s_labels;    static String[] s_drivers;        static void Options_MenuInit() {    	s_drivers = S.getDriverNames();    	s_labels = new String[s_drivers.length];    	for (int i = 0; i < s_drivers.length; i++) {    		if ("dummy".equals(s_drivers[i])) {    			s_labels[i] = "off";    		} else {    			s_labels[i] = s_drivers[i];    		}    	}    	        win_noalttab = Cvar.Get("win_noalttab", "0", CVAR_ARCHIVE);        /*         * * configure controls menu and menu items         */        s_options_menu.x = viddef.width / 2;        s_options_menu.y = viddef.height / 2 - 58;        s_options_menu.nitems = 0;        s_options_sfxvolume_slider.type = MTYPE_SLIDER;        s_options_sfxvolume_slider.x = 0;        s_options_sfxvolume_slider.y = 0;        s_options_sfxvolume_slider.name = "effects volume";        s_options_sfxvolume_slider.callback = new mcallback() {            public void execute(Object o) {                UpdateVolumeFunc(o);            }        };        s_options_sfxvolume_slider.minvalue = 0;        s_options_sfxvolume_slider.maxvalue = 10;        s_options_sfxvolume_slider.curvalue = Cvar.VariableValue("s_volume") * 10;        s_options_cdvolume_box.type = MTYPE_SPINCONTROL;        s_options_cdvolume_box.x = 0;        s_options_cdvolume_box.y = 10;        s_options_cdvolume_box.name = "CD music";        s_options_cdvolume_box.callback = new mcallback() {            public void execute(Object o) {                UpdateCDVolumeFunc(o);            }        };        s_options_cdvolume_box.itemnames = cd_music_items;        s_options_cdvolume_box.curvalue = 1 - (int) Cvar                .VariableValue("cd_nocd");        s_options_quality_list.type = MTYPE_SPINCONTROL;        s_options_quality_list.x = 0;        s_options_quality_list.y = 20;        ;        s_options_quality_list.name = "sound";        s_options_quality_list.callback = new mcallback() {            public void execute(Object o) {                UpdateSoundQualityFunc(o);            }        };        s_options_quality_list.itemnames = s_labels;        s_options_sensitivity_slider.type = MTYPE_SLIDER;        s_options_sensitivity_slider.x = 0;        s_options_sensitivity_slider.y = 50;        s_options_sensitivity_slider.name = "mouse speed";        s_options_sensitivity_slider.callback = new mcallback() {            public void execute(Object o) {                MouseSpeedFunc(o);            }        };        s_options_sensitivity_slider.minvalue = 2;        s_options_sensitivity_slider.maxvalue = 22;        s_options_alwaysrun_box.type = MTYPE_SPINCONTROL;        s_options_alwaysrun_box.x = 0;        s_options_alwaysrun_box.y = 60;        s_options_alwaysrun_box.name = "always run";        s_options_alwaysrun_box.callback = new mcallback() {            public void execute(Object o) {                AlwaysRunFunc(o);            }        };        s_options_alwaysrun_box.itemnames = yesno_names;        s_options_invertmouse_box.type = MTYPE_SPINCONTROL;        s_options_invertmouse_box.x = 0;        s_options_invertmouse_box.y = 70;        s_options_invertmouse_box.name = "invert mouse";        s_options_invertmouse_box.callback = new mcallback() {            public void execute(Object o) {                InvertMouseFunc(o);            }        };        s_options_invertmouse_box.itemnames = yesno_names;        s_options_lookspring_box.type = MTYPE_SPINCONTROL;        s_options_lookspring_box.x = 0;        s_options_lookspring_box.y = 80;        s_options_lookspring_box.name = "lookspring";        s_options_lookspring_box.callback = new mcallback() {            public void execute(Object o) {                LookspringFunc(o);            }        };        s_options_lookspring_box.itemnames = yesno_names;        s_options_lookstrafe_box.type = MTYPE_SPINCONTROL;        s_options_lookstrafe_box.x = 0;        s_options_lookstrafe_box.y = 90;        s_options_lookstrafe_box.name = "lookstrafe";        s_options_lookstrafe_box.callback = new mcallback() {            public void execute(Object o) {                LookstrafeFunc(o);            }        };        s_options_lookstrafe_box.itemnames = yesno_names;        s_options_freelook_box.type = MTYPE_SPINCONTROL;        s_options_freelook_box.x = 0;        s_options_freelook_box.y = 100;        s_options_freelook_box.name = "free look";        s_options_freelook_box.callback = new mcallback() {            public void execute(Object o) {                FreeLookFunc(o);            }        };

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -