summaryrefslogtreecommitdiff
path: root/Source/3rdParty/SDL2/src/haptic/android/SDL_syshaptic.c
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2019-01-31 18:38:35 +0800
committerchai <chaifix@163.com>2019-01-31 18:38:35 +0800
commit2ec55fd974a63b705a4777c256d2222c874fa043 (patch)
tree48f1fea59ee9fc713a28a9aac3f05b98dc5ae66f /Source/3rdParty/SDL2/src/haptic/android/SDL_syshaptic.c
parentc581dfbf1e849f393861d15e82aa6446c0c1c310 (diff)
*SDL project
Diffstat (limited to 'Source/3rdParty/SDL2/src/haptic/android/SDL_syshaptic.c')
-rw-r--r--Source/3rdParty/SDL2/src/haptic/android/SDL_syshaptic.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/Source/3rdParty/SDL2/src/haptic/android/SDL_syshaptic.c b/Source/3rdParty/SDL2/src/haptic/android/SDL_syshaptic.c
index 1fb2352..7cb289b 100644
--- a/Source/3rdParty/SDL2/src/haptic/android/SDL_syshaptic.c
+++ b/Source/3rdParty/SDL2/src/haptic/android/SDL_syshaptic.c
@@ -195,6 +195,10 @@ SDL_SYS_HapticClose(SDL_Haptic * haptic)
void
SDL_SYS_HapticQuit(void)
{
+/* We don't have any way to scan for joysticks (and their vibrators) at init, so don't wipe the list
+ * of joysticks here in case this is a reinit.
+ */
+#if 0
SDL_hapticlist_item *item = NULL;
SDL_hapticlist_item *next = NULL;
@@ -206,6 +210,7 @@ SDL_SYS_HapticQuit(void)
SDL_hapticlist = SDL_hapticlist_tail = NULL;
numhaptics = 0;
return;
+#endif
}
@@ -230,7 +235,12 @@ int
SDL_SYS_HapticRunEffect(SDL_Haptic * haptic, struct haptic_effect *effect,
Uint32 iterations)
{
- Android_JNI_HapticRun (((SDL_hapticlist_item *)haptic->hwdata)->device_id, effect->effect.leftright.length);
+ float large = effect->effect.leftright.large_magnitude / 32767.0f;
+ float small = effect->effect.leftright.small_magnitude / 32767.0f;
+
+ float total = (large * 0.6f) + (small * 0.4f);
+
+ Android_JNI_HapticRun (((SDL_hapticlist_item *)haptic->hwdata)->device_id, total, effect->effect.leftright.length);
return 0;
}
@@ -238,6 +248,7 @@ SDL_SYS_HapticRunEffect(SDL_Haptic * haptic, struct haptic_effect *effect,
int
SDL_SYS_HapticStopEffect(SDL_Haptic * haptic, struct haptic_effect *effect)
{
+ Android_JNI_HapticStop (((SDL_hapticlist_item *)haptic->hwdata)->device_id);
return 0;
}