From 6d09ef7de47bf9ccd63beacf16fc3c64bf533125 Mon Sep 17 00:00:00 2001 From: pelya Date: Fri, 26 Nov 2010 23:14:50 +0200 Subject: [PATCH] Final fixes to controlling mouse with trackball --- project/java/translations/values/strings.xml | 2 +- .../fheroes2/AndroidAppSettings.cfg | 4 +-- .../src/video/android/SDL_androidinput.c | 31 ++++++++++++++++--- 3 files changed, 30 insertions(+), 7 deletions(-) diff --git a/project/java/translations/values/strings.xml b/project/java/translations/values/strings.xml index 9c1340631..03ea4457c 100644 --- a/project/java/translations/values/strings.xml +++ b/project/java/translations/values/strings.xml @@ -70,7 +70,7 @@ Touch near mouse cursor Touch screen with second finger Touch screen with force - Trackball click / select key + Trackball click / joystick center Advanced features Keep 4:3 screen aspect ratio diff --git a/project/jni/application/fheroes2/AndroidAppSettings.cfg b/project/jni/application/fheroes2/AndroidAppSettings.cfg index 6a05ab1e7..b6f2e3f30 100644 --- a/project/jni/application/fheroes2/AndroidAppSettings.cfg +++ b/project/jni/application/fheroes2/AndroidAppSettings.cfg @@ -21,8 +21,8 @@ RedefinedKeys="LCTRL m t h e" AppTouchscreenKeyboardKeysAmount=0 AppTouchscreenKeyboardKeysAmountAutoFire=0 MultiABI=n -AppVersionCode=208302 -AppVersionName="2083.02" +AppVersionCode=208303 +AppVersionName="2083.03" CompiledLibraries="sdl_net sdl_mixer sdl_image sdl_ttf png intl" CustomBuildScript=n AppCflags='-finline-functions -O2 -DWITH_ZLIB -DWITH_MIXER -DWITH_XML -DWITH_IMAGE -DWITH_TTF -DBUILD_RELEASE' diff --git a/project/jni/sdl-1.3/src/video/android/SDL_androidinput.c b/project/jni/sdl-1.3/src/video/android/SDL_androidinput.c index 2fa8e06ae..98fa3d504 100644 --- a/project/jni/sdl-1.3/src/video/android/SDL_androidinput.c +++ b/project/jni/sdl-1.3/src/video/android/SDL_androidinput.c @@ -1055,12 +1055,35 @@ extern void SDL_ANDROID_MainThreadPushKeyboardKey(int pressed, SDL_scancode key) if( clickDoesNotMoveMouseX < 0 ) SDL_GetMouseState( &clickDoesNotMoveMouseX, &clickDoesNotMoveMouseY ); - if( key == SDL_KEY(LEFT) || key == SDL_KEY(RIGHT) ) - clickDoesNotMoveMouseXspeed += key == SDL_KEY(LEFT) ? -1 : 1; + if( key == SDL_KEY(LEFT) ) + { + if( clickDoesNotMoveMouseXspeed > 0 ) + clickDoesNotMoveMouseXspeed = 0; + clickDoesNotMoveMouseXspeed --; + } + else if( key == SDL_KEY(RIGHT) ) + { + if( clickDoesNotMoveMouseXspeed < 0 ) + clickDoesNotMoveMouseXspeed = 0; + clickDoesNotMoveMouseXspeed ++; + } else clickDoesNotMoveMouseXspeed = 0; - if( key == SDL_KEY(UP) || key == SDL_KEY(DOWN) ) - clickDoesNotMoveMouseYspeed += key == SDL_KEY(UP) ? -1 : 1; + + if( key == SDL_KEY(UP) ) + { + if( clickDoesNotMoveMouseYspeed > 0 ) + clickDoesNotMoveMouseYspeed = 0; + clickDoesNotMoveMouseYspeed --; + } + else if( key == SDL_KEY(DOWN) ) + { + if( clickDoesNotMoveMouseYspeed < 0 ) + clickDoesNotMoveMouseYspeed = 0; + clickDoesNotMoveMouseYspeed ++; + } + else + clickDoesNotMoveMouseYspeed = 0; clickDoesNotMoveMouseX += clickDoesNotMoveMouseXspeed; clickDoesNotMoveMouseY += clickDoesNotMoveMouseYspeed;