diff options
Diffstat (limited to 'src/input_common')
| -rw-r--r-- | src/input_common/gcadapter/gc_poller.cpp | 4 | ||||
| -rw-r--r-- | src/input_common/sdl/sdl_impl.cpp | 3 |
2 files changed, 3 insertions, 4 deletions
diff --git a/src/input_common/gcadapter/gc_poller.cpp b/src/input_common/gcadapter/gc_poller.cpp index fe57c13a5..d95574bb5 100644 --- a/src/input_common/gcadapter/gc_poller.cpp +++ b/src/input_common/gcadapter/gc_poller.cpp | |||
| @@ -302,8 +302,8 @@ public: | |||
| 302 | 302 | ||
| 303 | bool SetRumblePlay(f32 amp_low, f32 freq_low, f32 amp_high, f32 freq_high) const override { | 303 | bool SetRumblePlay(f32 amp_low, f32 freq_low, f32 amp_high, f32 freq_high) const override { |
| 304 | const auto mean_amplitude = (amp_low + amp_high) * 0.5f; | 304 | const auto mean_amplitude = (amp_low + amp_high) * 0.5f; |
| 305 | const auto processed_amplitude = static_cast<u8>( | 305 | const auto processed_amplitude = |
| 306 | pow(mean_amplitude, 0.5f) * (3.0f - 2.0f * pow(mean_amplitude, 0.15f)) * 0x8); | 306 | static_cast<u8>((mean_amplitude + std::pow(mean_amplitude, 0.3f)) * 0.5f * 0x8); |
| 307 | 307 | ||
| 308 | return gcadapter->RumblePlay(port, processed_amplitude); | 308 | return gcadapter->RumblePlay(port, processed_amplitude); |
| 309 | } | 309 | } |
diff --git a/src/input_common/sdl/sdl_impl.cpp b/src/input_common/sdl/sdl_impl.cpp index 8c48bb861..c395d96cf 100644 --- a/src/input_common/sdl/sdl_impl.cpp +++ b/src/input_common/sdl/sdl_impl.cpp | |||
| @@ -402,8 +402,7 @@ public: | |||
| 402 | 402 | ||
| 403 | bool SetRumblePlay(f32 amp_low, f32 freq_low, f32 amp_high, f32 freq_high) const override { | 403 | bool SetRumblePlay(f32 amp_low, f32 freq_low, f32 amp_high, f32 freq_high) const override { |
| 404 | const auto process_amplitude = [](f32 amplitude) { | 404 | const auto process_amplitude = [](f32 amplitude) { |
| 405 | return static_cast<u16>(std::pow(amplitude, 0.5f) * | 405 | return static_cast<u16>((amplitude + std::pow(amplitude, 0.3f)) * 0.5f * 0xFFFF); |
| 406 | (3.0f - 2.0f * std::pow(amplitude, 0.15f)) * 0xFFFF); | ||
| 407 | }; | 406 | }; |
| 408 | 407 | ||
| 409 | const auto processed_amp_low = process_amplitude(amp_low); | 408 | const auto processed_amp_low = process_amplitude(amp_low); |