From b03449cbf689b0aac4d051b8619c2e159b7e2580 Mon Sep 17 00:00:00 2001 From: "techdragon.nguyen@gmail.com" Date: Tue, 3 Jan 2012 17:53:51 +0000 Subject: [PATCH] Implemented directional controls on Filters so that you can now navigate the Filters menu on Touch interfaces for the Deck Editor and Shop screens. It's not the best implementation but it at least works across all platforms. swipe will now move the highlighted cursor to the correct direction. in release builds, test suite will now be disabled --- JGE/src/iOS/EAGLView.m | 1 + projects/mtg/src/GameStateDeckViewer.cpp | 21 +++++++++++++----- projects/mtg/src/GameStateShop.cpp | 23 +++++++++++++++++++- projects/mtg/wagic.xcodeproj/project.pbxproj | 1 - 4 files changed, 38 insertions(+), 8 deletions(-) diff --git a/JGE/src/iOS/EAGLView.m b/JGE/src/iOS/EAGLView.m index 62e9c4ac7..1a162b32b 100755 --- a/JGE/src/iOS/EAGLView.m +++ b/JGE/src/iOS/EAGLView.m @@ -411,6 +411,7 @@ static NSString *_MY_AD_WHIRL_APPLICATION_KEY_IPAD = @"2e70e3f3da40408588b9a3170 { CGPoint v2 = [panGesture velocityInView: self]; g_engine->Scroll( static_cast(v2.x), static_cast(v2.y)); + [self performSelector: @selector(resetInput) withObject: nil afterDelay: 0.1]; } } } diff --git a/projects/mtg/src/GameStateDeckViewer.cpp b/projects/mtg/src/GameStateDeckViewer.cpp index 36123073a..ba0b3c430 100644 --- a/projects/mtg/src/GameStateDeckViewer.cpp +++ b/projects/mtg/src/GameStateDeckViewer.cpp @@ -1690,13 +1690,22 @@ void GameStateDeckViewer::ButtonPressed(int controllerId, int controlId) void GameStateDeckViewer::OnScroll(int inXVelocity, int inYVelocity) { - if (abs(inYVelocity) > 300) - { - bool flickUpwards = (inYVelocity < 0); - mEngine->HoldKey_NoRepeat(flickUpwards ? JGE_BTN_DOWN : JGE_BTN_UP); + bool flickHorizontal = (abs(inXVelocity) > abs(inYVelocity)); + bool flickUp = inYVelocity < 0 ? true : false; + bool flickRight = inXVelocity > 0 ? true : false; - } else if (abs(inXVelocity) > 300) + if (mStage == STAGE_FILTERS) { - mEngine->HoldKey_NoRepeat(JGE_BTN_PRI); + if (flickHorizontal) + mEngine->HoldKey_NoRepeat( flickRight ? JGE_BTN_RIGHT : JGE_BTN_LEFT); + else + mEngine->HoldKey_NoRepeat(flickUp ? JGE_BTN_UP : JGE_BTN_DOWN); + } + else + { + if (flickHorizontal && (abs(inXVelocity) > 300)) + mEngine->HoldKey_NoRepeat(JGE_BTN_PRI); + else if (!flickHorizontal && (abs(inYVelocity) > 300)) + mEngine->HoldKey_NoRepeat(flickUp ? JGE_BTN_UP : JGE_BTN_DOWN); } } diff --git a/projects/mtg/src/GameStateShop.cpp b/projects/mtg/src/GameStateShop.cpp index c7f830071..cd06c0f61 100644 --- a/projects/mtg/src/GameStateShop.cpp +++ b/projects/mtg/src/GameStateShop.cpp @@ -810,7 +810,28 @@ void GameStateShop::ButtonPressed(int controllerId, int controlId) void GameStateShop::OnScroll(int inXVelocity, int inYVelocity) { - if (abs(inXVelocity) > 200) + if (mStage == STAGE_ASK_ABOUT) + { + bool flickHorizontal = (abs(inXVelocity) > abs(inYVelocity)); + if (flickHorizontal) + { + bool flickRight = inXVelocity > 0 ? true : false; + if (flickRight) + mEngine->HoldKey_NoRepeat(JGE_BTN_RIGHT); + else + mEngine->HoldKey_NoRepeat(JGE_BTN_LEFT); + } + else + { + bool flickUp = inYVelocity < 0 ? true : false; + if (flickUp) + mEngine->HoldKey_NoRepeat(JGE_BTN_UP); + else + mEngine->HoldKey_NoRepeat(JGE_BTN_DOWN); + } + + } + else if (abs(inXVelocity) > 200) { bool flickRight = (inXVelocity >= 0); if (flickRight) diff --git a/projects/mtg/wagic.xcodeproj/project.pbxproj b/projects/mtg/wagic.xcodeproj/project.pbxproj index 2fc27e955..81dc5b65c 100755 --- a/projects/mtg/wagic.xcodeproj/project.pbxproj +++ b/projects/mtg/wagic.xcodeproj/project.pbxproj @@ -2568,7 +2568,6 @@ GCC_PREPROCESSOR_DEFINITIONS = ( FT2_BUILD_LIBRARY, IOS, - TESTSUITE, ); "GCC_THUMB_SUPPORT[arch=armv6]" = ""; GCC_VERSION = com.apple.compilers.llvmgcc42;