Force menus to use default controls for now. Update device in realtime in control setup menu

This commit is contained in:
SinnamonLat 2022-04-11 14:50:51 +02:00
parent 8b88284b32
commit 6db54f77d8
3 changed files with 8 additions and 1 deletions

View file

@ -669,6 +669,11 @@ INT32 G_PlayerInputAnalog(UINT8 p, INT32 gc, UINT8 menuPlayers)
boolean tryingotherID = false;
INT32 *controltable = &(gamecontrol[p][gc][0]);
// Due to issues currently, force menus to use default controls regardless.
// @FIXME ?
if (gamestate == GS_MENU || menuactive == true)
controltable = &(gamecontroldefault[gc][0]);
if (p >= MAXSPLITSCREENPLAYERS)
{
#ifdef PARANOIA

View file

@ -35,7 +35,7 @@ consvar_t cv_controlperkey = CVAR_INIT ("controlperkey", "One", CV_SAVE, onecont
// current state of the keys
// FRACUNIT for fully pressed, 0 for not pressed
INT32 gamekeydown[MAXDEVICES][NUMINPUTS];
boolean deviceResponding[MAXDEVICES];
boolean deviceResponding[MAXDEVICES];
// two key codes (or virtual key) per game control
INT32 gamecontrol[MAXSPLITSCREENPLAYERS][num_gamecontrols][MAXINPUTMAPPING];

View file

@ -4040,6 +4040,8 @@ boolean M_ProfileControlsInputs(INT32 ch)
if (optionsmenu.bindcontrol)
return true; // Eat all inputs there. We'll use a stupid hack in M_Responder instead.
SetDeviceOnPress(); // Update device constantly so that we don't stay stuck with otpions saying a device is unavailable just because we're mapping multiple devices...
if (M_MenuButtonPressed(pid, MBT_C) || M_MenuButtonPressed(pid, MBT_Z))
{
// check if we're on a valid menu option...