From 972563ca1f1fa4c30ea7ece1d23d96900c7ad904 Mon Sep 17 00:00:00 2001 From: JupiterRider <60042618+JupiterRider@users.noreply.github.com> Date: Sat, 23 Nov 2024 20:41:25 +0100 Subject: [PATCH] SetGamepadVibration() added --- raylib/raylib_purego.go | 7 +++++++ raylib/rcore.go | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/raylib/raylib_purego.go b/raylib/raylib_purego.go index b430d5e..498d4b1 100644 --- a/raylib/raylib_purego.go +++ b/raylib/raylib_purego.go @@ -161,6 +161,7 @@ var getGamepadButtonPressed func() int32 var getGamepadAxisCount func(gamepad int32) int32 var getGamepadAxisMovement func(gamepad int32, axis int32) float32 var setGamepadMappings func(mappings string) int32 +var setGamepadVibration func(gamepad int32, leftMotor, rightMotor, duration float32) var isMouseButtonPressed func(button int32) bool var isMouseButtonDown func(button int32) bool var isMouseButtonReleased func(button int32) bool @@ -661,6 +662,7 @@ func init() { purego.RegisterLibFunc(&getGamepadAxisCount, raylibDll, "GetGamepadAxisCount") purego.RegisterLibFunc(&getGamepadAxisMovement, raylibDll, "GetGamepadAxisMovement") purego.RegisterLibFunc(&setGamepadMappings, raylibDll, "SetGamepadMappings") + purego.RegisterLibFunc(&setGamepadVibration, raylibDll, "SetGamepadVibration") purego.RegisterLibFunc(&isMouseButtonPressed, raylibDll, "IsMouseButtonPressed") purego.RegisterLibFunc(&isMouseButtonDown, raylibDll, "IsMouseButtonDown") purego.RegisterLibFunc(&isMouseButtonReleased, raylibDll, "IsMouseButtonReleased") @@ -1822,6 +1824,11 @@ func SetGamepadMappings(mappings string) int32 { return setGamepadMappings(mappings) } +// SetGamepadVibration - Set gamepad vibration for both motors (duration in seconds) +func SetGamepadVibration(gamepad int32, leftMotor, rightMotor, duration float32) { + setGamepadVibration(gamepad, leftMotor, rightMotor, duration) +} + // IsMouseButtonPressed - Check if a mouse button has been pressed once func IsMouseButtonPressed(button MouseButton) bool { return isMouseButtonPressed(int32(button)) diff --git a/raylib/rcore.go b/raylib/rcore.go index 1e74ec3..392a077 100644 --- a/raylib/rcore.go +++ b/raylib/rcore.go @@ -1112,6 +1112,11 @@ func SetGamepadMappings(mappings string) int32 { return v } +// SetGamepadVibration - Set gamepad vibration for both motors (duration in seconds) +func SetGamepadVibration(gamepad int32, leftMotor, rightMotor, duration float32) { + C.SetGamepadVibration(C.int(gamepad), C.float(leftMotor), C.float(rightMotor), C.float(duration)) +} + // IsMouseButtonPressed - Detect if a mouse button has been pressed once func IsMouseButtonPressed(button MouseButton) bool { cbutton := (C.int)(button)