mirror of
https://github.com/nzp-team/quakec.git
synced 2024-12-11 05:00:52 +00:00
140 lines
No EOL
3.6 KiB
C++
140 lines
No EOL
3.6 KiB
C++
string menu_ctrl_buttons[7] = {"cm_adsm", "cm_sens", "cm_invs", "cm_gpad", "cm_bind", "cm_apply", "cm_back"};
|
|
|
|
float menu_ctrl_init;
|
|
|
|
float current_adsmode;
|
|
float current_invert;
|
|
|
|
void() Menu_Control_StoreCurrentSettings =
|
|
{
|
|
// Figure out ADS mode.
|
|
tokenize(findkeysforcommandex("+button8"));
|
|
string button8_key = strtoupper(argv(0));
|
|
if (button8_key == "MOUSE2") {
|
|
current_adsmode = 0;
|
|
} else {
|
|
current_adsmode = 1;
|
|
}
|
|
|
|
current_invert = (cvar("m_pitch") == 0.022);
|
|
};
|
|
|
|
void() Menu_Control_Init =
|
|
{
|
|
Menu_Control_StoreCurrentSettings();
|
|
menu_ctrl_init = true;
|
|
};
|
|
|
|
void() Menu_Control_ApplyADS =
|
|
{
|
|
Menu_PlaySound(MENU_SND_ENTER);
|
|
|
|
tokenize(findkeysforcommandex("+button8"));
|
|
string button8_key = strtoupper(argv(0));
|
|
|
|
// ADS Mode
|
|
if (button8_key == "MOUSE2") {
|
|
localcmd("bind MOUSE2 \"impulse 26\"\n");
|
|
current_adsmode = 1;
|
|
} else {
|
|
localcmd("bind MOUSE2 \"+button8\"\n");
|
|
current_adsmode = 0;
|
|
}
|
|
};
|
|
|
|
void() Menu_Control_InvertLook =
|
|
{
|
|
Menu_PlaySound(MENU_SND_ENTER);
|
|
current_invert = !current_invert;
|
|
|
|
if (current_invert)
|
|
localcmd("m_pitch 0.022\n");
|
|
else
|
|
localcmd("m_pitch -0.022\n");
|
|
};
|
|
|
|
void() Menu_Control_ApplySettings =
|
|
{
|
|
localcmd("vid_reload\nsaveconfig user_settings.cfg\n");
|
|
music_duration_time = 0;
|
|
};
|
|
|
|
string(string prev_id) Menu_Control_GetNextButton =
|
|
{
|
|
if (prev_id == "")
|
|
return menu_ctrl_buttons[0];
|
|
|
|
string ret = menu_ctrl_buttons[0];
|
|
|
|
for(float i = 0; i < menu_ctrl_buttons.length; i++) {
|
|
if (menu_ctrl_buttons[i] == prev_id) {
|
|
if (i + 1 >= menu_ctrl_buttons.length)
|
|
break;
|
|
|
|
ret = menu_ctrl_buttons[i + 1];
|
|
break;
|
|
}
|
|
}
|
|
|
|
return ret;
|
|
};
|
|
|
|
string(string next_id) Menu_Control_GetPreviousButton =
|
|
{
|
|
if (next_id == "")
|
|
return menu_ctrl_buttons[menu_ctrl_buttons.length - 1];
|
|
|
|
string ret = menu_ctrl_buttons[menu_ctrl_buttons.length - 1];
|
|
|
|
for(float i = menu_ctrl_buttons.length - 1; i > 0; i--) {
|
|
if (menu_ctrl_buttons[i] == next_id) {
|
|
if (i - 1 < 0)
|
|
break;
|
|
|
|
ret = menu_ctrl_buttons[i - 1];
|
|
break;
|
|
}
|
|
}
|
|
|
|
return ret;
|
|
};
|
|
|
|
void() Menu_Control =
|
|
{
|
|
if (!menu_ctrl_init)
|
|
Menu_Control_Init();
|
|
|
|
Menu_DrawBackground();
|
|
Menu_DrawTitle("CONTROL OPTIONS");
|
|
Menu_DrawMapPanel();
|
|
|
|
Menu_Button(1, "cm_adsm", "AIM DOWN SIGHT", "Switch between Hold and Toggle ADS Modes.") ? Menu_Control_ApplyADS() : 0;
|
|
string ads_string = "";
|
|
switch(current_adsmode) {
|
|
case 0: ads_string = "HOLD"; break;
|
|
case 1: ads_string = "TOGGLE"; break;
|
|
default: break;
|
|
}
|
|
Menu_DrawOptionValue(1, ads_string);
|
|
|
|
Menu_Button(2, "cm_sens", "SENSITIVITY", "Alter Look Sensitivity.") ? 0 : 0;
|
|
Menu_CvarSlider(2, [1, 10, 10], "sensitivity", false, false);
|
|
|
|
Menu_Button(3, "cm_invs", "INVERT LOOK", "Invert Y-Axis Camera Input.") ? Menu_Control_InvertLook() : 0;
|
|
string invert_string = "";
|
|
switch(current_invert) {
|
|
case 0: invert_string = "ENABLED"; break;
|
|
case 1: invert_string = "DISABLED"; break;
|
|
default: break;
|
|
}
|
|
Menu_DrawOptionValue(3, invert_string);
|
|
|
|
Menu_Button(4, "cm_gpad", "GAMEPAD", "Gamepad specific options.") ? current_menu = MENU_GAMEPAD : 0;
|
|
Menu_Button(5, "cm_bind", "BINDINGS", "Change Input Bindings.") ? current_menu = MENU_BINDINGS : 0;
|
|
|
|
Menu_DrawDivider(12.25);
|
|
Menu_Button(-2, "cm_apply", "APPLY", "Save & Apply Settings.") ? Menu_Control_ApplySettings() : 0;
|
|
Menu_Button(-1, "cm_back", "BACK", "Return to Configuration.") ? current_menu = MENU_OPTIONS : 0;
|
|
|
|
sui_pop_frame();
|
|
}; |