Apply deadzone to gamepad for strict mode check (#1550)

This commit is contained in:
ceski 2024-03-03 08:27:11 -08:00 committed by GitHub
parent 5e7ba29cc8
commit 4d3c380f0d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1052,14 +1052,31 @@ static boolean G_StrictModeSkipEvent(event_t *ev)
case ev_joyb_down:
case ev_joyb_up:
case ev_joystick:
if (first_event && (ev->data1 || ev->data2 || ev->data3 || ev->data4))
if (first_event)
{
first_event = false;
enable_controller = true;
}
return !enable_controller;
case ev_joystick:
if (first_event)
{
*axes_data[AXIS_LEFTX] = ev->data1;
*axes_data[AXIS_LEFTY] = ev->data2;
*axes_data[AXIS_RIGHTX] = ev->data3;
*axes_data[AXIS_RIGHTY] = ev->data4;
I_CalcControllerAxes();
if (axes[AXIS_STRAFE] || axes[AXIS_FORWARD] || axes[AXIS_TURN] ||
axes[AXIS_LOOK])
{
first_event = false;
enable_controller = true;
}
return true; // Already "ate" the event above.
}
return !enable_controller;
default:
break;
}