This commit is contained in:
cypress 2024-07-04 14:44:48 -07:00
commit ac2dc0da95
2 changed files with 22 additions and 5 deletions

View file

@ -81,6 +81,7 @@ noref void(float apiver, string enginename, float enginever) CSQC_Init =
cvar_set("r_fb_models", ftos(0)); cvar_set("r_fb_models", ftos(0));
autocvar(r_viewmodel_default_fov, 70); autocvar(r_viewmodel_default_fov, 70);
autocvar(cl_controllerglyphs, "xbox"); autocvar(cl_controllerglyphs, "xbox");
autocvar(in_rumbleenabled, 1);
// Runtime check if we're running this in WebASM/WebGL. // Runtime check if we're running this in WebASM/WebGL.
if (cvar_string("sys_platform") == "Web") if (cvar_string("sys_platform") == "Web")
@ -923,10 +924,6 @@ void(float button, string key) setToBind =
noref float(float evtype, float scanx, float chary, float devid) CSQC_InputEvent = noref float(float evtype, float scanx, float chary, float devid) CSQC_InputEvent =
{ {
if (last_input_deviceid != devid)
print(sprintf("device id swapped to %d\n", last_input_deviceid));
last_input_deviceid = devid; last_input_deviceid = devid;
if (evtype == IE_KEYDOWN) { if (evtype == IE_KEYDOWN) {
@ -1166,7 +1163,11 @@ noref void() CSQC_Parse_Event =
screenflash_starttime = time; screenflash_starttime = time;
break; break;
case CSQC_EVENT_RUMBLE: case CSQC_EVENT_RUMBLE:
gp_rumble(last_input_deviceid, readshort(), readshort(), readshort()); float low_frequency = readshort();
float high_frequency = readshort();
float duration = readshort();
if (cvar("in_rumbleenabled"))
gp_rumble(last_input_deviceid, low_frequency, high_frequency, duration);
break; break;
case EVENT_WEAPONRECOIL: case EVENT_WEAPONRECOIL:
local vector rec; local vector rec;

View file

@ -793,6 +793,12 @@ void() settings_adsmode =
localcmd("bind MOUSE2 \"+button8\"\n"); localcmd("bind MOUSE2 \"+button8\"\n");
} }
void() settings_rumble =
{
float rumble = cvar("in_rumbleenabled");
cvar_set("in_rumbleenabled", ftos(!rumble));
}
void() setting_mastervol = void() setting_mastervol =
{ {
float vol = cvar("volume"); float vol = cvar("volume");
@ -1005,6 +1011,7 @@ var struct
// Control Settings (cont.) // Control Settings (cont.)
{[6, 115], "Invert Mouse", -1, setting_invert, null, MENU_CONSETTINGS, 0, OPTION_WEB_AND_EXE}, // 66 {[6, 115], "Invert Mouse", -1, setting_invert, null, MENU_CONSETTINGS, 0, OPTION_WEB_AND_EXE}, // 66
{[6, 135], "Controller Glyphs", -1, setting_glyph, null, MENU_CONSETTINGS, 0, OPTION_WEB_AND_EXE}, // 67 {[6, 135], "Controller Glyphs", -1, setting_glyph, null, MENU_CONSETTINGS, 0, OPTION_WEB_AND_EXE}, // 67
{[6, 155], "Rumble", -1, settings_rumble, null, MENU_CONSETTINGS, 0, OPTION_WEB_AND_EXE}, // 68
// Main menu (cont.) // Main menu (cont.)
{[6, 145], "Achievements (Not on Web)", -1, null, null, MENU_MAIN, 1, OPTION_WEB_ONLY}, // 3 {[6, 145], "Achievements (Not on Web)", -1, null, null, MENU_MAIN, 1, OPTION_WEB_ONLY}, // 3
@ -1495,6 +1502,12 @@ void() Draw_Extra_CSettings =
else else
drawstring([320, 115], S_ENABLED, [14, 14], [1, 1, 1], 1, 0); drawstring([320, 115], S_ENABLED, [14, 14], [1, 1, 1], 1, 0);
// Rumble
if (cvar("in_rumbleenabled") == 0)
drawstring([320, 155], S_DISABLED, [14, 14], [1, 1, 1], 1, 0);
else
drawstring([320, 155], S_ENABLED, [14, 14], [1, 1, 1], 1, 0);
// Controller Glyphs // Controller Glyphs
string controller_glyph_brand = "Unknown"; string controller_glyph_brand = "Unknown";
switch(cvar_string("cl_controllerglyphs")) { switch(cvar_string("cl_controllerglyphs")) {
@ -1531,6 +1544,9 @@ void() Draw_Extra_CSettings =
case 67: case 67:
cset_desc = "Glyph Branding type to display for Controllers."; cset_desc = "Glyph Branding type to display for Controllers.";
break; break;
case 68:
cset_desc = "Toggle Rumble support for Controllers.";
break;
default: default:
cset_desc = ""; cset_desc = "";
break; break;