diff --git a/src/duckstation-libretro/libretro_host_interface.cpp b/src/duckstation-libretro/libretro_host_interface.cpp index b788874f9..a7b14545b 100644 --- a/src/duckstation-libretro/libretro_host_interface.cpp +++ b/src/duckstation-libretro/libretro_host_interface.cpp @@ -761,13 +761,10 @@ void LibretroHostInterface::UpdateControllersAnalogController(u32 index) if (m_rumble_interface_valid) { - const u32 motor_count = controller->GetVibrationMotorCount(); - for (u32 i = 0; i < motor_count; i++) - { - const float strength = controller->GetVibrationMotorStrength(i); - m_rumble_interface.set_rumble_state(index, RETRO_RUMBLE_STRONG, - static_cast(static_cast(strength * 65565.0f))); - } + const u16 strong = static_cast(static_cast(controller->GetVibrationMotorStrength(0) * 65565.0f)); + const u16 weak = static_cast(static_cast(controller->GetVibrationMotorStrength(1) * 65565.0f)); + m_rumble_interface.set_rumble_state(index, RETRO_RUMBLE_STRONG, strong); + m_rumble_interface.set_rumble_state(index, RETRO_RUMBLE_WEAK, weak); } }