Modify rumble amplification

This commit is contained in:
german77 2020-11-19 11:30:52 -06:00
parent 92344da20c
commit 5b6545b141
2 changed files with 3 additions and 4 deletions

View File

@ -302,8 +302,8 @@ public:
bool SetRumblePlay(f32 amp_low, f32 freq_low, f32 amp_high, f32 freq_high) const override { bool SetRumblePlay(f32 amp_low, f32 freq_low, f32 amp_high, f32 freq_high) const override {
const auto mean_amplitude = (amp_low + amp_high) * 0.5f; const auto mean_amplitude = (amp_low + amp_high) * 0.5f;
const auto processed_amplitude = static_cast<u8>( const auto processed_amplitude =
pow(mean_amplitude, 0.5f) * (3.0f - 2.0f * pow(mean_amplitude, 0.15f)) * 0x8); static_cast<u8>((mean_amplitude + std::pow(mean_amplitude, 0.3f)) * 0.5f * 0x8);
return gcadapter->RumblePlay(port, processed_amplitude); return gcadapter->RumblePlay(port, processed_amplitude);
} }

View File

@ -402,8 +402,7 @@ public:
bool SetRumblePlay(f32 amp_low, f32 freq_low, f32 amp_high, f32 freq_high) const override { bool SetRumblePlay(f32 amp_low, f32 freq_low, f32 amp_high, f32 freq_high) const override {
const auto process_amplitude = [](f32 amplitude) { const auto process_amplitude = [](f32 amplitude) {
return static_cast<u16>(std::pow(amplitude, 0.5f) * return static_cast<u16>((amplitude + std::pow(amplitude, 0.3f)) * 0.5f * 0xFFFF);
(3.0f - 2.0f * std::pow(amplitude, 0.15f)) * 0xFFFF);
}; };
const auto processed_amp_low = process_amplitude(amp_low); const auto processed_amp_low = process_amplitude(amp_low);