From 87e693298654c37db357352c3b73f7e515d3a666 Mon Sep 17 00:00:00 2001 From: asdqwe Date: Mon, 21 Oct 2024 14:32:16 -0300 Subject: [PATCH] Handle MAX_GAMEPAD_VIBRATION_TIME --- src/config.h | 2 +- src/platforms/rcore_desktop_sdl.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/config.h b/src/config.h index 9123a2291..da70d51a3 100644 --- a/src/config.h +++ b/src/config.h @@ -81,7 +81,7 @@ #define MAX_GAMEPADS 4 // Maximum number of gamepads supported #define MAX_GAMEPAD_AXIS 8 // Maximum number of axis supported (per gamepad) #define MAX_GAMEPAD_BUTTONS 32 // Maximum number of buttons supported (per gamepad) -#define MAX_GAMEPAD_VIBRATION_TIME 2.0f // Maximum vibration time in seconds +#define MAX_GAMEPAD_VIBRATION_TIME 2000 // Maximum vibration time in ms #define MAX_TOUCH_POINTS 8 // Maximum number of touch points supported #define MAX_KEY_PRESSED_QUEUE 16 // Maximum number of keys in the key input queue #define MAX_CHAR_PRESSED_QUEUE 16 // Maximum number of characters in the char input queue diff --git a/src/platforms/rcore_desktop_sdl.c b/src/platforms/rcore_desktop_sdl.c index cbd5c3e60..df4b987df 100644 --- a/src/platforms/rcore_desktop_sdl.c +++ b/src/platforms/rcore_desktop_sdl.c @@ -961,6 +961,7 @@ void SetGamepadVibration(int gamepad, float low, float high, int duration) if (low > 1.0f) low = 1.0f; if (high < 0.0f) high = 0.0f; if (high > 1.0f) high = 1.0f; + if (duration > MAX_GAMEPAD_VIBRATION_TIME) duration = MAX_GAMEPAD_VIBRATION_TIME; SDL_GameControllerRumble(platform.gamepad[gamepad], (Uint16)(low*65535.0f), (Uint16)(high*65535.0f), (Uint32)duration); }