ControllerInterface: Don't use a minimum strength of 0.01
This commit is contained in:
parent
3096f0953f
commit
67d0bbedb1
|
@ -394,13 +394,12 @@ void SDLControllerInterface::SetControllerRumbleStrength(int controller_index, c
|
|||
return;
|
||||
|
||||
// we'll update before this duration is elapsed
|
||||
static constexpr float MIN_STRENGTH = 0.01f;
|
||||
static constexpr u32 DURATION = 100000;
|
||||
|
||||
SDL_Haptic* haptic = static_cast<SDL_Haptic*>(it->haptic);
|
||||
if (it->haptic_left_right_effect >= 0 && num_motors > 1)
|
||||
{
|
||||
if (strengths[0] >= MIN_STRENGTH || strengths[1] >= MIN_STRENGTH)
|
||||
if (strengths[0] > 0.0f || strengths[1] > 0.0f)
|
||||
{
|
||||
SDL_HapticEffect ef;
|
||||
ef.type = SDL_HAPTIC_LEFTRIGHT;
|
||||
|
@ -421,7 +420,7 @@ void SDLControllerInterface::SetControllerRumbleStrength(int controller_index, c
|
|||
for (u32 i = 0; i < num_motors; i++)
|
||||
max_strength = std::max(max_strength, strengths[i]);
|
||||
|
||||
if (max_strength >= MIN_STRENGTH)
|
||||
if (max_strength > 0.0f)
|
||||
SDL_HapticRumblePlay(haptic, max_strength, DURATION);
|
||||
else
|
||||
SDL_HapticRumbleStop(haptic);
|
||||
|
|
|
@ -296,13 +296,9 @@ void XInputControllerInterface::SetControllerRumbleStrength(int controller_index
|
|||
{
|
||||
DebugAssert(static_cast<u32>(controller_index) < XUSER_MAX_COUNT);
|
||||
|
||||
// we'll update before this duration is elapsed
|
||||
static constexpr float MIN_STRENGTH = 0.01f;
|
||||
static constexpr u32 DURATION = 100000;
|
||||
|
||||
XINPUT_VIBRATION vib;
|
||||
vib.wLeftMotorSpeed = (strengths[0] >= MIN_STRENGTH) ? static_cast<u16>(strengths[0] * 65535.0f) : 0;
|
||||
vib.wRightMotorSpeed = (strengths[1] >= MIN_STRENGTH) ? static_cast<u16>(strengths[1] * 65535.0f) : 0;
|
||||
vib.wLeftMotorSpeed = static_cast<u16>(strengths[0] * 65535.0f);
|
||||
vib.wRightMotorSpeed = static_cast<u16>(strengths[1] * 65535.0f);
|
||||
m_xinput_set_state(static_cast<u32>(controller_index), &vib);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue