Mercurial > sdl-ios-xcode
changeset 2511:f12ae0bae468 gsoc2008_force_feedback
Fixed bugs in documentation.
Improved code correctness a bit.
author | Edgar Simo <bobbens@gmail.com> |
---|---|
date | Wed, 09 Jul 2008 18:29:11 +0000 |
parents | e6ad7e678fca |
children | ef147ee4896c |
files | include/SDL_haptic.h src/haptic/linux/SDL_syshaptic.c |
diffstat | 2 files changed, 8 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/include/SDL_haptic.h Wed Jul 09 18:23:54 2008 +0000 +++ b/include/SDL_haptic.h Wed Jul 09 18:29:11 2008 +0000 @@ -306,16 +306,16 @@ * If type is SDL_HAPTIC_POLAR, direction is encoded by hundredths of a * degree starting north and turning clockwise. The cardinal directions would be: * - North: 0 (0 degrees) - * - West: 9000 (90 degrees) + * - East: 9000 (90 degrees) * - South: 18000 (180 degrees) - * - East: 27000 (270 degrees) + * - West: 27000 (270 degrees) * * If type is SDL_HAPTIC_CARTESIAN, direction is encoded by position. * The cardinal directions would be: * - North: 0,-1 - * - West: -1, 0 + * - East: -1, 0 * - South: 0, 1 - * - East: 1, 0 + * - West: 1, 0 * * * Example: @@ -323,7 +323,7 @@ * SDL_HapticDirection direction; * * direction.type = SDL_HAPTIC_POLAR; // We'll be using polar direction encoding. - * direction.dir = 180000; // Force comes from the south meaning the user will + * direction.dir = 18000; // Force comes from the south meaning the user will * // have to pull the stick to counteract. * \endcode *
--- a/src/haptic/linux/SDL_syshaptic.c Wed Jul 09 18:23:54 2008 +0000 +++ b/src/haptic/linux/SDL_syshaptic.c Wed Jul 09 18:29:11 2008 +0000 @@ -72,7 +72,7 @@ */ struct haptic_hweffect { - struct ff_effect effect; + struct ff_effect effect; /* The linux kernel effect structure. */ }; @@ -343,20 +343,19 @@ SDL_SYS_ToDirection( SDL_HapticDirection * dir ) { Uint32 tmp; - float f; + float f; /* Ideally we'd use fixed point math instead of floats... */ switch (dir->type) { case SDL_HAPTIC_POLAR: /* Linux directions are inverted. */ tmp = (((18000 + dir->dir[0]) % 36000) * 0xFFFF) / 36000; return (Uint16) tmp; - break; case SDL_HAPTIC_CARTESIAN: + /* We must invert "x" and "y" to go clockwise. */ f = atan2(dir->dir[0], dir->dir[1]); tmp = (int)(f*18000./M_PI) % 36000; tmp = (tmp * 0xFFFF) / 36000; return (Uint16) tmp; - break; default: return -1;