Mercurial > sdl-ios-xcode
changeset 2563:be2ea885d70b gsoc2008_force_feedback
More verbose about envelopes.
author | Edgar Simo <bobbens@gmail.com> |
---|---|
date | Thu, 31 Jul 2008 10:25:49 +0000 |
parents | c284ce0cd8e0 |
children | c9348710a98a |
files | include/SDL_haptic.h src/haptic/darwin/SDL_syshaptic.c |
diffstat | 2 files changed, 15 insertions(+), 29 deletions(-) [+] |
line wrap: on
line diff
--- a/include/SDL_haptic.h Thu Jul 31 10:21:11 2008 +0000 +++ b/include/SDL_haptic.h Thu Jul 31 10:25:49 2008 +0000 @@ -649,6 +649,9 @@ * use them if possible. Buttons start at index 1 instead of index 0 like * they joystick. * + * If both attack_length and fade_level are 0, the envelope is not used, + * otherwise both values are used. + * * Common parts: * \code * // Replay - All effects have this
--- a/src/haptic/darwin/SDL_syshaptic.c Thu Jul 31 10:21:11 2008 +0000 +++ b/src/haptic/darwin/SDL_syshaptic.c Thu Jul 31 10:25:49 2008 +0000 @@ -655,17 +655,13 @@ } /* Envelope */ - if (envelope->dwAttackTime == 0) { - envelope->dwAttackLevel = constant->dwMagnitude + if ((envelope->dwAttackTime == 0) && (envelope->dwFadeTime == 0)) { + SDL_free(envelope); + dest->lpEnvelope = NULL; } else { envelope->dwAttackLevel = CONVERT(hap_constant->attack_level); envelope->dwAttackTime = hap_constant->attack_length * 1000; - } - if (envelope->dwFadeTime == 0) { - envelope->dwFadeLevel = constant->dwMagnitude - } - else { envelope->dwFadeLevel = CONVERT(hap_constant->fade_level); envelope->dwFadeTime = hap_constant->fade_length * 1000; } @@ -705,17 +701,13 @@ } /* Envelope */ - if (envelope->dwAttackTime == 0) { - envelope->dwAttackLevel = periodic->dwMagnitude + if ((envelope->dwAttackTime == 0) && (envelope->dwFadeTime == 0)) { + SDL_free(envelope); + dest->lpEnvelope = NULL; } else { envelope->dwAttackLevel = CONVERT(hap_periodic->attack_level); envelope->dwAttackTime = hap_periodic->attack_length * 1000; - } - if (envelope->dwFadeTime == 0) { - envelope->dwFadeLevel = periodic->dwMagnitude - } - else { envelope->dwFadeLevel = CONVERT(hap_periodic->fade_level); envelope->dwFadeTime = hap_periodic->fade_length * 1000; } @@ -796,17 +788,12 @@ } /* Envelope */ - if (envelope->dwAttackTime == 0) { - envelope->dwAttackLevel = ramp->dwMagnitude - } + if ((envelope->dwAttackTime == 0) && (envelope->dwFadeTime == 0)) { + SDL_free(envelope); + dest->lpEnvelope = NULL; else { envelope->dwAttackLevel = CONVERT(hap_ramp->attack_level); envelope->dwAttackTime = hap_ramp->attack_length * 1000; - } - if (envelope->dwFadeTime == 0) { - envelope->dwFadeLevel = ramp->dwMagnitude - } - else { envelope->dwFadeLevel = CONVERT(hap_ramp->fade_level); envelope->dwFadeTime = hap_ramp->fade_length * 1000; } @@ -845,17 +832,13 @@ } /* Envelope */ - if (envelope->dwAttackTime == 0) { - envelope->dwAttackLevel = custom->dwMagnitude + if ((envelope->dwAttackTime == 0) && (envelope->dwFadeTime == 0)) { + SDL_free(envelope); + dest->lpEnvelope = NULL; } else { envelope->dwAttackLevel = CONVERT(hap_custom->attack_level); envelope->dwAttackTime = hap_custom->attack_length * 1000; - } - if (envelope->dwFadeTime == 0) { - envelope->dwFadeLevel = custom->dwMagnitude - } - else { envelope->dwFadeLevel = CONVERT(hap_custom->fade_level); envelope->dwFadeTime = hap_custom->fade_length * 1000; }