diff --git a/CHANGES b/CHANGES index 8bcacd5e1..5e4ec7943 100644 --- a/CHANGES +++ b/CHANGES @@ -23,6 +23,7 @@ Misc: - GBA Video: Allow multiple handles into the same tile cache - VFS: Call msync when syncing mapped data - GBA Video, GB Video: Colors are now fully scaled + - PSP2: Improved controller rumble 0.5.1: (2016-10-05) Bugfixes: diff --git a/src/platform/psp2/psp2-context.c b/src/platform/psp2/psp2-context.c index 247676e1e..8b75af17c 100644 --- a/src/platform/psp2/psp2-context.c +++ b/src/platform/psp2/psp2-context.c @@ -134,9 +134,11 @@ static void _setRumble(struct mRumble* source, int enable) { rumble->current -= oldLevel; } CircleBufferWrite8(&rumble->history, enable); + int small = (rumble->current << 21) / 65793; + int big = ((rumble->current * rumble->current) << 18) / 65793; struct SceCtrlActuator state = { - rumble->current * 31, - 0 + small, + big }; sceCtrlSetActuator(1, &state); }