diff --git a/src/command.c b/src/command.c index 9be081fb75648c6a1c2017ded3ef648058bb4063..762752cdd9531823a8e7be1221a44250e4aa98c5 100644 --- a/src/command.c +++ b/src/command.c @@ -2177,132 +2177,6 @@ static void CV_EnforceExecVersion(void) CV_StealthSetValue(&cv_execversion, EXECVERSION); } -static boolean CV_FilterJoyAxisVars(consvar_t *v, const char *valstr) -{ - // If ALL axis settings are previous defaults, set them to the new defaults - // EXECVERSION < 26 (2.1.21) - - if (joyaxis_default) - { - if (!stricmp(v->name, "joyaxis_turn")) - { - if (joyaxis_count > 6) return false; - // we're currently setting the new defaults, don't interfere - else if (joyaxis_count == 6) return true; - - if (!stricmp(valstr, "X-Axis")) joyaxis_count++; - else joyaxis_default = false; - } - if (!stricmp(v->name, "joyaxis_move")) - { - if (joyaxis_count > 6) return false; - else if (joyaxis_count == 6) return true; - - if (!stricmp(valstr, "Y-Axis")) joyaxis_count++; - else joyaxis_default = false; - } - if (!stricmp(v->name, "joyaxis_side")) - { - if (joyaxis_count > 6) return false; - else if (joyaxis_count == 6) return true; - - if (!stricmp(valstr, "Z-Axis")) joyaxis_count++; - else joyaxis_default = false; - } - if (!stricmp(v->name, "joyaxis_look")) - { - if (joyaxis_count > 6) return false; - else if (joyaxis_count == 6) return true; - - if (!stricmp(valstr, "None")) joyaxis_count++; - else joyaxis_default = false; - } - if (!stricmp(v->name, "joyaxis_fire") - || !stricmp(v->name, "joyaxis_firenormal")) - { - if (joyaxis_count > 6) return false; - else if (joyaxis_count == 6) return true; - - if (!stricmp(valstr, "None")) joyaxis_count++; - else joyaxis_default = false; - } - // reset all axis settings to defaults - if (joyaxis_count == 6) - { - COM_BufInsertText(va("%s \"%s\"\n", cv_turnaxis[0].name, cv_turnaxis[0].defaultvalue)); - COM_BufInsertText(va("%s \"%s\"\n", cv_moveaxis[0].name, cv_moveaxis[0].defaultvalue)); - COM_BufInsertText(va("%s \"%s\"\n", cv_sideaxis[0].name, cv_sideaxis[0].defaultvalue)); - COM_BufInsertText(va("%s \"%s\"\n", cv_lookaxis[0].name, cv_lookaxis[0].defaultvalue)); - COM_BufInsertText(va("%s \"%s\"\n", cv_fireaxis[0].name, cv_fireaxis[0].defaultvalue)); - COM_BufInsertText(va("%s \"%s\"\n", cv_firenaxis[0].name, cv_firenaxis[0].defaultvalue)); - joyaxis_count++; - return false; - } - } - - if (joyaxis2_default) - { - if (!stricmp(v->name, "joyaxis2_turn")) - { - if (joyaxis2_count > 6) return false; - // we're currently setting the new defaults, don't interfere - else if (joyaxis2_count == 6) return true; - - if (!stricmp(valstr, "X-Axis")) joyaxis2_count++; - else joyaxis2_default = false; - } - if (!stricmp(v->name, "joyaxis2_move")) - { - if (joyaxis2_count > 6) return false; - else if (joyaxis2_count == 6) return true; - - if (!stricmp(valstr, "Y-Axis")) joyaxis2_count++; - else joyaxis2_default = false; - } - if (!stricmp(v->name, "joyaxis2_side")) - { - if (joyaxis2_count > 6) return false; - else if (joyaxis2_count == 6) return true; - - if (!stricmp(valstr, "Z-Axis")) joyaxis2_count++; - else joyaxis2_default = false; - } - if (!stricmp(v->name, "joyaxis2_look")) - { - if (joyaxis2_count > 6) return false; - else if (joyaxis2_count == 6) return true; - - if (!stricmp(valstr, "None")) joyaxis2_count++; - else joyaxis2_default = false; - } - if (!stricmp(v->name, "joyaxis2_fire") - || !stricmp(v->name, "joyaxis2_firenormal")) - { - if (joyaxis2_count > 6) return false; - else if (joyaxis2_count == 6) return true; - - if (!stricmp(valstr, "None")) joyaxis2_count++; - else joyaxis2_default = false; - } - - // reset all axis settings to defaults - if (joyaxis2_count == 6) - { - COM_BufInsertText(va("%s \"%s\"\n", cv_turnaxis[1].name, cv_turnaxis[1].defaultvalue)); - COM_BufInsertText(va("%s \"%s\"\n", cv_moveaxis[1].name, cv_moveaxis[1].defaultvalue)); - COM_BufInsertText(va("%s \"%s\"\n", cv_sideaxis[1].name, cv_sideaxis[1].defaultvalue)); - COM_BufInsertText(va("%s \"%s\"\n", cv_lookaxis[1].name, cv_lookaxis[1].defaultvalue)); - COM_BufInsertText(va("%s \"%s\"\n", cv_fireaxis[1].name, cv_fireaxis[1].defaultvalue)); - COM_BufInsertText(va("%s \"%s\"\n", cv_firenaxis[1].name, cv_firenaxis[1].defaultvalue)); - joyaxis2_count++; - return false; - } - } - - // we haven't reached our counts yet, or we're not default - return true; -} - #ifndef OLD_GAMEPAD_AXES static boolean CV_ConvertOldJoyAxisVars(consvar_t *v, const char *valstr) { @@ -2355,40 +2229,6 @@ static boolean CV_FilterVarByVersion(consvar_t *v, const char *valstr) if (!(v->flags & CV_SAVE)) return true; - if (GETMAJOREXECVERSION(cv_execversion.value) < 26) // 26 = 2.1.21 - { - // MOUSE SETTINGS - // alwaysfreelook split between first and third person (chasefreelook) - // mousemove was on by default, which invalidates the current approach - if (!stricmp(v->name, "alwaysmlook") - || !stricmp(v->name, "alwaysmlook2") - || !stricmp(v->name, "mousemove") - || !stricmp(v->name, "mousemove2")) - return false; - - // mousesens was changed from 35 to 20 due to oversensitivity - if ((!stricmp(v->name, "mousesens") - || !stricmp(v->name, "mousesens2") - || !stricmp(v->name, "mouseysens") - || !stricmp(v->name, "mouseysens2")) - && atoi(valstr) == 35) - return false; - - // GAMEPAD DEFAULTS - // use_gamepad was changed from 0 to 1 to automatically use a gamepad if available -#if defined(HAVE_SDL) || defined(_WINDOWS) - if ((!stricmp(v->name, "use_joystick") - || !stricmp(v->name, "use_joystick2")) - && atoi(valstr) == 0) - return false; -#endif - - // axis defaults were changed to be friendly to 360 controllers - // if ALL axis settings are defaults, then change them to new values - if (!CV_FilterJoyAxisVars(v, valstr)) - return false; - } - #ifndef OLD_GAMEPAD_AXES if (GETMAJOREXECVERSION(cv_execversion.value) <= 51 && GETMINOREXECVERSION(cv_execversion.value) < 1) { diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 5dc391109174d8ff7143f695c4cb360abf625f56..f64d51a43e285e914740d643f55187cb19ce4f2e 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -814,14 +814,6 @@ void D_RegisterClientCommands(void) CV_RegisterVar(&cv_moveaxis[1]); CV_RegisterVar(&cv_lookaxis[0]); CV_RegisterVar(&cv_lookaxis[1]); - CV_RegisterVar(&cv_jumpaxis[0]); - CV_RegisterVar(&cv_jumpaxis[1]); - CV_RegisterVar(&cv_spinaxis[0]); - CV_RegisterVar(&cv_spinaxis[1]); - CV_RegisterVar(&cv_fireaxis[0]); - CV_RegisterVar(&cv_fireaxis[1]); - CV_RegisterVar(&cv_firenaxis[0]); - CV_RegisterVar(&cv_firenaxis[1]); CV_RegisterVar(&cv_deadzone[0]); CV_RegisterVar(&cv_deadzone[1]); CV_RegisterVar(&cv_digitaldeadzone[0]); diff --git a/src/deh_tables.c b/src/deh_tables.c index a2cc9732db6d3d651f451175208fe64455668c00..90c3047a8dc388dd85d9ccd0adb7be262e969f90 100644 --- a/src/deh_tables.c +++ b/src/deh_tables.c @@ -5648,11 +5648,6 @@ struct int_const_s const INT_CONST[] = { {"JA_MOVE",JA_MOVE}, {"JA_LOOK",JA_LOOK}, {"JA_STRAFE",JA_STRAFE}, - {"JA_DIGITAL",JA_DIGITAL}, - {"JA_JUMP",JA_JUMP}, - {"JA_SPIN",JA_SPIN}, - {"JA_FIRE",JA_FIRE}, - {"JA_FIRENORMAL",JA_FIRENORMAL}, {"JOYAXISRANGE",OLDJOYAXISRANGE}, // Game controls diff --git a/src/g_game.c b/src/g_game.c index c832af0a5e234c1844a4e6586fbc8d5bfa9b80be..dc12c2bab727752feb4ddf3a211062610c02f02d 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -299,15 +299,11 @@ CV_PossibleValue_t joyaxis_cons_t[] = {{0, "None"}, #define SIDEAXIS_DEFAULT "Left Stick X" #define LOOKAXIS_DEFAULT "Right Stick Y" #define TURNAXIS_DEFAULT "Right Stick X" -#define FIREAXIS_DEFAULT "None" -#define FIRENAXIS_DEFAULT "None" #else #define MOVEAXIS_DEFAULT "Y-Axis" #define SIDEAXIS_DEFAULT "X-Axis" #define LOOKAXIS_DEFAULT "Y-Rudder-" #define TURNAXIS_DEFAULT "X-Rudder" -#define FIREAXIS_DEFAULT "Z-Rudder" -#define FIRENAXIS_DEFAULT "Z-Axis" #endif // don't mind me putting these here, I was lazy to figure out where else I could put those without blowing up the compiler. @@ -439,22 +435,6 @@ consvar_t cv_turnaxis[2] = { CVAR_INIT ("joyaxis_turn", TURNAXIS_DEFAULT, CV_SAVE, joyaxis_cons_t, NULL), CVAR_INIT ("joyaxis2_turn", TURNAXIS_DEFAULT, CV_SAVE, joyaxis_cons_t, NULL) }; -consvar_t cv_jumpaxis[2] = { - CVAR_INIT ("joyaxis_jump", "None", CV_SAVE, joyaxis_cons_t, NULL), - CVAR_INIT ("joyaxis2_jump", "None", CV_SAVE, joyaxis_cons_t, NULL) -}; -consvar_t cv_spinaxis[2] = { - CVAR_INIT ("joyaxis_spin", "None", CV_SAVE, joyaxis_cons_t, NULL), - CVAR_INIT ("joyaxis2_spin", "None", CV_SAVE, joyaxis_cons_t, NULL) -}; -consvar_t cv_fireaxis[2] = { - CVAR_INIT ("joyaxis_fire", FIREAXIS_DEFAULT, CV_SAVE, joyaxis_cons_t, NULL), - CVAR_INIT ("joyaxis2_fire", FIREAXIS_DEFAULT, CV_SAVE, joyaxis_cons_t, NULL) -}; -consvar_t cv_firenaxis[2] = { - CVAR_INIT ("joyaxis_firenormal", FIRENAXIS_DEFAULT, CV_SAVE, joyaxis_cons_t, NULL), - CVAR_INIT ("joyaxis2_firenormal", FIRENAXIS_DEFAULT, CV_SAVE, joyaxis_cons_t, NULL) -}; consvar_t cv_deadzone[2] = { CVAR_INIT ("joy_deadzone", "0.125", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL), CVAR_INIT ("joy_deadzone2", "0.125", CV_FLOAT|CV_SAVE, zerotoone_cons_t, NULL) @@ -890,7 +870,7 @@ static gamepad_axis_e ConvertXboxControllerAxes(int type) } #endif -static INT16 GetJoystickAxisValue(UINT8 which, joyaxis_e axissel, INT32 axisval) +static INT16 GetJoystickAxisValue(INT32 axisval) { boolean flp = false; @@ -925,14 +905,7 @@ static INT16 GetJoystickAxisValue(UINT8 which, joyaxis_e axissel, INT32 axisval) } INT16 retaxis = G_GetGamepadAxisValue(0, gp_axis); - - if (gamepads[which].digital && axissel >= JA_DIGITAL) - { - const UINT16 jdeadzone = G_GetGamepadDigitalDeadZone(which) / 2; - if (-jdeadzone < retaxis && retaxis < jdeadzone) - return 0; - } - + // flip it around if (flp) { @@ -965,23 +938,11 @@ INT16 G_JoyAxis(UINT8 which, joyaxis_e axissel) case JA_STRAFE: axisval = cv_sideaxis[which].value; break; - case JA_JUMP: - axisval = cv_jumpaxis[which].value; - break; - case JA_SPIN: - axisval = cv_spinaxis[which].value; - break; - case JA_FIRE: - axisval = cv_fireaxis[which].value; - break; - case JA_FIRENORMAL: - axisval = cv_firenaxis[which].value; - break; default: return 0; } - value = GetJoystickAxisValue(which, axissel, axisval); + value = GetJoystickAxisValue(axisval); if (axissel == JA_LOOK) { // Look is inverted because +Y goes _down_ in gamepads. @@ -1092,7 +1053,7 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer) boolean forcestrafe = false; boolean forcefullinput = false; - INT32 tspeed, forward, side, axis, strafeaxis, moveaxis, turnaxis, lookaxis, i; + INT32 tspeed, forward, side, strafeaxis, moveaxis, turnaxis, lookaxis, i; joystickvector2_t movejoystickvector, lookjoystickvector; @@ -1378,13 +1339,11 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer) } // fire with any button/key - axis = G_JoyAxis(forplayer, JA_FIRE); - if (G_PlayerInputDown(forplayer, GC_FIRE) || (usegamepad && axis > 0)) + if (G_PlayerInputDown(forplayer, GC_FIRE)) cmd->buttons |= BT_ATTACK; // fire normal with any button/key - axis = G_JoyAxis(forplayer, JA_FIRENORMAL); - if (G_PlayerInputDown(forplayer, GC_FIRENORMAL) || (usegamepad && axis > 0)) + if (G_PlayerInputDown(forplayer, GC_FIRENORMAL)) cmd->buttons |= BT_FIRENORMAL; if (G_PlayerInputDown(forplayer, GC_TOSSFLAG)) @@ -1399,8 +1358,7 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer) cmd->buttons |= BT_CUSTOM3; // spin with any button/key - axis = G_JoyAxis(forplayer, JA_SPIN); - if (G_PlayerInputDown(forplayer, GC_SPIN) || (usegamepad && axis > 0)) + if (G_PlayerInputDown(forplayer, GC_SPIN)) cmd->buttons |= BT_SPIN; // Centerview can be a toggle in simple mode! @@ -1516,8 +1474,7 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer) resetdown[forplayer] = false; // jump button - axis = G_JoyAxis(forplayer, JA_JUMP); - if (G_PlayerInputDown(forplayer, GC_JUMP) || (usegamepad && axis > 0)) + if (G_PlayerInputDown(forplayer, GC_JUMP)) cmd->buttons |= BT_JUMP; // player aiming shit, ahhhh... diff --git a/src/g_game.h b/src/g_game.h index e798176af06851822ec7956f88c5917751b7fb61..8d6e84b128aa2e8bdff57fc61a92ff7dc2950ba2 100644 --- a/src/g_game.h +++ b/src/g_game.h @@ -71,7 +71,6 @@ extern consvar_t cv_autobrake, cv_autobrake2; extern consvar_t cv_ghost_bestscore, cv_ghost_besttime, cv_ghost_bestrings, cv_ghost_last, cv_ghost_guest; extern consvar_t cv_sideaxis[2], cv_turnaxis[2], cv_moveaxis[2], cv_lookaxis[2], - cv_jumpaxis[2], cv_spinaxis[2], cv_fireaxis[2], cv_firenaxis[2], cv_deadzone[2], cv_digitaldeadzone[2]; extern CV_PossibleValue_t joyaxis_cons_t[]; @@ -98,13 +97,6 @@ typedef enum JA_MOVE, JA_LOOK, JA_STRAFE, - - JA_DIGITAL, // axes henceforth use digital deadzone - - JA_JUMP = JA_DIGITAL, - JA_SPIN, - JA_FIRE, - JA_FIRENORMAL, } joyaxis_e; INT16 G_JoyAxis(UINT8 which, joyaxis_e axissel); diff --git a/src/g_input.c b/src/g_input.c index ee9f8a24b50d5152da0bdc29fe5d21842008a922..58a51fd89d394aac9cff1494e04d71a70b013963 100644 --- a/src/g_input.c +++ b/src/g_input.c @@ -1506,7 +1506,7 @@ INT32 G_CheckDoubleUsage(INT32 keynum, boolean modify, UINT8 player) return result; } -static INT32 G_FilterSpecialKeys(INT32 keyidx, INT32 player, INT32 *keynum1, INT32 *keynum2) +static INT32 G_FilterSpecialKeys(INT32 keyidx, INT32 *keynum1, INT32 *keynum2) { // Special case: ignore KEY_PAUSE because it's hardcoded if (keyidx == 0 && *keynum1 == KEY_PAUSE) @@ -1529,11 +1529,6 @@ static INT32 G_FilterSpecialKeys(INT32 keyidx, INT32 player, INT32 *keynum1, INT return *keynum1; } -static INT32 G_TranslateJoyKeys(INT32 *keynum1, INT32 *keynum2) -{ - -} - static void setcontrol(INT32 (*gc)[2]) { INT32 numctrl; @@ -1554,7 +1549,7 @@ static void setcontrol(INT32 (*gc)[2]) } keynum1 = G_KeyNameToNum(COM_Argv(2)); keynum2 = G_KeyNameToNum(COM_Argv(3)); - keynum = G_FilterSpecialKeys(0, player, &keynum1, &keynum2); + keynum = G_FilterSpecialKeys(0, &keynum1, &keynum2); if (keynum >= 0) { @@ -1565,7 +1560,7 @@ static void setcontrol(INT32 (*gc)[2]) { keynum1 = keynum2; // push down keynum2 keynum2 = 0; - keynum = G_FilterSpecialKeys(0, player, &keynum1, &keynum2); + keynum = G_FilterSpecialKeys(0, &keynum1, &keynum2); if (keynum >= 0) (void)G_CheckDoubleUsage(keynum, true, player+1); } @@ -1576,7 +1571,7 @@ static void setcontrol(INT32 (*gc)[2]) if (keynum2) { - keynum = G_FilterSpecialKeys(1, player, &keynum1, &keynum2); + keynum = G_FilterSpecialKeys(1, &keynum1, &keynum2); if (keynum >= 0) { if (keynum != gc[numctrl][0]) diff --git a/src/m_menu.c b/src/m_menu.c index 29a07a28dd6f057ba4b31bc18e57e160e6cbf37b..71cb2cbecebf8d7323e6bb28de1f6726ddbed04f 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -1071,7 +1071,8 @@ static menuitem_t OP_MainMenu[] = {IT_SUBMENU | IT_STRING, NULL, "Player 1 Controls...", &OP_P1ControlsDef, 10}, {IT_SUBMENU | IT_STRING, NULL, "Player 2 Controls...", &OP_P2ControlsDef, 20}, - {IT_CALL | IT_STRING, NULL, "Video Options...", M_VideoOptions, 50}, + {IT_CALL | IT_STRING, NULL, "Video Options...", M_VideoOptions, 40}, + {IT_SUBMENU | IT_STRING, NULL, "Sound Options...", &OP_SoundOptionsDef, 60}, {IT_CALL | IT_STRING, NULL, "Server Options...", M_ServerOptions, 80}, @@ -1079,6 +1080,16 @@ static menuitem_t OP_MainMenu[] = {IT_SUBMENU | IT_STRING, NULL, "Data Options...", &OP_DataOptionsDef, 100}, }; +enum +{ + opplayer1, + opplayer2, + opvideo, + opsound, + opserver, + opdata +}; + static menuitem_t OP_P1ControlsMenu[] = { {IT_CALL | IT_STRING, NULL, "Control Configuration...", M_Setup1PControlsMenu, 10}, @@ -1166,15 +1177,11 @@ static menuitem_t OP_Gamepad1Menu[] = {IT_STRING | IT_CVAR, NULL, "Move \x18 Axis" , &cv_sideaxis[0] , 40}, {IT_STRING | IT_CVAR, NULL, "Camera \x17 Axis" , &cv_lookaxis[0] , 50}, {IT_STRING | IT_CVAR, NULL, "Camera \x18 Axis" , &cv_turnaxis[0] , 60}, - {IT_STRING | IT_CVAR, NULL, "Jump Axis" , &cv_jumpaxis[0] , 70}, - {IT_STRING | IT_CVAR, NULL, "Spin Axis" , &cv_spinaxis[0] , 80}, - {IT_STRING | IT_CVAR, NULL, "Fire Axis" , &cv_fireaxis[0] , 90}, - {IT_STRING | IT_CVAR, NULL, "Fire Normal Axis" , &cv_firenaxis[0] ,100}, - - {IT_STRING | IT_CVAR, NULL, "First-Person Vert-Look", &cv_alwaysfreelook, 120}, - {IT_STRING | IT_CVAR, NULL, "Third-Person Vert-Look", &cv_chasefreelook, 130}, - {IT_STRING | IT_CVAR | IT_CV_FLOATSLIDER, NULL, "Analog Deadzone", &cv_deadzone[0], 140}, - {IT_STRING | IT_CVAR | IT_CV_FLOATSLIDER, NULL, "Digital Deadzone", &cv_digitaldeadzone[0], 150}, + + {IT_STRING | IT_CVAR, NULL, "First-Person Vert-Look", &cv_alwaysfreelook, 80}, + {IT_STRING | IT_CVAR, NULL, "Third-Person Vert-Look", &cv_chasefreelook, 90}, + {IT_STRING | IT_CVAR | IT_CV_FLOATSLIDER, NULL, "Analog Deadzone", &cv_deadzone[0], 100}, + {IT_STRING | IT_CVAR | IT_CV_FLOATSLIDER, NULL, "Digital Deadzone", &cv_digitaldeadzone[0], 110}, }; static menuitem_t OP_Gamepad2Menu[] = @@ -1184,15 +1191,11 @@ static menuitem_t OP_Gamepad2Menu[] = {IT_STRING | IT_CVAR, NULL, "Move \x18 Axis" , &cv_sideaxis[1] , 40}, {IT_STRING | IT_CVAR, NULL, "Camera \x17 Axis" , &cv_lookaxis[1] , 50}, {IT_STRING | IT_CVAR, NULL, "Camera \x18 Axis" , &cv_turnaxis[1] , 60}, - {IT_STRING | IT_CVAR, NULL, "Jump Axis" , &cv_jumpaxis[1] , 70}, - {IT_STRING | IT_CVAR, NULL, "Spin Axis" , &cv_spinaxis[1] , 80}, - {IT_STRING | IT_CVAR, NULL, "Fire Axis" , &cv_fireaxis[1] , 90}, - {IT_STRING | IT_CVAR, NULL, "Fire Normal Axis" , &cv_firenaxis[1] ,100}, - - {IT_STRING | IT_CVAR, NULL, "First-Person Vert-Look", &cv_alwaysfreelook2,120}, - {IT_STRING | IT_CVAR, NULL, "Third-Person Vert-Look", &cv_chasefreelook2, 130}, - {IT_STRING | IT_CVAR | IT_CV_FLOATSLIDER, NULL, "Analog Deadzone", &cv_deadzone[1],140}, - {IT_STRING | IT_CVAR | IT_CV_FLOATSLIDER, NULL, "Digital Deadzone", &cv_digitaldeadzone[1],150}, + + {IT_STRING | IT_CVAR, NULL, "First-Person Vert-Look", &cv_alwaysfreelook2,80}, + {IT_STRING | IT_CVAR, NULL, "Third-Person Vert-Look", &cv_chasefreelook2, 90}, + {IT_STRING | IT_CVAR | IT_CV_FLOATSLIDER, NULL, "Analog Deadzone", &cv_deadzone[1],100}, + {IT_STRING | IT_CVAR | IT_CV_FLOATSLIDER, NULL, "Digital Deadzone", &cv_digitaldeadzone[1],110}, }; static menuitem_t OP_GamepadSetMenu[MAX_CONNECTED_GAMEPADS + 1]; @@ -1540,6 +1543,12 @@ static menuitem_t OP_DataOptionsMenu[] = {IT_STRING | IT_SUBMENU, NULL, "\x85" "Erase Data...", &OP_EraseDataDef, 40}, }; +enum{ + opdataaddon, + opdatascreenshot, + opdataerase +}; + static menuitem_t OP_ScreenshotOptionsMenu[] = { {IT_HEADER, NULL, "General", NULL, 0}, @@ -7028,10 +7037,10 @@ static void M_Options(INT32 choice) (void)choice; // if the player is not admin or server, disable server options - OP_MainMenu[5].status = (Playing() && !(server || IsPlayerAdmin(consoleplayer))) ? (IT_GRAYEDOUT) : (IT_STRING|IT_CALL); + OP_MainMenu[opserver].status = (Playing() && !(server || IsPlayerAdmin(consoleplayer))) ? (IT_GRAYEDOUT) : (IT_STRING|IT_CALL); // if the player is playing _at all_, disable the erase data options - OP_DataOptionsMenu[2].status = (Playing()) ? (IT_GRAYEDOUT) : (IT_STRING|IT_SUBMENU); + OP_DataOptionsMenu[opdataerase].status = (Playing()) ? (IT_GRAYEDOUT) : (IT_STRING|IT_SUBMENU); OP_MainDef.prevMenu = currentMenu; M_SetupNextMenu(&OP_MainDef);