Updates SetGamepadVibration()

This commit is contained in:
asdqwe 2024-10-21 13:58:40 -03:00
parent a2fcbc94fd
commit 073c221b95
6 changed files with 14 additions and 15 deletions

View File

@ -615,7 +615,7 @@ int SetGamepadMappings(const char *mappings)
}
// Set gamepad vibration
void SetGamepadVibration(int gamepad, float leftMotor, float rightMotor)
void SetGamepadVibration(int gamepad, float low, float high, int duration)
{
TRACELOG(LOG_WARNING, "GamepadSetVibration() not implemented on target platform");
}

View File

@ -1060,7 +1060,7 @@ int SetGamepadMappings(const char *mappings)
}
// Set gamepad vibration
void SetGamepadVibration(int gamepad, float leftMotor, float rightMotor)
void SetGamepadVibration(int gamepad, float low, float high, int duration)
{
TRACELOG(LOG_WARNING, "GamepadSetVibration() not available on target platform");
}

View File

@ -953,17 +953,16 @@ int SetGamepadMappings(const char *mappings)
}
// Set gamepad vibration
void SetGamepadVibration(int gamepad, float leftMotor, float rightMotor)
void SetGamepadVibration(int gamepad, float low, float high, int duration)
{
// Limit input values to between 0.0f and 1.0f
leftMotor = (0.0f > leftMotor)? 0.0f : leftMotor;
rightMotor = (0.0f > rightMotor)? 0.0f : rightMotor;
leftMotor = (1.0f < leftMotor)? 1.0f : leftMotor;
rightMotor = (1.0f < rightMotor)? 1.0f : rightMotor;
if ((gamepad < MAX_GAMEPADS) && CORE.Input.Gamepad.ready[gamepad] && (duration > 0))
{
if (low < 0.0f) low = 0.0f;
if (low > 1.0f) low = 1.0f;
if (high < 0.0f) high = 0.0f;
if (high > 1.0f) high = 1.0f;
if (IsGamepadAvailable(gamepad))
{
SDL_GameControllerRumble(platform.gamepad[gamepad], (Uint16)(leftMotor*65535.0f), (Uint16)(rightMotor*65535.0f), (Uint32)(MAX_GAMEPAD_VIBRATION_TIME*1000.0f));
SDL_GameControllerRumble(platform.gamepad[gamepad], (Uint16)(low*65535.0f), (Uint16)(high*65535.0f), (Uint32)duration);
}
}

View File

@ -610,7 +610,7 @@ int SetGamepadMappings(const char *mappings)
}
// Set gamepad vibration
void SetGamepadVibration(int gamepad, float leftMotor, float rightMotor)
void SetGamepadVibration(int gamepad, float low, float high, int duration)
{
TRACELOG(LOG_WARNING, "GamepadSetVibration() not implemented on target platform");
}

View File

@ -892,7 +892,7 @@ int SetGamepadMappings(const char *mappings)
}
// Set gamepad vibration
void SetGamepadVibration(int gamepad, float leftMotor, float rightMotor)
void SetGamepadVibration(int gamepad, float low, float high, int duration)
{
TRACELOG(LOG_WARNING, "GamepadSetVibration() not implemented on target platform");
}

View File

@ -1184,7 +1184,7 @@ RLAPI int GetGamepadButtonPressed(void);
RLAPI int GetGamepadAxisCount(int gamepad); // Get gamepad axis count for a gamepad
RLAPI float GetGamepadAxisMovement(int gamepad, int axis); // Get axis movement value for a gamepad axis
RLAPI int SetGamepadMappings(const char *mappings); // Set internal gamepad mappings (SDL_GameControllerDB)
RLAPI void SetGamepadVibration(int gamepad, float leftMotor, float rightMotor); // Set gamepad vibration for both motors
RLAPI void SetGamepadVibration(int gamepad, float low, float high, int duration); // Set gamepad vibration for both motors (duration in ms)
// Input-related functions: mouse
RLAPI bool IsMouseButtonPressed(int button); // Check if a mouse button has been pressed once