From df7ab500629ddd82f6c7a3d957a0b57433fd9766 Mon Sep 17 00:00:00 2001 From: lvlong Date: Tue, 1 Jul 2014 09:26:21 +0800 Subject: [PATCH 01/18] modify BundleReader and the version read --- cocos/3d/CCBundle3D.cpp | 29 ++++++++++++++++------------- cocos/3d/CCBundleReader.cpp | 4 ++-- cocos/3d/CCBundleReader.h | 2 +- 3 files changed, 19 insertions(+), 16 deletions(-) diff --git a/cocos/3d/CCBundle3D.cpp b/cocos/3d/CCBundle3D.cpp index cd6bc42f9a..00aa893a05 100644 --- a/cocos/3d/CCBundle3D.cpp +++ b/cocos/3d/CCBundle3D.cpp @@ -463,20 +463,23 @@ bool Bundle3D::loadBinary(const std::string& path) // Read version unsigned char ver[2]; - if (_binaryReader.read(ver, 1, 2) == 2) - { - if (ver[0] != 0) { - clear(); - CCLOGINFO(false, "Unsupported version: (%d, %d)", ver[0], ver[1]); - return false; - } - - if (ver[1] <= 0 || ver[1] > 2) { - clear(); - CCLOGINFO(false, "Unsupported version: (%d, %d)", ver[0], ver[1]); - return false; - } + if (_binaryReader.read(ver, 1, 2)!= 2){ + CCLOG("Failed to read version:"); + return false; } + + if (ver[0] != 0) { + clear(); + CCLOGINFO(false, "Unsupported version: (%d, %d)", ver[0], ver[1]); + return false; + } + + if (ver[1] <= 0 || ver[1] > 2) { + clear(); + CCLOGINFO(false, "Unsupported version: (%d, %d)", ver[0], ver[1]); + return false; + } + // Read ref table size if (_binaryReader.read(&_referenceCount, 4, 1) != 1) diff --git a/cocos/3d/CCBundleReader.cpp b/cocos/3d/CCBundleReader.cpp index 2bdeda2c43..6cdcbbd0e9 100644 --- a/cocos/3d/CCBundleReader.cpp +++ b/cocos/3d/CCBundleReader.cpp @@ -65,7 +65,7 @@ char* BundleReader::readLine(int num,char* line) char* p = line; char c; ssize_t readNum = 0; - while((c=*buffer) != 10 && readNum < (ssize_t)num && m_position<(long int)m_length) + while((c=*buffer) != 10 && readNum < (ssize_t)num && m_position < m_length) { *p = c; p++; @@ -91,7 +91,7 @@ ssize_t BundleReader::length() return m_length; } -long int BundleReader::tell() +ssize_t BundleReader::tell() { if (!m_buffer) return -1; diff --git a/cocos/3d/CCBundleReader.h b/cocos/3d/CCBundleReader.h index b991412d8f..37cebd21d6 100644 --- a/cocos/3d/CCBundleReader.h +++ b/cocos/3d/CCBundleReader.h @@ -112,7 +112,7 @@ public: bool readMatrix(float* m); private: - long int m_position; + ssize_t m_position; ssize_t m_length; char* m_buffer; }; From c1afd7133a17d5f2ca43b8fb28640adada84f968 Mon Sep 17 00:00:00 2001 From: lvlong Date: Tue, 1 Jul 2014 09:30:14 +0800 Subject: [PATCH 02/18] modify BundleReader and the version read --- cocos/3d/CCBundle3D.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cocos/3d/CCBundle3D.cpp b/cocos/3d/CCBundle3D.cpp index 00aa893a05..b7ebddbcba 100644 --- a/cocos/3d/CCBundle3D.cpp +++ b/cocos/3d/CCBundle3D.cpp @@ -447,8 +447,7 @@ bool Bundle3D::loadBinary(const std::string& path) return false; } - // Create bundle reader - //CC_SAFE_DELETE(_bundleReader); + // Initialise bundle reader _binaryReader.init( (char*)_binaryBuffer->getBytes(), _binaryBuffer->getSize() ); // Read identifier info From 660c80fac7e47bbf55f7fa0636307dd8c5157f29 Mon Sep 17 00:00:00 2001 From: lvlong Date: Tue, 1 Jul 2014 10:45:01 +0800 Subject: [PATCH 03/18] modify BundleReader and the version read --- build/android-build.py | 3 +- build/cocos2d_libs.xcodeproj/project.pbxproj | 76 + build/cocos2d_tests.xcodeproj/project.pbxproj | 312 ++ .../game-controller-test IOS.xcscheme | 86 + cocos/2d/CCFastTMXLayer.cpp | 2 +- cocos/2d/cocos2d_wp8.vcxproj | 6 + cocos/2d/cocos2d_wp8.vcxproj.filters | 18 + cocos/3d/CCBundle3D.cpp | 4 +- cocos/Android.mk | 15 +- cocos/base/CCController-android.cpp | 365 +++ cocos/base/CCController-iOS.mm | 371 +++ cocos/base/CCController.h | 79 + cocos/base/CCControllerAxisInput.cpp | 52 + cocos/base/CCControllerAxisInput.h | 55 + cocos/base/CCControllerButtonInput.cpp | 69 + cocos/base/CCControllerButtonInput.h | 63 + cocos/base/CCControllerDirectionPad.cpp | 74 + cocos/base/CCControllerDirectionPad.h | 61 + cocos/base/CCControllerElement.cpp | 63 + cocos/base/CCControllerElement.h | 64 + cocos/base/CCControllerThumbstick.cpp | 66 + cocos/base/CCControllerThumbstick.h | 61 + cocos/base/CCEvent.h | 3 + cocos/base/CCEventController.cpp | 70 + cocos/base/CCEventController.h | 66 + cocos/base/CCEventDispatcher.cpp | 9 +- cocos/base/CCEventListener.h | 3 + cocos/base/CCEventListenerController.cpp | 122 + cocos/base/CCEventListenerController.h | 65 + cocos/base/CCGameController.h | 39 + cocos/base/CCGamepad.cpp | 146 + cocos/base/CCGamepad.h | 122 + .../ActionTimeline/CCActionTimeline.cpp | 27 +- .../ActionTimeline/CCActionTimeline.h | 10 + cocos/editor-support/cocostudio/Android.mk | 4 +- .../android/ControllerDelegate/.classpath | 9 + .../android/ControllerDelegate/.project | 33 + .../.settings/org.eclipse.jdt.core.prefs | 4 + .../ControllerDelegate/AndroidManifest.xml | 9 + .../android/ControllerDelegate/ant.properties | 17 + .../android/ControllerDelegate/build.xml | 83 + .../ControllerDelegate/proguard-project.txt | 20 + .../android/ControllerDelegate/res/.gitignore | 0 .../cocos2dx/lib/GameControllerDelegate.java | 55 + .../android/ControllerMoga/.classpath | 9 + .../platform/android/ControllerMoga/.project | 33 + .../.settings/org.eclipse.jdt.core.prefs | 4 + .../ControllerMoga/AndroidManifest.xml | 9 + .../android/ControllerMoga/ant.properties | 17 + .../platform/android/ControllerMoga/build.xml | 83 + .../libs/com.bda.controller.jar | Bin 0 -> 30211 bytes .../ControllerMoga/proguard-project.txt | 23 + .../android/ControllerMoga/res/.gitignore | 0 .../org/cocos2dx/lib/GameControllerMoga.java | 191 ++ .../android/ControllerNibiru/.classpath | 9 + .../android/ControllerNibiru/.project | 33 + .../.settings/org.eclipse.jdt.core.prefs | 4 + .../ControllerNibiru/AndroidManifest.xml | 9 + .../android/ControllerNibiru/ant.properties | 17 + .../android/ControllerNibiru/build.xml | 83 + .../libs/nibiru_lib_2_1_7.jar | Bin 0 -> 190102 bytes .../ControllerNibiru/proguard-project.txt | 20 + .../android/ControllerNibiru/res/.gitignore | 0 .../cocos2dx/lib/GameControllerNibiru.java | 209 ++ .../android/ControllerOuya/.classpath | 9 + .../platform/android/ControllerOuya/.project | 33 + .../.settings/org.eclipse.jdt.core.prefs | 4 + .../ControllerOuya/AndroidManifest.xml | 9 + .../android/ControllerOuya/ant.properties | 17 + .../platform/android/ControllerOuya/build.xml | 83 + .../android/ControllerOuya/libs/ouya-sdk.jar | Bin 0 -> 167378 bytes .../ControllerOuya/proguard-project.txt | 20 + .../android/ControllerOuya/res/.gitignore | 0 .../org/cocos2dx/lib/GameControllerOuya.java | 182 ++ cocos/platform/android/java/lint.xml | 10 + .../platform/android/java/project.properties | 3 +- .../org/cocos2dx/lib/Cocos2dxActivity.java | 168 +- .../src/org/cocos2dx/lib/Cocos2dxHelper.java | 2 - .../cocos2dx/lib/GameControllerAdapter.java | 77 + .../cocos2dx/lib/GameControllerHelper.java | 870 +++++ .../org/cocos2dx/lib/GameControllerUtils.java | 43 + .../InputManagerCompat.java | 140 + .../inputmanagercompat/InputManagerV16.java | 107 + .../inputmanagercompat/InputManagerV9.java | 211 ++ cocos/renderer/CCTexture2D.cpp | 10 +- .../lua-bindings/auto/api/ActionTimeline.lua | 8 + .../auto/lua_cocos2dx_studio_auto.cpp | 72 +- .../auto/lua_cocos2dx_studio_auto.hpp | 1 + cocos/ui/UIScrollView.cpp | 2 +- external/nslog/CCNSLog.h | 24 + external/nslog/ios/CCNSLog.mm | 27 + external/nslog/ios/LoggerClient.h | 248 ++ external/nslog/ios/LoggerClient.m | 2866 +++++++++++++++++ external/nslog/ios/LoggerCommon.h | 113 + external/nslog/ios/NSLogger.h | 92 + templates/cocos2dx_files.json | 65 + .../Classes/SchedulerTest/SchedulerTest.cpp | 1 + .../Resources/Shaders/example_outline.fsh | 8 +- .../cpp-testsComponent.vcxproj | 2 + .../cpp-testsComponent.vcxproj.filters | 6 + .../Classes/AppDelegate.cpp | 102 + .../Classes/AppDelegate.h | 38 + .../game-controller-test/Classes/AppMacros.h | 56 + .../Classes/GameControllerTest.cpp | 259 ++ .../Classes/GameControllerTest.h | 35 + .../game-controller-test/Resources/.gitignore | 2 + .../Resources/fonts/Marker Felt.ttf | Bin 0 -> 25776 bytes .../Resources/ipad/CloseNormal.png | Bin 0 -> 16933 bytes .../Resources/ipad/CloseSelected.png | Bin 0 -> 13008 bytes .../Resources/ipadhd/CloseNormal.png | Bin 0 -> 40292 bytes .../Resources/ipadhd/CloseSelected.png | Bin 0 -> 30769 bytes .../Resources/iphone/CloseNormal.png | Bin 0 -> 6835 bytes .../Resources/iphone/CloseSelected.png | Bin 0 -> 5711 bytes .../proj.android/.classpath | 9 + .../proj.android/.project | 43 + .../.settings/org.eclipse.jdt.core.prefs | 4 + .../proj.android/AndroidManifest.xml | 40 + .../proj.android/README.md | 87 + .../proj.android/build-cfg.json | 16 + .../proj.android/build.xml | 85 + .../proj.android/jni/Android.mk | 21 + .../proj.android/jni/Application.mk | 14 + .../proj.android/jni/list.sh | 23 + .../proj.android/jni/main.cpp | 16 + .../proj.android/ndkgdb.sh | 47 + .../proj.android/proguard-project.txt | 20 + .../proj.android/project.properties | 13 + .../proj.android/res/drawable-hdpi/icon.png | Bin 0 -> 12200 bytes .../proj.android/res/drawable-ldpi/icon.png | Bin 0 -> 5295 bytes .../proj.android/res/drawable-mdpi/icon.png | Bin 0 -> 7590 bytes .../proj.android/res/layout/main.xml | 85 + .../proj.android/res/values/strings.xml | 4 + .../game_controller_test/AppActivity.java | 102 + .../proj.ios/AppController.h | 33 + .../proj.ios/AppController.mm | 138 + .../proj.ios/Default-568h@2x.png | Bin 0 -> 193731 bytes .../game-controller-test/proj.ios/Default.png | Bin 0 -> 89508 bytes .../proj.ios/Default@2x.png | Bin 0 -> 580904 bytes .../proj.ios/Icon-100.png | Bin 0 -> 17283 bytes .../proj.ios/Icon-114.png | Bin 0 -> 16537 bytes .../proj.ios/Icon-120.png | Bin 0 -> 23871 bytes .../proj.ios/Icon-144.png | Bin 0 -> 26403 bytes .../proj.ios/Icon-152.png | Bin 0 -> 33665 bytes .../game-controller-test/proj.ios/Icon-40.png | Bin 0 -> 5478 bytes .../game-controller-test/proj.ios/Icon-57.png | Bin 0 -> 8960 bytes .../game-controller-test/proj.ios/Icon-58.png | Bin 0 -> 8433 bytes .../game-controller-test/proj.ios/Icon-72.png | Bin 0 -> 11453 bytes .../game-controller-test/proj.ios/Icon-76.png | Bin 0 -> 13250 bytes .../game-controller-test/proj.ios/Icon-80.png | Bin 0 -> 12489 bytes .../game-controller-test/proj.ios/Info.plist | 92 + .../proj.ios/RootViewController.h | 33 + .../proj.ios/RootViewController.mm | 97 + tests/game-controller-test/proj.ios/main.m | 17 + 153 files changed, 10661 insertions(+), 37 deletions(-) create mode 100644 build/cocos2d_tests.xcodeproj/xcshareddata/xcschemes/game-controller-test IOS.xcscheme create mode 100644 cocos/base/CCController-android.cpp create mode 100644 cocos/base/CCController-iOS.mm create mode 100644 cocos/base/CCController.h create mode 100644 cocos/base/CCControllerAxisInput.cpp create mode 100644 cocos/base/CCControllerAxisInput.h create mode 100644 cocos/base/CCControllerButtonInput.cpp create mode 100644 cocos/base/CCControllerButtonInput.h create mode 100644 cocos/base/CCControllerDirectionPad.cpp create mode 100644 cocos/base/CCControllerDirectionPad.h create mode 100644 cocos/base/CCControllerElement.cpp create mode 100644 cocos/base/CCControllerElement.h create mode 100644 cocos/base/CCControllerThumbstick.cpp create mode 100644 cocos/base/CCControllerThumbstick.h create mode 100644 cocos/base/CCEventController.cpp create mode 100644 cocos/base/CCEventController.h create mode 100644 cocos/base/CCEventListenerController.cpp create mode 100644 cocos/base/CCEventListenerController.h create mode 100644 cocos/base/CCGameController.h create mode 100644 cocos/base/CCGamepad.cpp create mode 100644 cocos/base/CCGamepad.h create mode 100644 cocos/platform/android/ControllerDelegate/.classpath create mode 100644 cocos/platform/android/ControllerDelegate/.project create mode 100644 cocos/platform/android/ControllerDelegate/.settings/org.eclipse.jdt.core.prefs create mode 100644 cocos/platform/android/ControllerDelegate/AndroidManifest.xml create mode 100644 cocos/platform/android/ControllerDelegate/ant.properties create mode 100644 cocos/platform/android/ControllerDelegate/build.xml create mode 100644 cocos/platform/android/ControllerDelegate/proguard-project.txt create mode 100644 cocos/platform/android/ControllerDelegate/res/.gitignore create mode 100644 cocos/platform/android/ControllerDelegate/src/org/cocos2dx/lib/GameControllerDelegate.java create mode 100644 cocos/platform/android/ControllerMoga/.classpath create mode 100644 cocos/platform/android/ControllerMoga/.project create mode 100644 cocos/platform/android/ControllerMoga/.settings/org.eclipse.jdt.core.prefs create mode 100644 cocos/platform/android/ControllerMoga/AndroidManifest.xml create mode 100644 cocos/platform/android/ControllerMoga/ant.properties create mode 100644 cocos/platform/android/ControllerMoga/build.xml create mode 100644 cocos/platform/android/ControllerMoga/libs/com.bda.controller.jar create mode 100644 cocos/platform/android/ControllerMoga/proguard-project.txt create mode 100644 cocos/platform/android/ControllerMoga/res/.gitignore create mode 100644 cocos/platform/android/ControllerMoga/src/org/cocos2dx/lib/GameControllerMoga.java create mode 100644 cocos/platform/android/ControllerNibiru/.classpath create mode 100644 cocos/platform/android/ControllerNibiru/.project create mode 100644 cocos/platform/android/ControllerNibiru/.settings/org.eclipse.jdt.core.prefs create mode 100644 cocos/platform/android/ControllerNibiru/AndroidManifest.xml create mode 100644 cocos/platform/android/ControllerNibiru/ant.properties create mode 100644 cocos/platform/android/ControllerNibiru/build.xml create mode 100644 cocos/platform/android/ControllerNibiru/libs/nibiru_lib_2_1_7.jar create mode 100644 cocos/platform/android/ControllerNibiru/proguard-project.txt create mode 100644 cocos/platform/android/ControllerNibiru/res/.gitignore create mode 100644 cocos/platform/android/ControllerNibiru/src/org/cocos2dx/lib/GameControllerNibiru.java create mode 100644 cocos/platform/android/ControllerOuya/.classpath create mode 100644 cocos/platform/android/ControllerOuya/.project create mode 100644 cocos/platform/android/ControllerOuya/.settings/org.eclipse.jdt.core.prefs create mode 100644 cocos/platform/android/ControllerOuya/AndroidManifest.xml create mode 100644 cocos/platform/android/ControllerOuya/ant.properties create mode 100644 cocos/platform/android/ControllerOuya/build.xml create mode 100644 cocos/platform/android/ControllerOuya/libs/ouya-sdk.jar create mode 100644 cocos/platform/android/ControllerOuya/proguard-project.txt create mode 100644 cocos/platform/android/ControllerOuya/res/.gitignore create mode 100644 cocos/platform/android/ControllerOuya/src/org/cocos2dx/lib/GameControllerOuya.java create mode 100644 cocos/platform/android/java/lint.xml create mode 100644 cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerAdapter.java create mode 100644 cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerHelper.java create mode 100644 cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerUtils.java create mode 100644 cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerCompat.java create mode 100644 cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerV16.java create mode 100644 cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerV9.java create mode 100644 external/nslog/CCNSLog.h create mode 100644 external/nslog/ios/CCNSLog.mm create mode 100644 external/nslog/ios/LoggerClient.h create mode 100644 external/nslog/ios/LoggerClient.m create mode 100644 external/nslog/ios/LoggerCommon.h create mode 100644 external/nslog/ios/NSLogger.h create mode 100644 tests/game-controller-test/Classes/AppDelegate.cpp create mode 100644 tests/game-controller-test/Classes/AppDelegate.h create mode 100644 tests/game-controller-test/Classes/AppMacros.h create mode 100644 tests/game-controller-test/Classes/GameControllerTest.cpp create mode 100644 tests/game-controller-test/Classes/GameControllerTest.h create mode 100644 tests/game-controller-test/Resources/.gitignore create mode 100644 tests/game-controller-test/Resources/fonts/Marker Felt.ttf create mode 100644 tests/game-controller-test/Resources/ipad/CloseNormal.png create mode 100644 tests/game-controller-test/Resources/ipad/CloseSelected.png create mode 100644 tests/game-controller-test/Resources/ipadhd/CloseNormal.png create mode 100644 tests/game-controller-test/Resources/ipadhd/CloseSelected.png create mode 100644 tests/game-controller-test/Resources/iphone/CloseNormal.png create mode 100644 tests/game-controller-test/Resources/iphone/CloseSelected.png create mode 100644 tests/game-controller-test/proj.android/.classpath create mode 100644 tests/game-controller-test/proj.android/.project create mode 100644 tests/game-controller-test/proj.android/.settings/org.eclipse.jdt.core.prefs create mode 100644 tests/game-controller-test/proj.android/AndroidManifest.xml create mode 100644 tests/game-controller-test/proj.android/README.md create mode 100644 tests/game-controller-test/proj.android/build-cfg.json create mode 100644 tests/game-controller-test/proj.android/build.xml create mode 100644 tests/game-controller-test/proj.android/jni/Android.mk create mode 100644 tests/game-controller-test/proj.android/jni/Application.mk create mode 100644 tests/game-controller-test/proj.android/jni/list.sh create mode 100644 tests/game-controller-test/proj.android/jni/main.cpp create mode 100644 tests/game-controller-test/proj.android/ndkgdb.sh create mode 100644 tests/game-controller-test/proj.android/proguard-project.txt create mode 100644 tests/game-controller-test/proj.android/project.properties create mode 100644 tests/game-controller-test/proj.android/res/drawable-hdpi/icon.png create mode 100644 tests/game-controller-test/proj.android/res/drawable-ldpi/icon.png create mode 100644 tests/game-controller-test/proj.android/res/drawable-mdpi/icon.png create mode 100644 tests/game-controller-test/proj.android/res/layout/main.xml create mode 100644 tests/game-controller-test/proj.android/res/values/strings.xml create mode 100644 tests/game-controller-test/proj.android/src/org/cocos2dx/game_controller_test/AppActivity.java create mode 100644 tests/game-controller-test/proj.ios/AppController.h create mode 100644 tests/game-controller-test/proj.ios/AppController.mm create mode 100644 tests/game-controller-test/proj.ios/Default-568h@2x.png create mode 100644 tests/game-controller-test/proj.ios/Default.png create mode 100644 tests/game-controller-test/proj.ios/Default@2x.png create mode 100644 tests/game-controller-test/proj.ios/Icon-100.png create mode 100644 tests/game-controller-test/proj.ios/Icon-114.png create mode 100644 tests/game-controller-test/proj.ios/Icon-120.png create mode 100644 tests/game-controller-test/proj.ios/Icon-144.png create mode 100644 tests/game-controller-test/proj.ios/Icon-152.png create mode 100644 tests/game-controller-test/proj.ios/Icon-40.png create mode 100644 tests/game-controller-test/proj.ios/Icon-57.png create mode 100644 tests/game-controller-test/proj.ios/Icon-58.png create mode 100644 tests/game-controller-test/proj.ios/Icon-72.png create mode 100644 tests/game-controller-test/proj.ios/Icon-76.png create mode 100644 tests/game-controller-test/proj.ios/Icon-80.png create mode 100644 tests/game-controller-test/proj.ios/Info.plist create mode 100644 tests/game-controller-test/proj.ios/RootViewController.h create mode 100644 tests/game-controller-test/proj.ios/RootViewController.mm create mode 100644 tests/game-controller-test/proj.ios/main.m diff --git a/build/android-build.py b/build/android-build.py index be096e4263..9cccd91fc8 100755 --- a/build/android-build.py +++ b/build/android-build.py @@ -7,7 +7,7 @@ import os, os.path import shutil from optparse import OptionParser -CPP_SAMPLES = ['cpp-empty-test', 'cpp-tests'] +CPP_SAMPLES = ['cpp-empty-test', 'cpp-tests', 'game-controller-test'] LUA_SAMPLES = ['lua-empty-test', 'lua-tests'] ALL_SAMPLES = CPP_SAMPLES + LUA_SAMPLES @@ -216,6 +216,7 @@ def build_samples(target,ndk_build_param,android_platform,build_mode): target_proj_path_map = { "cpp-empty-test": "tests/cpp-empty-test/proj.android", + "game-controller-test": "tests/game-controller-test/proj.android", "cpp-tests": "tests/cpp-tests/proj.android", "lua-empty-test": "tests/lua-empty-test/project/proj.android", "lua-tests": "tests/lua-tests/project/proj.android" diff --git a/build/cocos2d_libs.xcodeproj/project.pbxproj b/build/cocos2d_libs.xcodeproj/project.pbxproj index 267df1f48b..ecf07d8ded 100644 --- a/build/cocos2d_libs.xcodeproj/project.pbxproj +++ b/build/cocos2d_libs.xcodeproj/project.pbxproj @@ -1023,6 +1023,25 @@ 2AC795EA1862875D005EC8E1 /* BoundingBoxAttachment.h in Headers */ = {isa = PBXBuildFile; fileRef = 2AC795D418628672005EC8E1 /* BoundingBoxAttachment.h */; }; 373B9129187891F400198F86 /* CCComBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 373B910718787C0B00198F86 /* CCComBase.h */; }; 373B912A187891FB00198F86 /* CCComBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 373B910718787C0B00198F86 /* CCComBase.h */; }; + 3E6176681960F89B00DE83F5 /* CCController-iOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176551960F89B00DE83F5 /* CCController-iOS.mm */; }; + 3E6176691960F89B00DE83F5 /* CCController.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E6176561960F89B00DE83F5 /* CCController.h */; }; + 3E61766A1960F89B00DE83F5 /* CCControllerAxisInput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176571960F89B00DE83F5 /* CCControllerAxisInput.cpp */; }; + 3E61766B1960F89B00DE83F5 /* CCControllerAxisInput.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E6176581960F89B00DE83F5 /* CCControllerAxisInput.h */; }; + 3E61766C1960F89B00DE83F5 /* CCControllerButtonInput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176591960F89B00DE83F5 /* CCControllerButtonInput.cpp */; }; + 3E61766D1960F89B00DE83F5 /* CCControllerButtonInput.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E61765A1960F89B00DE83F5 /* CCControllerButtonInput.h */; }; + 3E61766E1960F89B00DE83F5 /* CCControllerDirectionPad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E61765B1960F89B00DE83F5 /* CCControllerDirectionPad.cpp */; }; + 3E61766F1960F89B00DE83F5 /* CCControllerDirectionPad.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E61765C1960F89B00DE83F5 /* CCControllerDirectionPad.h */; }; + 3E6176701960F89B00DE83F5 /* CCControllerElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E61765D1960F89B00DE83F5 /* CCControllerElement.cpp */; }; + 3E6176711960F89B00DE83F5 /* CCControllerElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E61765E1960F89B00DE83F5 /* CCControllerElement.h */; }; + 3E6176721960F89B00DE83F5 /* CCControllerThumbstick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E61765F1960F89B00DE83F5 /* CCControllerThumbstick.cpp */; }; + 3E6176731960F89B00DE83F5 /* CCControllerThumbstick.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E6176601960F89B00DE83F5 /* CCControllerThumbstick.h */; }; + 3E6176741960F89B00DE83F5 /* CCEventController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176611960F89B00DE83F5 /* CCEventController.cpp */; }; + 3E6176751960F89B00DE83F5 /* CCEventController.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E6176621960F89B00DE83F5 /* CCEventController.h */; }; + 3E6176761960F89B00DE83F5 /* CCEventListenerController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176631960F89B00DE83F5 /* CCEventListenerController.cpp */; }; + 3E6176771960F89B00DE83F5 /* CCEventListenerController.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E6176641960F89B00DE83F5 /* CCEventListenerController.h */; }; + 3E6176781960F89B00DE83F5 /* CCGameController.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E6176651960F89B00DE83F5 /* CCGameController.h */; }; + 3E6176791960F89B00DE83F5 /* CCGamepad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176661960F89B00DE83F5 /* CCGamepad.cpp */; }; + 3E61767A1960F89B00DE83F5 /* CCGamepad.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E6176671960F89B00DE83F5 /* CCGamepad.h */; }; 3EA0FB6B191C841D00B170C8 /* UIVideoPlayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EA0FB69191C841D00B170C8 /* UIVideoPlayer.h */; }; 3EA0FB6C191C841D00B170C8 /* UIVideoPlayerIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3EA0FB6A191C841D00B170C8 /* UIVideoPlayerIOS.mm */; }; 3EA47870195478E00068D9D1 /* CCBundleReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3EA4786E195478E00068D9D1 /* CCBundleReader.cpp */; }; @@ -2349,6 +2368,25 @@ 37936A3C1869B76800E974DD /* reader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reader.h; sourceTree = ""; }; 37936A3D1869B76800E974DD /* stringbuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stringbuffer.h; sourceTree = ""; }; 37936A3E1869B76800E974DD /* writer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = writer.h; sourceTree = ""; }; + 3E6176551960F89B00DE83F5 /* CCController-iOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = "CCController-iOS.mm"; path = "../base/CCController-iOS.mm"; sourceTree = ""; }; + 3E6176561960F89B00DE83F5 /* CCController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCController.h; path = ../base/CCController.h; sourceTree = ""; }; + 3E6176571960F89B00DE83F5 /* CCControllerAxisInput.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CCControllerAxisInput.cpp; path = ../base/CCControllerAxisInput.cpp; sourceTree = ""; }; + 3E6176581960F89B00DE83F5 /* CCControllerAxisInput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCControllerAxisInput.h; path = ../base/CCControllerAxisInput.h; sourceTree = ""; }; + 3E6176591960F89B00DE83F5 /* CCControllerButtonInput.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CCControllerButtonInput.cpp; path = ../base/CCControllerButtonInput.cpp; sourceTree = ""; }; + 3E61765A1960F89B00DE83F5 /* CCControllerButtonInput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCControllerButtonInput.h; path = ../base/CCControllerButtonInput.h; sourceTree = ""; }; + 3E61765B1960F89B00DE83F5 /* CCControllerDirectionPad.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CCControllerDirectionPad.cpp; path = ../base/CCControllerDirectionPad.cpp; sourceTree = ""; }; + 3E61765C1960F89B00DE83F5 /* CCControllerDirectionPad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCControllerDirectionPad.h; path = ../base/CCControllerDirectionPad.h; sourceTree = ""; }; + 3E61765D1960F89B00DE83F5 /* CCControllerElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CCControllerElement.cpp; path = ../base/CCControllerElement.cpp; sourceTree = ""; }; + 3E61765E1960F89B00DE83F5 /* CCControllerElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCControllerElement.h; path = ../base/CCControllerElement.h; sourceTree = ""; }; + 3E61765F1960F89B00DE83F5 /* CCControllerThumbstick.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CCControllerThumbstick.cpp; path = ../base/CCControllerThumbstick.cpp; sourceTree = ""; }; + 3E6176601960F89B00DE83F5 /* CCControllerThumbstick.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCControllerThumbstick.h; path = ../base/CCControllerThumbstick.h; sourceTree = ""; }; + 3E6176611960F89B00DE83F5 /* CCEventController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CCEventController.cpp; path = ../base/CCEventController.cpp; sourceTree = ""; }; + 3E6176621960F89B00DE83F5 /* CCEventController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCEventController.h; path = ../base/CCEventController.h; sourceTree = ""; }; + 3E6176631960F89B00DE83F5 /* CCEventListenerController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CCEventListenerController.cpp; path = ../base/CCEventListenerController.cpp; sourceTree = ""; }; + 3E6176641960F89B00DE83F5 /* CCEventListenerController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCEventListenerController.h; path = ../base/CCEventListenerController.h; sourceTree = ""; }; + 3E6176651960F89B00DE83F5 /* CCGameController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCGameController.h; path = ../base/CCGameController.h; sourceTree = ""; }; + 3E6176661960F89B00DE83F5 /* CCGamepad.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CCGamepad.cpp; path = ../base/CCGamepad.cpp; sourceTree = ""; }; + 3E6176671960F89B00DE83F5 /* CCGamepad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCGamepad.h; path = ../base/CCGamepad.h; sourceTree = ""; }; 3EA0FB69191C841D00B170C8 /* UIVideoPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIVideoPlayer.h; sourceTree = ""; }; 3EA0FB6A191C841D00B170C8 /* UIVideoPlayerIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = UIVideoPlayerIOS.mm; sourceTree = ""; }; 3EA4786E195478E00068D9D1 /* CCBundleReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CCBundleReader.cpp; sourceTree = ""; }; @@ -3149,6 +3187,25 @@ 1A5700A2180BC5E60088DEC7 /* base */ = { isa = PBXGroup; children = ( + 3E6176551960F89B00DE83F5 /* CCController-iOS.mm */, + 3E6176561960F89B00DE83F5 /* CCController.h */, + 3E6176571960F89B00DE83F5 /* CCControllerAxisInput.cpp */, + 3E6176581960F89B00DE83F5 /* CCControllerAxisInput.h */, + 3E6176591960F89B00DE83F5 /* CCControllerButtonInput.cpp */, + 3E61765A1960F89B00DE83F5 /* CCControllerButtonInput.h */, + 3E61765B1960F89B00DE83F5 /* CCControllerDirectionPad.cpp */, + 3E61765C1960F89B00DE83F5 /* CCControllerDirectionPad.h */, + 3E61765D1960F89B00DE83F5 /* CCControllerElement.cpp */, + 3E61765E1960F89B00DE83F5 /* CCControllerElement.h */, + 3E61765F1960F89B00DE83F5 /* CCControllerThumbstick.cpp */, + 3E6176601960F89B00DE83F5 /* CCControllerThumbstick.h */, + 3E6176611960F89B00DE83F5 /* CCEventController.cpp */, + 3E6176621960F89B00DE83F5 /* CCEventController.h */, + 3E6176631960F89B00DE83F5 /* CCEventListenerController.cpp */, + 3E6176641960F89B00DE83F5 /* CCEventListenerController.h */, + 3E6176651960F89B00DE83F5 /* CCGameController.h */, + 3E6176661960F89B00DE83F5 /* CCGamepad.cpp */, + 3E6176671960F89B00DE83F5 /* CCGamepad.h */, 299754F2193EC95400A54AC3 /* ObjectFactory.cpp */, 299754F3193EC95400A54AC3 /* ObjectFactory.h */, 50ABBDC11925AB6E00A911A9 /* atitc.cpp */, @@ -5514,6 +5571,7 @@ 1A570068180BC5A10088DEC7 /* CCActionCamera.h in Headers */, 1A57006C180BC5A10088DEC7 /* CCActionCatmullRom.h in Headers */, 5034CA3A191D591100CE6051 /* ccShader_PositionColorLengthTexture.frag in Headers */, + 3E61766B1960F89B00DE83F5 /* CCControllerAxisInput.h in Headers */, 50ABBEC41925AB6F00A911A9 /* CCVector.h in Headers */, 50ABBE501925AB6F00A911A9 /* CCEventCustom.h in Headers */, 1A570070180BC5A10088DEC7 /* CCActionEase.h in Headers */, @@ -5524,6 +5582,7 @@ 50ABBD631925AB0000A911A9 /* Vec4.h in Headers */, 1A01C68918F57BE800EFE3A6 /* CCBool.h in Headers */, 1A57007C180BC5A10088DEC7 /* CCActionInstant.h in Headers */, + 3E6176751960F89B00DE83F5 /* CCEventController.h in Headers */, 50ABBE781925AB6F00A911A9 /* CCEventListenerTouch.h in Headers */, B2D3D3BA1948613300BA4831 /* CCBundle3DData.h in Headers */, B37510861823ACA100B3BA6A /* CCPhysicsWorldInfo_chipmunk.h in Headers */, @@ -5549,6 +5608,7 @@ 50ABC0101926664800A911A9 /* CCFileUtils.h in Headers */, 2905FA4318CF08D100240AA3 /* CocosGUI.h in Headers */, 5034CA30191D591100CE6051 /* ccShader_PositionTexture.vert in Headers */, + 3E6176711960F89B00DE83F5 /* CCControllerElement.h in Headers */, 50E6D33718E174130051CA34 /* UIHBox.h in Headers */, 1A570111180BC8EE0088DEC7 /* CCDrawingPrimitives.h in Headers */, 50E6D33F18E174130051CA34 /* UIVBox.h in Headers */, @@ -5616,6 +5676,7 @@ 5034CA2C191D591100CE6051 /* ccShader_PositionTextureA8Color.vert in Headers */, 50ABBE981925AB6F00A911A9 /* CCProtocols.h in Headers */, 2905FA8B18CF08D100240AA3 /* UITextField.h in Headers */, + 3E6176731960F89B00DE83F5 /* CCControllerThumbstick.h in Headers */, 50FCEBA618C72017004AD434 /* ListViewReader.h in Headers */, 50ABBD431925AB0000A911A9 /* CCMathBase.h in Headers */, 50ABBE441925AB6F00A911A9 /* CCDirector.h in Headers */, @@ -5634,6 +5695,7 @@ 50ABBE741925AB6F00A911A9 /* CCEventListenerMouse.h in Headers */, 2905FA8F18CF08D100240AA3 /* UIWidget.h in Headers */, 50FCEB9A18C72017004AD434 /* CheckBoxReader.h in Headers */, + 3E61766D1960F89B00DE83F5 /* CCControllerButtonInput.h in Headers */, 1A5702CB180BCE370088DEC7 /* CCTextFieldTTF.h in Headers */, 2905FA7F18CF08D100240AA3 /* UIText.h in Headers */, 1A5702ED180BCE750088DEC7 /* CCTileMapAtlas.h in Headers */, @@ -5646,6 +5708,7 @@ 1A570303180BCE890088DEC7 /* CCParallaxNode.h in Headers */, 50ABBE2A1925AB6F00A911A9 /* CCAutoreleasePool.h in Headers */, 1A57030F180BCF190088DEC7 /* CCComponent.h in Headers */, + 3E61766F1960F89B00DE83F5 /* CCControllerDirectionPad.h in Headers */, 1A570313180BCF190088DEC7 /* CCComponentContainer.h in Headers */, 0634A4DF194B19E400E608AF /* CCNodeReader.h in Headers */, 1A087AEB1860400400196EF5 /* edtaa3func.h in Headers */, @@ -5701,14 +5764,17 @@ 1AD71DF2180E26E600808F54 /* CCNode+CCBRelativePositioning.h in Headers */, 50ABBDB01925AB4100A911A9 /* CCRenderer.h in Headers */, B29594B71926D5EC003EEF37 /* CCMeshCommand.h in Headers */, + 3E6176771960F89B00DE83F5 /* CCEventListenerController.h in Headers */, 1AD71DF6180E26E600808F54 /* CCNodeLoader.h in Headers */, 50ABBD861925AB4100A911A9 /* CCBatchCommand.h in Headers */, 1AD71DFA180E26E600808F54 /* CCNodeLoaderLibrary.h in Headers */, 50ABBE481925AB6F00A911A9 /* CCEvent.h in Headers */, 5027253B190BF1B900AAF4ED /* cocos2d.h in Headers */, B29594CD1926D61F003EEF37 /* CCSprite3D.h in Headers */, + 3E6176691960F89B00DE83F5 /* CCController.h in Headers */, 1AD71DFC180E26E600808F54 /* CCNodeLoaderListener.h in Headers */, 3EA0FB6B191C841D00B170C8 /* UIVideoPlayer.h in Headers */, + 3E6176781960F89B00DE83F5 /* CCGameController.h in Headers */, 50ABBE641925AB6F00A911A9 /* CCEventListenerAcceleration.h in Headers */, 1AD71E00180E26E600808F54 /* CCParticleSystemQuadLoader.h in Headers */, 1AD71E04180E26E600808F54 /* CCScale9SpriteLoader.h in Headers */, @@ -5749,6 +5815,7 @@ 1AD71ED0180E26E600808F54 /* Skeleton.h in Headers */, 50ABBE541925AB6F00A911A9 /* CCEventDispatcher.h in Headers */, 1AD71ED4180E26E600808F54 /* SkeletonData.h in Headers */, + 3E61767A1960F89B00DE83F5 /* CCGamepad.h in Headers */, 1AD71ED8180E26E600808F54 /* SkeletonJson.h in Headers */, 1A12775A18DFCC4F0005F345 /* CCTweenFunction.h in Headers */, 1AD71EDC180E26E600808F54 /* Skin.h in Headers */, @@ -6682,8 +6749,10 @@ 1A570072180BC5A10088DEC7 /* CCActionGrid.cpp in Sources */, 50ABBE621925AB6F00A911A9 /* CCEventListenerAcceleration.cpp in Sources */, B37510811823ACA100B3BA6A /* CCPhysicsJointInfo_chipmunk.cpp in Sources */, + 3E6176681960F89B00DE83F5 /* CCController-iOS.mm in Sources */, 2905FA8D18CF08D100240AA3 /* UIWidget.cpp in Sources */, 29E99D1F1957BA7000046604 /* CocoLoader.cpp in Sources */, + 3E61766C1960F89B00DE83F5 /* CCControllerButtonInput.cpp in Sources */, B29594B51926D5EC003EEF37 /* CCMeshCommand.cpp in Sources */, 0634A4D5194B19E400E608AF /* CCActionTimelineCache.cpp in Sources */, 50ABBE7E1925AB6F00A911A9 /* CCEventTouch.cpp in Sources */, @@ -6762,11 +6831,13 @@ 1A570215180BCBF40088DEC7 /* CCRenderTexture.cpp in Sources */, 1A570222180BCC1A0088DEC7 /* CCParticleBatchNode.cpp in Sources */, 1A570226180BCC1A0088DEC7 /* CCParticleExamples.cpp in Sources */, + 3E6176791960F89B00DE83F5 /* CCGamepad.cpp in Sources */, 1A57022A180BCC1A0088DEC7 /* CCParticleSystem.cpp in Sources */, B24AA98A195A675C007B4522 /* CCFastTMXTiledMap.cpp in Sources */, B24AA986195A675C007B4522 /* CCFastTMXLayer.cpp in Sources */, 1A57022E180BCC1A0088DEC7 /* CCParticleSystemQuad.cpp in Sources */, 50ABBD901925AB4100A911A9 /* CCGLProgramCache.cpp in Sources */, + 3E6176701960F89B00DE83F5 /* CCControllerElement.cpp in Sources */, 2905FA5718CF08D100240AA3 /* UILayout.cpp in Sources */, 2905FA7D18CF08D100240AA3 /* UIText.cpp in Sources */, 50E6D33D18E174130051CA34 /* UIVBox.cpp in Sources */, @@ -6782,6 +6853,7 @@ 1A5702C9180BCE370088DEC7 /* CCTextFieldTTF.cpp in Sources */, 1A5702EB180BCE750088DEC7 /* CCTileMapAtlas.cpp in Sources */, 1A5702EF180BCE750088DEC7 /* CCTMXLayer.cpp in Sources */, + 3E61766A1960F89B00DE83F5 /* CCControllerAxisInput.cpp in Sources */, 1A5702F3180BCE750088DEC7 /* CCTMXObjectGroup.cpp in Sources */, 50ABBD3D1925AB0000A911A9 /* CCGeometry.cpp in Sources */, 50ABBECC1925AB6F00A911A9 /* s3tc.cpp in Sources */, @@ -6876,6 +6948,7 @@ 50ABBEA41925AB6F00A911A9 /* CCScriptSupport.cpp in Sources */, 1AD71EDE180E26E600808F54 /* Slot.cpp in Sources */, 1AD71EE2180E26E600808F54 /* SlotData.cpp in Sources */, + 3E6176761960F89B00DE83F5 /* CCEventListenerController.cpp in Sources */, 503DD8E71926736A00CD74DD /* CCEAGLView.mm in Sources */, 1AD71EE6180E26E600808F54 /* spine-cocos2dx.cpp in Sources */, 2905FA8518CF08D100240AA3 /* UITextBMFont.cpp in Sources */, @@ -6891,7 +6964,9 @@ 50E6D33518E174130051CA34 /* UIHBox.cpp in Sources */, 50FCEBB018C72017004AD434 /* ScrollViewReader.cpp in Sources */, 50ABBE9A1925AB6F00A911A9 /* CCRef.cpp in Sources */, + 3E6176741960F89B00DE83F5 /* CCEventController.cpp in Sources */, 50ABBE361925AB6F00A911A9 /* CCConsole.cpp in Sources */, + 3E61766E1960F89B00DE83F5 /* CCControllerDirectionPad.cpp in Sources */, 503DD8E51926736A00CD74DD /* CCDirectorCaller.mm in Sources */, 50ABBD5D1925AB0000A911A9 /* Vec3.cpp in Sources */, 50ABC0121926664800A911A9 /* CCGLViewProtocol.cpp in Sources */, @@ -6930,6 +7005,7 @@ 1A8C59D4180E930E00EF57C3 /* CCDecorativeDisplay.cpp in Sources */, 1A8C59D8180E930E00EF57C3 /* CCDisplayFactory.cpp in Sources */, 46C02E0818E91123004B7456 /* xxhash.c in Sources */, + 3E6176721960F89B00DE83F5 /* CCControllerThumbstick.cpp in Sources */, 50ABBED01925AB6F00A911A9 /* TGAlib.cpp in Sources */, 2905FA4118CF08D100240AA3 /* CocosGUI.cpp in Sources */, 1A01C68518F57BE800EFE3A6 /* CCArray.cpp in Sources */, diff --git a/build/cocos2d_tests.xcodeproj/project.pbxproj b/build/cocos2d_tests.xcodeproj/project.pbxproj index b1352e8df9..2c889dbc87 100644 --- a/build/cocos2d_tests.xcodeproj/project.pbxproj +++ b/build/cocos2d_tests.xcodeproj/project.pbxproj @@ -809,6 +809,45 @@ 38FA2E74194AEBE100FF2BE4 /* ActionTimelineTestScene.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 38FA2E71194AEBE100FF2BE4 /* ActionTimelineTestScene.cpp */; }; 38FA2E76194AECF800FF2BE4 /* ActionTimeline in Resources */ = {isa = PBXBuildFile; fileRef = 38FA2E75194AECF800FF2BE4 /* ActionTimeline */; }; 38FA2E77194AECF800FF2BE4 /* ActionTimeline in Resources */ = {isa = PBXBuildFile; fileRef = 38FA2E75194AECF800FF2BE4 /* ActionTimeline */; }; + 3E6177211960FAED00DE83F5 /* libchipmunk iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 46A15FC21807A4F9005B8026 /* libchipmunk iOS.a */; }; + 3E6177221960FAED00DE83F5 /* libcocos2dx iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 46A15FBE1807A4F9005B8026 /* libcocos2dx iOS.a */; }; + 3E6177231960FAED00DE83F5 /* libCocosDenshion iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 46A15FC61807A4F9005B8026 /* libCocosDenshion iOS.a */; }; + 3E6177241960FAED00DE83F5 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D60AE43317F7FFE100757E4B /* CoreMotion.framework */; }; + 3E6177251960FAED00DE83F5 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 15C6482E165F399D007D4F18 /* libz.dylib */; }; + 3E6177261960FAED00DE83F5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 15C64832165F3AFD007D4F18 /* Foundation.framework */; }; + 3E6177271960FAED00DE83F5 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 15C6482C165F3988007D4F18 /* AudioToolbox.framework */; }; + 3E6177281960FAED00DE83F5 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 15C64828165F396B007D4F18 /* OpenAL.framework */; }; + 3E6177291960FAED00DE83F5 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 15C64826165F394E007D4F18 /* QuartzCore.framework */; }; + 3E61772A1960FAED00DE83F5 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A07A52BB1783AEB80073F6A7 /* CoreGraphics.framework */; }; + 3E61772B1960FAED00DE83F5 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A07A52B91783AE900073F6A7 /* OpenGLES.framework */; }; + 3E61772C1960FAED00DE83F5 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A07A52B71783AE6D0073F6A7 /* UIKit.framework */; }; + 3E61772D1960FAED00DE83F5 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A07A52C11783B01F0073F6A7 /* AVFoundation.framework */; }; + 3E6177331960FB3500DE83F5 /* AppDelegate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176B71960FA6300DE83F5 /* AppDelegate.cpp */; }; + 3E6177341960FB3900DE83F5 /* GameControllerTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176BA1960FA6300DE83F5 /* GameControllerTest.cpp */; }; + 3E6177351960FB4000DE83F5 /* AppController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176DE1960FA6300DE83F5 /* AppController.mm */; }; + 3E6177361960FB5A00DE83F5 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176EE1960FA6300DE83F5 /* main.m */; }; + 3E6177371960FB5E00DE83F5 /* RootViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176F01960FA6300DE83F5 /* RootViewController.mm */; }; + 3E6177391960FBB800DE83F5 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E6177381960FBB800DE83F5 /* SystemConfiguration.framework */; }; + 3E61773B1960FBC300DE83F5 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E61773A1960FBC300DE83F5 /* CFNetwork.framework */; }; + 3E61773D1960FBD200DE83F5 /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E61773C1960FBD100DE83F5 /* GameController.framework */; }; + 3E6177F41960FEFE00DE83F5 /* fonts in Resources */ = {isa = PBXBuildFile; fileRef = 3E6177F01960FEFE00DE83F5 /* fonts */; }; + 3E6177F51960FEFE00DE83F5 /* ipad in Resources */ = {isa = PBXBuildFile; fileRef = 3E6177F11960FEFE00DE83F5 /* ipad */; }; + 3E6177F61960FEFE00DE83F5 /* ipadhd in Resources */ = {isa = PBXBuildFile; fileRef = 3E6177F21960FEFE00DE83F5 /* ipadhd */; }; + 3E6177F71960FEFE00DE83F5 /* iphone in Resources */ = {isa = PBXBuildFile; fileRef = 3E6177F31960FEFE00DE83F5 /* iphone */; }; + 3E6177F81960FF1800DE83F5 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6176DF1960FA6300DE83F5 /* Default-568h@2x.png */; }; + 3E6177F91960FF1800DE83F5 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6176E01960FA6300DE83F5 /* Default.png */; }; + 3E6177FA1960FF1800DE83F5 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6176E11960FA6300DE83F5 /* Default@2x.png */; }; + 3E6177FB1960FF1800DE83F5 /* Icon-100.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6176E21960FA6300DE83F5 /* Icon-100.png */; }; + 3E6177FC1960FF1800DE83F5 /* Icon-114.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6176E31960FA6300DE83F5 /* Icon-114.png */; }; + 3E6177FD1960FF1800DE83F5 /* Icon-120.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6176E41960FA6300DE83F5 /* Icon-120.png */; }; + 3E6177FE1960FF1800DE83F5 /* Icon-144.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6176E51960FA6300DE83F5 /* Icon-144.png */; }; + 3E6177FF1960FF1800DE83F5 /* Icon-152.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6176E61960FA6300DE83F5 /* Icon-152.png */; }; + 3E6178001960FF1800DE83F5 /* Icon-40.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6176E71960FA6300DE83F5 /* Icon-40.png */; }; + 3E6178011960FF1800DE83F5 /* Icon-57.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6176E81960FA6300DE83F5 /* Icon-57.png */; }; + 3E6178021960FF1800DE83F5 /* Icon-58.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6176E91960FA6300DE83F5 /* Icon-58.png */; }; + 3E6178031960FF1800DE83F5 /* Icon-72.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6176EA1960FA6300DE83F5 /* Icon-72.png */; }; + 3E6178041960FF1800DE83F5 /* Icon-76.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6176EB1960FA6300DE83F5 /* Icon-76.png */; }; + 3E6178051960FF1800DE83F5 /* Icon-80.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6176EC1960FA6300DE83F5 /* Icon-80.png */; }; 3E92EA821921A1400094CD21 /* Sprite3DTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E92EA801921A1400094CD21 /* Sprite3DTest.cpp */; }; 3E92EA831921A1400094CD21 /* Sprite3DTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E92EA801921A1400094CD21 /* Sprite3DTest.cpp */; }; 3E92EA851921A7720094CD21 /* Sprite3DTest in Resources */ = {isa = PBXBuildFile; fileRef = 3E92EA841921A7720094CD21 /* Sprite3DTest */; }; @@ -1149,6 +1188,34 @@ remoteGlobalIDString = 1A0EE41918CDF799004CD58F; remoteInfo = "lua-empty-test iOS"; }; + 3E6177011960FAED00DE83F5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 46A15F9C1807A4F8005B8026 /* cocos2d_libs.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = A07A4C241783777C0073F6A7; + remoteInfo = "cocos2dx iOS"; + }; + 3E6177031960FAED00DE83F5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 46A15F9C1807A4F8005B8026 /* cocos2d_libs.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = A07A4EFD178387670073F6A7; + remoteInfo = "chipmunk iOS"; + }; + 3E6177051960FAED00DE83F5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 46A15F9C1807A4F8005B8026 /* cocos2d_libs.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = A07A4F9F178387730073F6A7; + remoteInfo = "CocosDenshion iOS"; + }; + 3E6177441960FE1E00DE83F5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 46A15F9C1807A4F8005B8026 /* cocos2d_libs.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = A07A4E111783867C0073F6A7; + remoteInfo = "cocos2dx-extensions iOS"; + }; 46A15FAF1807A4F9005B8026 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 46A15F9C1807A4F8005B8026 /* cocos2d_libs.xcodeproj */; @@ -1850,6 +1917,39 @@ 38FA2E71194AEBE100FF2BE4 /* ActionTimelineTestScene.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ActionTimelineTestScene.cpp; sourceTree = ""; }; 38FA2E72194AEBE100FF2BE4 /* ActionTimelineTestScene.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ActionTimelineTestScene.h; sourceTree = ""; }; 38FA2E75194AECF800FF2BE4 /* ActionTimeline */ = {isa = PBXFileReference; lastKnownFileType = folder; name = ActionTimeline; path = "../tests/cpp-tests/Resources/ActionTimeline"; sourceTree = ""; }; + 3E6176B71960FA6300DE83F5 /* AppDelegate.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = AppDelegate.cpp; sourceTree = ""; }; + 3E6176B81960FA6300DE83F5 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + 3E6176B91960FA6300DE83F5 /* AppMacros.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppMacros.h; sourceTree = ""; }; + 3E6176BA1960FA6300DE83F5 /* GameControllerTest.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GameControllerTest.cpp; sourceTree = ""; }; + 3E6176BB1960FA6300DE83F5 /* GameControllerTest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GameControllerTest.h; sourceTree = ""; }; + 3E6176DD1960FA6300DE83F5 /* AppController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppController.h; sourceTree = ""; }; + 3E6176DE1960FA6300DE83F5 /* AppController.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = AppController.mm; sourceTree = ""; }; + 3E6176DF1960FA6300DE83F5 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; + 3E6176E01960FA6300DE83F5 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; }; + 3E6176E11960FA6300DE83F5 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = ""; }; + 3E6176E21960FA6300DE83F5 /* Icon-100.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-100.png"; sourceTree = ""; }; + 3E6176E31960FA6300DE83F5 /* Icon-114.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-114.png"; sourceTree = ""; }; + 3E6176E41960FA6300DE83F5 /* Icon-120.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-120.png"; sourceTree = ""; }; + 3E6176E51960FA6300DE83F5 /* Icon-144.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-144.png"; sourceTree = ""; }; + 3E6176E61960FA6300DE83F5 /* Icon-152.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-152.png"; sourceTree = ""; }; + 3E6176E71960FA6300DE83F5 /* Icon-40.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-40.png"; sourceTree = ""; }; + 3E6176E81960FA6300DE83F5 /* Icon-57.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-57.png"; sourceTree = ""; }; + 3E6176E91960FA6300DE83F5 /* Icon-58.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-58.png"; sourceTree = ""; }; + 3E6176EA1960FA6300DE83F5 /* Icon-72.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-72.png"; sourceTree = ""; }; + 3E6176EB1960FA6300DE83F5 /* Icon-76.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-76.png"; sourceTree = ""; }; + 3E6176EC1960FA6300DE83F5 /* Icon-80.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-80.png"; sourceTree = ""; }; + 3E6176ED1960FA6300DE83F5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 3E6176EE1960FA6300DE83F5 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 3E6176EF1960FA6300DE83F5 /* RootViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RootViewController.h; sourceTree = ""; }; + 3E6176F01960FA6300DE83F5 /* RootViewController.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = RootViewController.mm; sourceTree = ""; }; + 3E6177311960FAED00DE83F5 /* game-controller-test IOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "game-controller-test IOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 3E6177381960FBB800DE83F5 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; }; + 3E61773A1960FBC300DE83F5 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/CFNetwork.framework; sourceTree = DEVELOPER_DIR; }; + 3E61773C1960FBD100DE83F5 /* GameController.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameController.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/GameController.framework; sourceTree = DEVELOPER_DIR; }; + 3E6177F01960FEFE00DE83F5 /* fonts */ = {isa = PBXFileReference; lastKnownFileType = folder; name = fonts; path = Resources/fonts; sourceTree = ""; }; + 3E6177F11960FEFE00DE83F5 /* ipad */ = {isa = PBXFileReference; lastKnownFileType = folder; name = ipad; path = Resources/ipad; sourceTree = ""; }; + 3E6177F21960FEFE00DE83F5 /* ipadhd */ = {isa = PBXFileReference; lastKnownFileType = folder; name = ipadhd; path = Resources/ipadhd; sourceTree = ""; }; + 3E6177F31960FEFE00DE83F5 /* iphone */ = {isa = PBXFileReference; lastKnownFileType = folder; name = iphone; path = Resources/iphone; sourceTree = ""; }; 3E92EA801921A1400094CD21 /* Sprite3DTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Sprite3DTest.cpp; path = Sprite3DTest/Sprite3DTest.cpp; sourceTree = ""; }; 3E92EA811921A1400094CD21 /* Sprite3DTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Sprite3DTest.h; path = Sprite3DTest/Sprite3DTest.h; sourceTree = ""; }; 3E92EA841921A7720094CD21 /* Sprite3DTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Sprite3DTest; path = "../tests/cpp-tests/Resources/Sprite3DTest"; sourceTree = ""; }; @@ -2027,6 +2127,29 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 3E6177201960FAED00DE83F5 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 3E61773D1960FBD200DE83F5 /* GameController.framework in Frameworks */, + 3E61773B1960FBC300DE83F5 /* CFNetwork.framework in Frameworks */, + 3E6177391960FBB800DE83F5 /* SystemConfiguration.framework in Frameworks */, + 3E6177211960FAED00DE83F5 /* libchipmunk iOS.a in Frameworks */, + 3E6177221960FAED00DE83F5 /* libcocos2dx iOS.a in Frameworks */, + 3E6177231960FAED00DE83F5 /* libCocosDenshion iOS.a in Frameworks */, + 3E6177241960FAED00DE83F5 /* CoreMotion.framework in Frameworks */, + 3E6177251960FAED00DE83F5 /* libz.dylib in Frameworks */, + 3E6177261960FAED00DE83F5 /* Foundation.framework in Frameworks */, + 3E6177271960FAED00DE83F5 /* AudioToolbox.framework in Frameworks */, + 3E6177281960FAED00DE83F5 /* OpenAL.framework in Frameworks */, + 3E6177291960FAED00DE83F5 /* QuartzCore.framework in Frameworks */, + 3E61772A1960FAED00DE83F5 /* CoreGraphics.framework in Frameworks */, + 3E61772B1960FAED00DE83F5 /* OpenGLES.framework in Frameworks */, + 3E61772C1960FAED00DE83F5 /* UIKit.framework in Frameworks */, + 3E61772D1960FAED00DE83F5 /* AVFoundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; A07A52171783A1D20073F6A7 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -2064,6 +2187,7 @@ 1A0EE31418CDF733004CD58F /* lua-empty-test Mac.app */, 1A0EE41318CDF775004CD58F /* cpp-empty-test iOS.app */, 1A0EE47E18CDF799004CD58F /* lua-empty-test iOS.app */, + 3E6177311960FAED00DE83F5 /* game-controller-test IOS.app */, ); name = Products; sourceTree = ""; @@ -3443,6 +3567,7 @@ 1AC35E0318CEE78300F37B72 /* tests */ = { isa = PBXGroup; children = ( + 3E6176B51960FA6300DE83F5 /* game-controller-test */, 1AC358B618CEC19F00F37B72 /* cpp-empty-test */, 1AC3592118CECEFF00F37B72 /* cpp-tests */, 1AC35D2418CEDE5600F37B72 /* lua-empty-test */, @@ -3736,6 +3861,9 @@ 29B97323FDCFA39411CA2CEA /* Frameworks */ = { isa = PBXGroup; children = ( + 3E61773C1960FBD100DE83F5 /* GameController.framework */, + 3E61773A1960FBC300DE83F5 /* CFNetwork.framework */, + 3E6177381960FBB800DE83F5 /* SystemConfiguration.framework */, 3EA0FB65191B933000B170C8 /* MediaPlayer.framework */, 1ABCA3AF18CDA06D0087CE3A /* libz.dylib */, 1ABCA3A818CD9F130087CE3A /* AudioToolbox.framework */, @@ -3782,6 +3910,67 @@ path = CocoStudioActionTimelineTest; sourceTree = ""; }; + 3E6176B51960FA6300DE83F5 /* game-controller-test */ = { + isa = PBXGroup; + children = ( + 3E6177EF1960FEE300DE83F5 /* Resource */, + 3E6176B61960FA6300DE83F5 /* Classes */, + 3E6176DC1960FA6300DE83F5 /* proj.ios */, + ); + name = "game-controller-test"; + path = "../tests/game-controller-test"; + sourceTree = ""; + }; + 3E6176B61960FA6300DE83F5 /* Classes */ = { + isa = PBXGroup; + children = ( + 3E6176B71960FA6300DE83F5 /* AppDelegate.cpp */, + 3E6176B81960FA6300DE83F5 /* AppDelegate.h */, + 3E6176B91960FA6300DE83F5 /* AppMacros.h */, + 3E6176BA1960FA6300DE83F5 /* GameControllerTest.cpp */, + 3E6176BB1960FA6300DE83F5 /* GameControllerTest.h */, + ); + path = Classes; + sourceTree = ""; + }; + 3E6176DC1960FA6300DE83F5 /* proj.ios */ = { + isa = PBXGroup; + children = ( + 3E6176DD1960FA6300DE83F5 /* AppController.h */, + 3E6176DE1960FA6300DE83F5 /* AppController.mm */, + 3E6176DF1960FA6300DE83F5 /* Default-568h@2x.png */, + 3E6176E01960FA6300DE83F5 /* Default.png */, + 3E6176E11960FA6300DE83F5 /* Default@2x.png */, + 3E6176E21960FA6300DE83F5 /* Icon-100.png */, + 3E6176E31960FA6300DE83F5 /* Icon-114.png */, + 3E6176E41960FA6300DE83F5 /* Icon-120.png */, + 3E6176E51960FA6300DE83F5 /* Icon-144.png */, + 3E6176E61960FA6300DE83F5 /* Icon-152.png */, + 3E6176E71960FA6300DE83F5 /* Icon-40.png */, + 3E6176E81960FA6300DE83F5 /* Icon-57.png */, + 3E6176E91960FA6300DE83F5 /* Icon-58.png */, + 3E6176EA1960FA6300DE83F5 /* Icon-72.png */, + 3E6176EB1960FA6300DE83F5 /* Icon-76.png */, + 3E6176EC1960FA6300DE83F5 /* Icon-80.png */, + 3E6176ED1960FA6300DE83F5 /* Info.plist */, + 3E6176EE1960FA6300DE83F5 /* main.m */, + 3E6176EF1960FA6300DE83F5 /* RootViewController.h */, + 3E6176F01960FA6300DE83F5 /* RootViewController.mm */, + ); + path = proj.ios; + sourceTree = ""; + }; + 3E6177EF1960FEE300DE83F5 /* Resource */ = { + isa = PBXGroup; + children = ( + 3E6177F01960FEFE00DE83F5 /* fonts */, + 3E6177F11960FEFE00DE83F5 /* ipad */, + 3E6177F21960FEFE00DE83F5 /* ipadhd */, + 3E6177F31960FEFE00DE83F5 /* iphone */, + ); + name = Resource; + sourceTree = ""; + }; 3E92EA7D1921A0C60094CD21 /* Sprite3DTest */ = { isa = PBXGroup; children = ( @@ -3970,6 +4159,27 @@ productReference = 1D6058910D05DD3D006BFB54 /* cpp-tests Mac.app */; productType = "com.apple.product-type.application"; }; + 3E6176FF1960FAED00DE83F5 /* game-controller-test IOS */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3E61772E1960FAED00DE83F5 /* Build configuration list for PBXNativeTarget "game-controller-test IOS" */; + buildPhases = ( + 3E6177061960FAED00DE83F5 /* Resources */, + 3E61771A1960FAED00DE83F5 /* Sources */, + 3E6177201960FAED00DE83F5 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 3E6177451960FE1E00DE83F5 /* PBXTargetDependency */, + 3E6177001960FAED00DE83F5 /* PBXTargetDependency */, + 3E6177021960FAED00DE83F5 /* PBXTargetDependency */, + 3E6177041960FAED00DE83F5 /* PBXTargetDependency */, + ); + name = "game-controller-test IOS"; + productName = iphone; + productReference = 3E6177311960FAED00DE83F5 /* game-controller-test IOS.app */; + productType = "com.apple.product-type.application"; + }; A07A517F1783A1D20073F6A7 /* cpp-tests iOS */ = { isa = PBXNativeTarget; buildConfigurationList = A07A52261783A1D20073F6A7 /* Build configuration list for PBXNativeTarget "cpp-tests iOS" */; @@ -4036,6 +4246,7 @@ 1A0EE31818CDF775004CD58F /* cpp-empty-test iOS */, 1ABCA2CC18CD93580087CE3A /* lua-tests iOS */, 1A0EE41918CDF799004CD58F /* lua-empty-test iOS */, + 3E6176FF1960FAED00DE83F5 /* game-controller-test IOS */, ); }; /* End PBXProject section */ @@ -4440,6 +4651,31 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 3E6177061960FAED00DE83F5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3E6177F61960FEFE00DE83F5 /* ipadhd in Resources */, + 3E6177FF1960FF1800DE83F5 /* Icon-152.png in Resources */, + 3E6178051960FF1800DE83F5 /* Icon-80.png in Resources */, + 3E6177F91960FF1800DE83F5 /* Default.png in Resources */, + 3E6177F71960FEFE00DE83F5 /* iphone in Resources */, + 3E6178011960FF1800DE83F5 /* Icon-57.png in Resources */, + 3E6177F51960FEFE00DE83F5 /* ipad in Resources */, + 3E6177F81960FF1800DE83F5 /* Default-568h@2x.png in Resources */, + 3E6177FA1960FF1800DE83F5 /* Default@2x.png in Resources */, + 3E6177FB1960FF1800DE83F5 /* Icon-100.png in Resources */, + 3E6178001960FF1800DE83F5 /* Icon-40.png in Resources */, + 3E6177FE1960FF1800DE83F5 /* Icon-144.png in Resources */, + 3E6177FC1960FF1800DE83F5 /* Icon-114.png in Resources */, + 3E6178041960FF1800DE83F5 /* Icon-76.png in Resources */, + 3E6177FD1960FF1800DE83F5 /* Icon-120.png in Resources */, + 3E6178031960FF1800DE83F5 /* Icon-72.png in Resources */, + 3E6177F41960FEFE00DE83F5 /* fonts in Resources */, + 3E6178021960FF1800DE83F5 /* Icon-58.png in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; A07A518A1783A1D20073F6A7 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -4743,6 +4979,18 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 3E61771A1960FAED00DE83F5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3E6177351960FB4000DE83F5 /* AppController.mm in Sources */, + 3E6177371960FB5E00DE83F5 /* RootViewController.mm in Sources */, + 3E6177331960FB3500DE83F5 /* AppDelegate.cpp in Sources */, + 3E6177361960FB5A00DE83F5 /* main.m in Sources */, + 3E6177341960FB3900DE83F5 /* GameControllerTest.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; A07A51AD1783A1D20073F6A7 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -5139,6 +5387,26 @@ target = 1A0EE41918CDF799004CD58F /* lua-empty-test iOS */; targetProxy = 1ADA8BAF18CF277C00AE24B9 /* PBXContainerItemProxy */; }; + 3E6177001960FAED00DE83F5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "cocos2dx iOS"; + targetProxy = 3E6177011960FAED00DE83F5 /* PBXContainerItemProxy */; + }; + 3E6177021960FAED00DE83F5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "chipmunk iOS"; + targetProxy = 3E6177031960FAED00DE83F5 /* PBXContainerItemProxy */; + }; + 3E6177041960FAED00DE83F5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "CocosDenshion iOS"; + targetProxy = 3E6177051960FAED00DE83F5 /* PBXContainerItemProxy */; + }; + 3E6177451960FE1E00DE83F5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = "cocos2dx-extensions iOS"; + targetProxy = 3E6177441960FE1E00DE83F5 /* PBXContainerItemProxy */; + }; A035ACC0178246BD00987F6C /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 1D6058900D05DD3D006BFB54 /* cpp-tests Mac */; @@ -5452,6 +5720,41 @@ }; name = Release; }; + 3E61772F1960FAED00DE83F5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + CC_TARGET_OS_IPHONE, + ); + INFOPLIST_FILE = "$(SRCROOT)/../tests/game-controller-test/proj.ios/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 5.1.1; + PRODUCT_NAME = "game-controller-test IOS"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + USER_HEADER_SEARCH_PATHS = "$(inherited) $(SRCROOT)/../cocos/platform/ios $(SRCROOT)/../cocos/platform/ios/Simulation $(SRCROOT)/../external/curl/include/ios"; + }; + name = Debug; + }; + 3E6177301960FAED00DE83F5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Developer"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + CC_TARGET_OS_IPHONE, + ); + INFOPLIST_FILE = "$(SRCROOT)/../tests/game-controller-test/proj.ios/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 5.1.1; + PRODUCT_NAME = "game-controller-test IOS"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + USER_HEADER_SEARCH_PATHS = "$(inherited) $(SRCROOT)/../cocos/platform/ios $(SRCROOT)/../cocos/platform/ios/Simulation $(SRCROOT)/../external/curl/include/ios"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; A035ACBD1782469800987F6C /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -5638,6 +5941,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 3E61772E1960FAED00DE83F5 /* Build configuration list for PBXNativeTarget "game-controller-test IOS" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3E61772F1960FAED00DE83F5 /* Debug */, + 3E6177301960FAED00DE83F5 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; A035ACBC1782469800987F6C /* Build configuration list for PBXAggregateTarget "build all tests Mac" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/build/cocos2d_tests.xcodeproj/xcshareddata/xcschemes/game-controller-test IOS.xcscheme b/build/cocos2d_tests.xcodeproj/xcshareddata/xcschemes/game-controller-test IOS.xcscheme new file mode 100644 index 0000000000..5cbd917515 --- /dev/null +++ b/build/cocos2d_tests.xcodeproj/xcshareddata/xcschemes/game-controller-test IOS.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cocos/2d/CCFastTMXLayer.cpp b/cocos/2d/CCFastTMXLayer.cpp index 0d613a6a5a..1b456fc69b 100644 --- a/cocos/2d/CCFastTMXLayer.cpp +++ b/cocos/2d/CCFastTMXLayer.cpp @@ -180,7 +180,7 @@ void FastTMXLayer::onDraw(int offset, int count) GL::bindTexture2D(_texture->getName()); getGLProgramState()->apply(_modelViewTransform); - glBindVertexArray(0); + GL::bindVAO(0); glBindBuffer(GL_ARRAY_BUFFER, _buffersVBO[0]); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _buffersVBO[1]); diff --git a/cocos/2d/cocos2d_wp8.vcxproj b/cocos/2d/cocos2d_wp8.vcxproj index c6a97f8c94..ba2f24834b 100644 --- a/cocos/2d/cocos2d_wp8.vcxproj +++ b/cocos/2d/cocos2d_wp8.vcxproj @@ -225,6 +225,7 @@ + @@ -378,6 +379,8 @@ + + @@ -433,6 +436,7 @@ + @@ -591,6 +595,8 @@ + + diff --git a/cocos/2d/cocos2d_wp8.vcxproj.filters b/cocos/2d/cocos2d_wp8.vcxproj.filters index d0f0fce8cb..a00fbb84f3 100644 --- a/cocos/2d/cocos2d_wp8.vcxproj.filters +++ b/cocos/2d/cocos2d_wp8.vcxproj.filters @@ -608,6 +608,15 @@ 3d + + 3d + + + 2d + + + 2d + @@ -1241,6 +1250,15 @@ 3d + + 3d + + + 2d + + + 2d + diff --git a/cocos/3d/CCBundle3D.cpp b/cocos/3d/CCBundle3D.cpp index b7ebddbcba..30a06fd11a 100644 --- a/cocos/3d/CCBundle3D.cpp +++ b/cocos/3d/CCBundle3D.cpp @@ -610,7 +610,7 @@ bool Bundle3D::loadSkinDataBinary(SkinData* skindata) if (!_binaryReader.readMatrix(bindpos)) { CCLOGINFO("Failed to load SkinData: bindpos '%s'.", _path.c_str()); - return nullptr; + return false; } skindata->inverseBindPoseMatrices.push_back(bindpos); } @@ -651,7 +651,7 @@ bool Bundle3D::loadSkinDataBinary(SkinData* skindata) if (!_binaryReader.readMatrix(transform)) { CCLOGINFO("Failed to load SkinData: transform '%s'.", _path.c_str()); - return nullptr; + return false; } if(index < 0) diff --git a/cocos/Android.mk b/cocos/Android.mk index 0ccd4381a5..ba6c634114 100644 --- a/cocos/Android.mk +++ b/cocos/Android.mk @@ -109,7 +109,9 @@ base/CCEventCustom.cpp \ base/CCEventDispatcher.cpp \ base/CCEventFocus.cpp \ base/CCEventKeyboard.cpp \ +base/CCEventController.cpp \ base/CCEventListener.cpp \ +base/CCEventListenerController.cpp \ base/CCEventListenerAcceleration.cpp \ base/CCEventListenerCustom.cpp \ base/CCEventListenerFocus.cpp \ @@ -139,6 +141,13 @@ base/ccUTF8.cpp \ base/ccUtils.cpp \ base/etc1.cpp \ base/s3tc.cpp \ +base/CCController-android.cpp \ +base/CCControllerAxisInput.cpp \ +base/CCControllerButtonInput.cpp \ +base/CCControllerDirectionPad.cpp \ +base/CCControllerElement.cpp \ +base/CCControllerThumbstick.cpp \ +base/CCGamepad.cpp \ base/ObjectFactory.cpp \ renderer/CCBatchCommand.cpp \ renderer/CCCustomCommand.cpp \ @@ -187,7 +196,8 @@ LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) \ $(LOCAL_PATH)/../external/tinyxml2 \ $(LOCAL_PATH)/../external/unzip \ $(LOCAL_PATH)/../external/chipmunk/include/chipmunk \ - $(LOCAL_PATH)/../external/xxhash + $(LOCAL_PATH)/../external/xxhash \ + $(LOCAL_PATH)/../external/nslog LOCAL_C_INCLUDES := $(LOCAL_PATH) \ $(LOCAL_PATH)/. \ @@ -198,7 +208,8 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH) \ $(LOCAL_PATH)/../external/chipmunk/include/chipmunk \ $(LOCAL_PATH)/../external/edtaa3func \ $(LOCAL_PATH)/../external/xxhash \ - $(LOCAL_PATH)/../external/ConvertUTF + $(LOCAL_PATH)/../external/ConvertUTF \ + $(LOCAL_PATH)/../external/nslog LOCAL_LDLIBS := -lGLESv2 \ diff --git a/cocos/base/CCController-android.cpp b/cocos/base/CCController-android.cpp new file mode 100644 index 0000000000..e501c34c82 --- /dev/null +++ b/cocos/base/CCController-android.cpp @@ -0,0 +1,365 @@ +/**************************************************************************** + Copyright (c) 2014 cocos2d-x.org + Copyright (c) 2014 Chukong Technologies Inc. + + http://www.cocos2d-x.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + ****************************************************************************/ + +#include "CCController.h" + +#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) + +#include "CCGamepad.h" +#include "CCControllerDirectionPad.h" +#include "CCControllerButtonInput.h" +#include "CCControllerAxisInput.h" +#include "CCControllerThumbstick.h" + +#include "ccMacros.h" +#include "CCEventDispatcher.h" +#include "CCEventController.h" +#include "CCEventListenerController.h" +#include "CCDirector.h" + +#include "jni/JniHelper.h" + + +NS_CC_BEGIN + +enum class AndroidControllerCode +{ + THUMBSTICK_LEFT_X = 100, + THUMBSTICK_LEFT_Y = 101, + THUMBSTICK_RIGHT_X = 102, + THUMBSTICK_RIGHT_Y = 103, + BUTTON_A = 110, + BUTTON_B = 111, + BUTTON_C = 112, + BUTTON_X = 113, + BUTTON_Y = 114, + BUTTON_Z = 115, + BUTTON_LEFT_SHOULDER = 120, + BUTTON_RIGHT_SHOULDER = 121, + BUTTON_LEFT_TRIGGER = 122, + BUTTON_RIGHT_TRIGGER = 123, + BUTTON_DPAD_UP = 130, + BUTTON_DPAD_DOWN = 131, + BUTTON_DPAD_LEFT = 132, + BUTTON_DPAD_RIGHT = 133, + BUTTON_DPAD_CENTER = 134, + BUTTON_LEFT_THUMBSTICK = 140, + BUTTON_RIGHT_THUMBSTICK = 141, + BUTTON_START = 150, + BUTTON_SELECT = 151, +}; + +class ControllerImpl +{ +public: + ControllerImpl(Controller* controller) + : _controller(controller) + , _controllerID(-1) + { + } + + static std::vector::iterator findController(const std::string& vendorName, int controllerID) + { + auto iter = std::find_if(Controller::_controllers.begin(), Controller::_controllers.end(), [&](Controller* controller){ + return (vendorName == controller->getVendorName()) && (controllerID == controller->_impl->_controllerID); + }); + } + + static void onConnected(const std::string& vendorName, int controllerID) + { + // Check whether the controller is already connected. + auto iter = findController(vendorName, controllerID); + if (iter != Controller::_controllers.end()) + return; + + // It's a new controller being connected. + auto controller = new cocos2d::Controller(); + controller->_vendorName = vendorName; + Controller::_controllers.push_back(controller); + controller->_impl->_controllerID = controllerID; + EventController evt(EventController::ControllerEventType::CONNECTION, controller, true); + Director::getInstance()->getEventDispatcher()->dispatchEvent(&evt); + } + + static void onDisconnected(const std::string& vendorName, int controllerID) + { + auto iter = findController(vendorName, controllerID); + if (iter == Controller::_controllers.end()) + { + CCLOGERROR("Could not find the controller!"); + return; + } + + EventController evt(EventController::ControllerEventType::CONNECTION, *iter, false); + Director::getInstance()->getEventDispatcher()->dispatchEvent(&evt); + + Controller::_controllers.erase(iter); + } + + void sendEventButton(ControllerButtonInput* button, bool isPressed, float value, bool isAnalog) + { + button->setPressed(isPressed); + if (!isAnalog) + button->setValue(value); + button->setAnalog(isAnalog); + EventController evt(EventController::ControllerEventType::BUTTON_STATUS_CHANGED, _controller, button); + Director::getInstance()->getEventDispatcher()->dispatchEvent(&evt); + } + + void sendEventAxis(ControllerAxisInput* axis, float value, bool isAnalog) + { + axis->setValue(value); + axis->setAnalog(isAnalog); + EventController evt(EventController::ControllerEventType::AXIS_STATUS_CHANGED, _controller, axis); + Director::getInstance()->getEventDispatcher()->dispatchEvent(&evt); + } + + static void onButtonEvent(const std::string& vendorName, int controllerID, AndroidControllerCode btnCode, bool isPressed, float value, bool isAnalog) + { + auto iter = findController(vendorName, controllerID); + if (iter == Controller::_controllers.end()) + { + onConnected(vendorName, controllerID); + iter = findController(vendorName, controllerID); + } + + auto gamepad = (*iter)->getGamepad(); + auto thiz = (*iter)->getImpl(); + switch(btnCode) + { + case AndroidControllerCode::BUTTON_A: + { + thiz->sendEventButton(gamepad->getButtonA(), isPressed, value, isAnalog); + } + break; + case AndroidControllerCode::BUTTON_B: + { + thiz->sendEventButton(gamepad->getButtonB(), isPressed, value, isAnalog); + } + break; + case AndroidControllerCode::BUTTON_X: + { + thiz->sendEventButton(gamepad->getButtonX(), isPressed, value, isAnalog); + } + break; + case AndroidControllerCode::BUTTON_Y: + { + thiz->sendEventButton(gamepad->getButtonY(), isPressed, value, isAnalog); + } + break; + case AndroidControllerCode::BUTTON_LEFT_SHOULDER: + { + thiz->sendEventButton(gamepad->getLeftShoulder(), isPressed, value, isAnalog); + } + break; + case AndroidControllerCode::BUTTON_RIGHT_SHOULDER: + { + thiz->sendEventButton(gamepad->getRightShoulder(), isPressed, value, isAnalog); + } + break; + case AndroidControllerCode::BUTTON_LEFT_TRIGGER: + { + thiz->sendEventButton(gamepad->getLeftTrigger(), isPressed, value, isAnalog); + } + break; + case AndroidControllerCode::BUTTON_RIGHT_TRIGGER: + { + thiz->sendEventButton(gamepad->getRightTrigger(), isPressed, value, isAnalog); + } + break; + case AndroidControllerCode::BUTTON_DPAD_UP: + { + thiz->sendEventButton(gamepad->getDirectionPad()->getUp(), isPressed, value, isAnalog); + } + break; + case AndroidControllerCode::BUTTON_DPAD_DOWN: + { + thiz->sendEventButton(gamepad->getDirectionPad()->getDown(), isPressed, value, isAnalog); + } + break; + case AndroidControllerCode::BUTTON_DPAD_LEFT: + { + thiz->sendEventButton(gamepad->getDirectionPad()->getLeft(), isPressed, value, isAnalog); + } + break; + case AndroidControllerCode::BUTTON_DPAD_RIGHT: + { + thiz->sendEventButton(gamepad->getDirectionPad()->getRight(), isPressed, value, isAnalog); + } + break; + case AndroidControllerCode::BUTTON_START: + { + thiz->sendEventButton(gamepad->getButtonStart(), isPressed, value, isAnalog); + } + break; + case AndroidControllerCode::BUTTON_SELECT: + { + thiz->sendEventButton(gamepad->getButtonSelect(), isPressed, value, isAnalog); + } + break; + case AndroidControllerCode::BUTTON_LEFT_THUMBSTICK: + { + thiz->sendEventButton(gamepad->getLeftThumbstick()->getButton(), isPressed, value, isAnalog); + } + break; + case AndroidControllerCode::BUTTON_RIGHT_THUMBSTICK: + { + thiz->sendEventButton(gamepad->getRightThumbstick()->getButton(), isPressed, value, isAnalog); + } + break; + default: + // CCASSERT(false, "Invalid controller button code!"); + break; + } + } + + static void onAxisEvent(const std::string& vendorName, int controllerID, AndroidControllerCode axisCode, float value, bool isAnalog) + { + // log("vendorName: %s, controller id: %d, axis: %d, value: %f", vendorName.c_str(), controllerID, axisCode, value); + auto iter = findController(vendorName, controllerID); + if (iter == Controller::_controllers.end()) + { + onConnected(vendorName, controllerID); + iter = findController(vendorName, controllerID); + } + auto gamepad = (*iter)->getGamepad(); + auto thiz = (*iter)->getImpl(); + switch (axisCode) + { + case AndroidControllerCode::THUMBSTICK_LEFT_X: + thiz->sendEventAxis(gamepad->getLeftThumbstick()->getAxisX(), value, isAnalog); + break; + case AndroidControllerCode::THUMBSTICK_LEFT_Y: + thiz->sendEventAxis(gamepad->getLeftThumbstick()->getAxisY(), value, isAnalog); + break; + case AndroidControllerCode::THUMBSTICK_RIGHT_X: + thiz->sendEventAxis(gamepad->getRightThumbstick()->getAxisX(), value, isAnalog); + break; + case AndroidControllerCode::THUMBSTICK_RIGHT_Y: + thiz->sendEventAxis(gamepad->getRightThumbstick()->getAxisY(), value, isAnalog); + break; + default: + CCASSERT(false, "Invalid controller axis code!"); + break; + } + } + +private: + Controller* _controller; + int _controllerID; +}; + + +std::vector Controller::_controllers; + +const std::vector& Controller::getControllers() +{ + return _controllers; +} + +void Controller::startDiscoveryController() +{ + // Empty implementation on Android +} + +void Controller::stopDiscoveryController() +{ + // Empty implementation on Android +} + +const std::string& Controller::getVendorName() +{ + return _vendorName; +} + +bool Controller::isConnected() const +{ + // If there is a controller instance, it means that the controller is connected. + // If a controller is disconnected, the instance will be destroyed. + // So always returns true for this method. + return true; +} + +int Controller::getPlayerIndex() const +{ + return _playerIndex; +} + +void Controller::setPlayerIndex(int playerIndex) +{ + _playerIndex = playerIndex; +} + +Gamepad* Controller::getGamepad() const +{ + return _gamepad; +} + +Controller::Controller() + : _playerIndex(PLAYER_INDEX_UNSET) + , _gamepad(new Gamepad) + , _impl(new ControllerImpl(this)) +{ + _gamepad->_controller = this; +} + +Controller::~Controller() +{ + CC_SAFE_DELETE(_impl); + CC_SAFE_DELETE(_gamepad); +} + +NS_CC_END + +extern "C" { + + JNIEXPORT void JNICALL Java_org_cocos2dx_lib_GameControllerAdapter_nativeControllerConnected(JNIEnv* env, jobject thiz, jstring vendorName, jint controllerID) + { + CCLOG("controller id: %d connected!", controllerID); + cocos2d::ControllerImpl::onConnected(cocos2d::JniHelper::jstring2string(vendorName), controllerID); + } + + JNIEXPORT void JNICALL Java_org_cocos2dx_lib_GameControllerAdapter_nativeControllerDisconnected(JNIEnv* env, jobject thiz, jstring vendorName, jint controllerID) + { + CCLOG("controller id: %d disconnected!", controllerID); + cocos2d::ControllerImpl::onDisconnected(cocos2d::JniHelper::jstring2string(vendorName), controllerID); + } + + JNIEXPORT void JNICALL Java_org_cocos2dx_lib_GameControllerAdapter_nativeControllerButtonEvent(JNIEnv* env, jobject thiz, jstring vendorName, jint controllerID, jint button, jboolean isPressed, jfloat value, jboolean isAnalog) + { + CCLOG("controller id: %d, btn code: %d, isPressed: %d, value: %f, isAnalog:%d", controllerID, button, (int)isPressed, value, (int)isAnalog); + cocos2d::ControllerImpl::onButtonEvent(cocos2d::JniHelper::jstring2string(vendorName), controllerID, static_cast(button), isPressed, value, isAnalog); + } + + JNIEXPORT void JNICALL Java_org_cocos2dx_lib_GameControllerAdapter_nativeControllerAxisEvent(JNIEnv* env, jobject thiz, jstring vendorName, jint controllerID, jint axis, jfloat value, jboolean isAnalog) + { + // CCLOG("controller id: %d, axis code: %d, value: %f, isAnalog:%d", controllerID, axis, value, (int)isAnalog); + cocos2d::ControllerImpl::onAxisEvent(cocos2d::JniHelper::jstring2string(vendorName), controllerID, static_cast(axis), value, isAnalog); + } + +} // extern "C" { + + +#endif // #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) diff --git a/cocos/base/CCController-iOS.mm b/cocos/base/CCController-iOS.mm new file mode 100644 index 0000000000..69ecbf88ad --- /dev/null +++ b/cocos/base/CCController-iOS.mm @@ -0,0 +1,371 @@ +/**************************************************************************** + Copyright (c) 2014 cocos2d-x.org + Copyright (c) 2014 Chukong Technologies Inc. + + http://www.cocos2d-x.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + ****************************************************************************/ + +#include "CCController.h" +#include "base/CCPlatformConfig.h" +#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) + +#include "CCGamepad.h" +#include "CCControllerDirectionPad.h" +#include "CCControllerButtonInput.h" +#include "CCControllerAxisInput.h" +#include "CCControllerThumbstick.h" + +#include "ccMacros.h" +#include "CCEventDispatcher.h" +#include "CCEventController.h" +#include "CCEventListenerController.h" +#include "CCDirector.h" + +#import + +@interface GCControllerConnectionEventHandler : NSObject + +typedef void (^GCControllerConnectionBlock)(GCController* controller); +@property (copy) GCControllerConnectionBlock _connectionBlock; + +typedef void (^GCControllerDisconnectionBlock)(GCController* controller); +@property (copy) GCControllerDisconnectionBlock _disconnectionBlock; + ++(GCControllerConnectionEventHandler*) getInstance; ++(void) destroyInstance; +@end + +@implementation GCControllerConnectionEventHandler + + +static GCControllerConnectionEventHandler* __instance = nil; + ++(GCControllerConnectionEventHandler*) getInstance { + + if (__instance == nil) + { + __instance = [[GCControllerConnectionEventHandler alloc] init]; + } + return __instance; +} + ++(void) destroyInstance { + if (__instance) + { + [__instance release]; + __instance = nil; + } +} + +-(void) observerConnection: (GCControllerConnectionBlock) connectBlock disconnection: (GCControllerDisconnectionBlock) disconnectBlock { + self._connectionBlock = connectBlock; + self._disconnectionBlock = disconnectBlock; + + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onControllerConnected:) name:GCControllerDidConnectNotification object:nil]; + + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onControllerDisconnected:) name:GCControllerDidDisconnectNotification object:nil]; +} + +-(void)dealloc { + [[NSNotificationCenter defaultCenter] removeObserver:self]; + [super dealloc]; +} + +-(void) onControllerConnected :(NSNotification *)connectedNotification { + GCController *controller =(GCController *)[connectedNotification object]; + + self._connectionBlock(controller); +} + +-(void) onControllerDisconnected :(NSNotification *)connectedNotification { + + GCController *controller =(GCController *)[connectedNotification object]; + self._disconnectionBlock(controller); +} + +@end + +NS_CC_BEGIN + +#define sendEventButton(dstID, srcID) \ +dstID->setPressed(srcID.isPressed); \ +dstID->setValue(srcID.value); \ +dstID->setAnalog(srcID.isAnalog); \ +EventController evt(EventController::ControllerEventType::BUTTON_STATUS_CHANGED, _gamepad->_controller, dstID); \ +Director::getInstance()->getEventDispatcher()->dispatchEvent(&evt); + + +#define sendEventAxis(dstID, srcID) \ +\ +dstID->setValue(srcID.value); \ +dstID->setAnalog(srcID.isAnalog); \ +\ +EventController evt(EventController::ControllerEventType::AXIS_STATUS_CHANGED, _gamepad->_controller, dstID); \ +Director::getInstance()->getEventDispatcher()->dispatchEvent(&evt); + +class ControllerImpl +{ +public: + ControllerImpl(Controller* controller) + : _controller(controller) + , _gcController(nil) + , _lazyRegisterListener(true) + { + + } + + ~ControllerImpl() + { + + } + + Controller* _controller; + GCController* _gcController; + bool _lazyRegisterListener; +}; + +std::vector Controller::_controllers; + +const std::vector& Controller::getControllers() +{ + return _controllers; +} + +void Controller::startDiscoveryController() +{ + [GCController startWirelessControllerDiscoveryWithCompletionHandler: nil]; + + [[GCControllerConnectionEventHandler getInstance] observerConnection: ^(GCController* gcController) { + auto controller = new Controller(); + controller->_impl->_gcController = gcController; + + gcController.controllerPausedHandler = ^(GCController* gcCon){ + + auto iter = std::find_if(_controllers.begin(), _controllers.end(), [gcCon](Controller* c){ return c->_impl->_gcController == gcCon; }); + + CCASSERT(iter != _controllers.end(), "Could not find the controller"); + + auto button = (*iter)->getGamepad()->getButtonPause(); + button->setPressed(true); + EventController evt(EventController::ControllerEventType::BUTTON_STATUS_CHANGED, (*iter), button); + Director::getInstance()->getEventDispatcher()->dispatchEvent(&evt); + + // Reset the pause button status to unpressed. + button->setPressed(false); + }; + + _controllers.push_back(controller); + + + EventController evt(EventController::ControllerEventType::CONNECTION, controller, true); + Director::getInstance()->getEventDispatcher()->dispatchEvent(&evt); + + } disconnection: ^(GCController* gcController) { + + auto iter = std::find_if(_controllers.begin(), _controllers.end(), [gcController](Controller* c){ return c->_impl->_gcController == gcController; }); + + CCASSERT(iter != _controllers.end(), "Could not find the controller"); + + EventController evt(EventController::ControllerEventType::CONNECTION, *iter, false); + Director::getInstance()->getEventDispatcher()->dispatchEvent(&evt); + + delete (*iter); + _controllers.erase(iter); + }]; +} + +void Controller::stopDiscoveryController() +{ + [GCController stopWirelessControllerDiscovery]; +} + +Controller::Controller() +{ + _playerIndex = PLAYER_INDEX_UNSET; + _gamepad = new Gamepad(); + _gamepad->_controller = this; + _impl = new ControllerImpl(this); +} + +Controller::~Controller() +{ + CC_SAFE_DELETE(_impl); + CC_SAFE_DELETE(_gamepad); +} + +const std::string& Controller::getVendorName() +{ + if (_vendorName.empty()) + { + _vendorName = [_impl->_gcController.vendorName UTF8String]; + } + return _vendorName; +} + +bool Controller::isConnected() const +{ + return _impl->_gcController.isAttachedToDevice == YES; +} + +int Controller::getPlayerIndex() const +{ + return _playerIndex; +} + +void Controller::setPlayerIndex(int playerIndex) +{ + _playerIndex = playerIndex; +} + +Gamepad* Controller::getGamepad() const +{ + if (_impl->_gcController == nil) + return nullptr; + if(_impl->_gcController.gamepad == nil && _impl->_gcController.extendedGamepad == nil) + { + CCASSERT(false, "No gamepad was found!"); + } + else if (_impl->_lazyRegisterListener) + { + _impl->_lazyRegisterListener = false; + if (_impl->_gcController.extendedGamepad != nil) + { + _impl->_gcController.extendedGamepad.dpad.up.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ + sendEventButton(_gamepad->getDirectionPad()->getUp(), button); + }; + + _impl->_gcController.extendedGamepad.dpad.down.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ + sendEventButton(_gamepad->getDirectionPad()->getDown(), button); + }; + + _impl->_gcController.extendedGamepad.dpad.left.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ + sendEventButton(_gamepad->getDirectionPad()->getLeft(), button); + }; + + _impl->_gcController.extendedGamepad.dpad.right.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ + sendEventButton(_gamepad->getDirectionPad()->getRight(), button); + }; + + _impl->_gcController.extendedGamepad.leftThumbstick.xAxis.valueChangedHandler = ^(GCControllerAxisInput *axis, float value){ + sendEventAxis(_gamepad->getLeftThumbstick()->getAxisX(), axis); + }; + + _impl->_gcController.extendedGamepad.leftThumbstick.yAxis.valueChangedHandler = ^(GCControllerAxisInput *axis, float value){ + sendEventAxis(_gamepad->getLeftThumbstick()->getAxisY(), axis); + }; + + _impl->_gcController.extendedGamepad.rightThumbstick.xAxis.valueChangedHandler = ^(GCControllerAxisInput *axis, float value){ + sendEventAxis(_gamepad->getRightThumbstick()->getAxisX(), axis); + }; + + _impl->_gcController.extendedGamepad.rightThumbstick.yAxis.valueChangedHandler = ^(GCControllerAxisInput *axis, float value){ + sendEventAxis(_gamepad->getRightThumbstick()->getAxisY(), axis); + }; + + _impl->_gcController.extendedGamepad.valueChangedHandler = ^(GCExtendedGamepad *gamepad, GCControllerElement *element){ + if (element == gamepad.buttonA) + { + sendEventButton(_gamepad->getButtonA(), gamepad.buttonA); + } + else if (element == gamepad.buttonB) + { + sendEventButton(_gamepad->getButtonB(), gamepad.buttonB); + } + else if (element == gamepad.buttonX) + { + sendEventButton(_gamepad->getButtonX(), gamepad.buttonX); + } + else if (element == gamepad.buttonY) + { + sendEventButton(_gamepad->getButtonY(), gamepad.buttonY); + } + else if (element == gamepad.leftShoulder) + { + sendEventButton(_gamepad->getLeftShoulder(), gamepad.leftShoulder); + } + else if (element == gamepad.rightShoulder) + { + sendEventButton(_gamepad->getRightShoulder(), gamepad.rightShoulder); + } + else if (element == gamepad.leftTrigger) + { + sendEventButton(_gamepad->getLeftTrigger(), gamepad.leftTrigger); + } + else if (element == gamepad.rightTrigger) + { + sendEventButton(_gamepad->getRightTrigger(), gamepad.rightTrigger); + } + }; + } + else + { + _impl->_gcController.gamepad.dpad.up.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ + sendEventButton(_gamepad->getDirectionPad()->getUp(), button); + }; + + _impl->_gcController.gamepad.dpad.down.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ + sendEventButton(_gamepad->getDirectionPad()->getDown(), button); + }; + + _impl->_gcController.gamepad.dpad.left.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ + sendEventButton(_gamepad->getDirectionPad()->getLeft(), button); + }; + + _impl->_gcController.gamepad.dpad.right.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ + sendEventButton(_gamepad->getDirectionPad()->getRight(), button); + }; + + _impl->_gcController.gamepad.valueChangedHandler = ^(GCGamepad *gamepad, GCControllerElement *element){ + + if (element == gamepad.buttonA) + { + sendEventButton(_gamepad->getButtonA(), gamepad.buttonA); + } + else if (element == gamepad.buttonB) + { + sendEventButton(_gamepad->getButtonB(), gamepad.buttonB); + } + else if (element == gamepad.buttonX) + { + sendEventButton(_gamepad->getButtonX(), gamepad.buttonX); + } + else if (element == gamepad.buttonY) + { + sendEventButton(_gamepad->getButtonY(), gamepad.buttonY); + } + else if (element == gamepad.leftShoulder) + { + sendEventButton(_gamepad->getLeftShoulder(), gamepad.leftShoulder); + } + else if (element == gamepad.rightShoulder) + { + sendEventButton(_gamepad->getRightShoulder(), gamepad.rightShoulder); + } + }; + } + } + + return _gamepad; +} + +NS_CC_END + +#endif // #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) diff --git a/cocos/base/CCController.h b/cocos/base/CCController.h new file mode 100644 index 0000000000..83b8d547ae --- /dev/null +++ b/cocos/base/CCController.h @@ -0,0 +1,79 @@ +/**************************************************************************** + Copyright (c) 2014 cocos2d-x.org + Copyright (c) 2014 Chukong Technologies Inc. + + http://www.cocos2d-x.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + ****************************************************************************/ + +#ifndef __cocos2d_libs__CCController__ +#define __cocos2d_libs__CCController__ + +#include "CCPlatformMacros.h" + +#include +#include +#include + + +NS_CC_BEGIN + +class Gamepad; +class ControllerImpl; + +class Controller +{ +public: + static const std::vector& getControllers(); + + static void startDiscoveryController(); + static void stopDiscoveryController(); + + const std::string& getVendorName(); + bool isConnected() const; + + static const int PLAYER_INDEX_UNSET = -1; + + int getPlayerIndex() const; + void setPlayerIndex(int playerIndex); + + Gamepad* getGamepad() const; + + // For internal use only + inline ControllerImpl* getImpl() const { return _impl; }; + + Controller(); + virtual ~Controller(); + +private: + static std::vector _controllers; + + std::string _vendorName; + int _playerIndex; + Gamepad* _gamepad; + + friend class ControllerImpl; + ControllerImpl* _impl; +}; + + +NS_CC_END + +#endif /* defined(__cocos2d_libs__CCController__) */ diff --git a/cocos/base/CCControllerAxisInput.cpp b/cocos/base/CCControllerAxisInput.cpp new file mode 100644 index 0000000000..e2d7865d46 --- /dev/null +++ b/cocos/base/CCControllerAxisInput.cpp @@ -0,0 +1,52 @@ +/**************************************************************************** + Copyright (c) 2014 cocos2d-x.org + Copyright (c) 2014 Chukong Technologies Inc. + + http://www.cocos2d-x.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + ****************************************************************************/ + +#include "CCControllerAxisInput.h" + +NS_CC_BEGIN + +ControllerAxisInput::ControllerAxisInput() +: _value(0.0f) +{ + +} + +ControllerAxisInput::~ControllerAxisInput() +{ + +} + +float ControllerAxisInput::getValue() const +{ + return _value; +} + +void ControllerAxisInput::setValue(float value) +{ + _value = value; +} + + +NS_CC_END \ No newline at end of file diff --git a/cocos/base/CCControllerAxisInput.h b/cocos/base/CCControllerAxisInput.h new file mode 100644 index 0000000000..2f6298b95b --- /dev/null +++ b/cocos/base/CCControllerAxisInput.h @@ -0,0 +1,55 @@ +/**************************************************************************** + Copyright (c) 2014 cocos2d-x.org + Copyright (c) 2014 Chukong Technologies Inc. + + http://www.cocos2d-x.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + ****************************************************************************/ + +#ifndef __cocos2d_libs__CCControllerAxisInput__ +#define __cocos2d_libs__CCControllerAxisInput__ + +#include "CCPlatformMacros.h" +#include "CCControllerElement.h" + +NS_CC_BEGIN + +class ControllerAxisInput : public ControllerElement +{ +public: + float getValue() const; + +protected: + ControllerAxisInput(); + virtual ~ControllerAxisInput(); + + void setValue(float value); + + float _value; + + friend class Controller; + friend class ControllerImpl; + friend class ControllerDirectionPad; + friend class ControllerThumbstick; +}; + +NS_CC_END + +#endif /* defined(__cocos2d_libs__CCControllerAxisInput__) */ diff --git a/cocos/base/CCControllerButtonInput.cpp b/cocos/base/CCControllerButtonInput.cpp new file mode 100644 index 0000000000..f234df1974 --- /dev/null +++ b/cocos/base/CCControllerButtonInput.cpp @@ -0,0 +1,69 @@ +/**************************************************************************** + Copyright (c) 2014 cocos2d-x.org + Copyright (c) 2014 Chukong Technologies Inc. + + http://www.cocos2d-x.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + ****************************************************************************/ + +#include "CCControllerButtonInput.h" + +NS_CC_BEGIN + +ControllerButtonInput::ControllerButtonInput() +: _value(0.0f) +, _isPressed(false) +, _isPrevStatusPressed(false) +{ + +} + +ControllerButtonInput::~ControllerButtonInput() +{ + +} + +float ControllerButtonInput::getValue() const +{ + return _value; +} + +bool ControllerButtonInput::isPressed() const +{ + return _isPressed; +} + +bool ControllerButtonInput::isPrevStatusPressed() const +{ + return _isPrevStatusPressed; +} + +void ControllerButtonInput::setValue(float value) +{ + _value = value; +} + +void ControllerButtonInput::setPressed(bool isPressed) +{ + _isPrevStatusPressed = _isPressed; + _isPressed = isPressed; +} + +NS_CC_END \ No newline at end of file diff --git a/cocos/base/CCControllerButtonInput.h b/cocos/base/CCControllerButtonInput.h new file mode 100644 index 0000000000..ff6c1a723d --- /dev/null +++ b/cocos/base/CCControllerButtonInput.h @@ -0,0 +1,63 @@ +/**************************************************************************** + Copyright (c) 2014 cocos2d-x.org + Copyright (c) 2014 Chukong Technologies Inc. + + http://www.cocos2d-x.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + ****************************************************************************/ + +#ifndef __cocos2d_libs__CCControllerButtonInput__ +#define __cocos2d_libs__CCControllerButtonInput__ + +#include "CCPlatformMacros.h" +#include "CCControllerElement.h" + +NS_CC_BEGIN + +class ControllerButtonInput : public ControllerElement +{ +public: + float getValue() const; + bool isPressed() const; + bool isPrevStatusPressed() const; + +protected: + + ControllerButtonInput(); + virtual ~ControllerButtonInput(); + + void setValue(float value); + void setPressed(bool isPressed); + + float _value; + bool _isPressed; + + bool _isPrevStatusPressed; // Whether previous status is pressed + + friend class Controller; + friend class ControllerImpl; + friend class ControllerDirectionPad; + friend class ControllerThumbstick; + friend class Gamepad; +}; + +NS_CC_END + +#endif /* defined(__cocos2d_libs__CCControllerButtonInput__) */ diff --git a/cocos/base/CCControllerDirectionPad.cpp b/cocos/base/CCControllerDirectionPad.cpp new file mode 100644 index 0000000000..d5671bb481 --- /dev/null +++ b/cocos/base/CCControllerDirectionPad.cpp @@ -0,0 +1,74 @@ +/**************************************************************************** + Copyright (c) 2014 cocos2d-x.org + Copyright (c) 2014 Chukong Technologies Inc. + + http://www.cocos2d-x.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + ****************************************************************************/ + +#include "CCControllerDirectionPad.h" +#include "CCControllerAxisInput.h" +#include "CCControllerButtonInput.h" + +NS_CC_BEGIN + +ControllerDirectionPad::ControllerDirectionPad() +: _up(new ControllerButtonInput()) +, _down(new ControllerButtonInput()) +, _left(new ControllerButtonInput()) +, _right(new ControllerButtonInput()) +{ + _up->setCollection(this); + _down->setCollection(this); + _left->setCollection(this); + _right->setCollection(this); +} + +ControllerDirectionPad::~ControllerDirectionPad() +{ + CC_SAFE_DELETE(_up); + CC_SAFE_DELETE(_down); + CC_SAFE_DELETE(_left); + CC_SAFE_DELETE(_right); +} + +ControllerButtonInput* ControllerDirectionPad::getUp() const +{ + return _up; +} + +ControllerButtonInput* ControllerDirectionPad::getDown() const +{ + return _down; +} + +ControllerButtonInput* ControllerDirectionPad::getLeft() const +{ + return _left; +} + +ControllerButtonInput* ControllerDirectionPad::getRight() const +{ + return _right; +} + + + +NS_CC_END \ No newline at end of file diff --git a/cocos/base/CCControllerDirectionPad.h b/cocos/base/CCControllerDirectionPad.h new file mode 100644 index 0000000000..d7dbe3041a --- /dev/null +++ b/cocos/base/CCControllerDirectionPad.h @@ -0,0 +1,61 @@ +/**************************************************************************** + Copyright (c) 2014 cocos2d-x.org + Copyright (c) 2014 Chukong Technologies Inc. + + http://www.cocos2d-x.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + ****************************************************************************/ + +#ifndef __cocos2d_libs__CCControllerDirectionPad__ +#define __cocos2d_libs__CCControllerDirectionPad__ + +#include "CCPlatformMacros.h" +#include "CCControllerElement.h" + +NS_CC_BEGIN + +class ControllerAxisInput; +class ControllerButtonInput; + +class ControllerDirectionPad : public ControllerElement +{ +public: + ControllerButtonInput* getUp() const; + ControllerButtonInput* getDown() const; + ControllerButtonInput* getLeft() const; + ControllerButtonInput* getRight() const; + +protected: + + friend class Controller; + friend class Gamepad; + + ControllerDirectionPad(); + virtual ~ControllerDirectionPad(); + + ControllerButtonInput* _up; + ControllerButtonInput* _down; + ControllerButtonInput* _left; + ControllerButtonInput* _right; +}; + +NS_CC_END + +#endif /* defined(__cocos2d_libs__CCControllerDirectionPad__) */ diff --git a/cocos/base/CCControllerElement.cpp b/cocos/base/CCControllerElement.cpp new file mode 100644 index 0000000000..fd480bfa7a --- /dev/null +++ b/cocos/base/CCControllerElement.cpp @@ -0,0 +1,63 @@ +/**************************************************************************** + Copyright (c) 2014 cocos2d-x.org + Copyright (c) 2014 Chukong Technologies Inc. + + http://www.cocos2d-x.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + ****************************************************************************/ + +#include "CCControllerElement.h" + +NS_CC_BEGIN + +ControllerElement::ControllerElement() +: _isAnalog(false) +, _collection(nullptr) +{ + +} + +ControllerElement::~ControllerElement() +{ + +} + +bool ControllerElement::isAnalog() const +{ + return _isAnalog; +} + +void ControllerElement::setAnalog(bool isAnalog) +{ + _isAnalog = isAnalog; +} + +ControllerElement* ControllerElement::getCollection() +{ + return _collection; +} + +void ControllerElement::setCollection(ControllerElement* collection) +{ + _collection = collection; +} + + +NS_CC_END \ No newline at end of file diff --git a/cocos/base/CCControllerElement.h b/cocos/base/CCControllerElement.h new file mode 100644 index 0000000000..95f0bfd841 --- /dev/null +++ b/cocos/base/CCControllerElement.h @@ -0,0 +1,64 @@ +/**************************************************************************** + Copyright (c) 2014 cocos2d-x.org + Copyright (c) 2014 Chukong Technologies Inc. + + http://www.cocos2d-x.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + ****************************************************************************/ + +#ifndef __cocos2d_libs__CCControllerElement__ +#define __cocos2d_libs__CCControllerElement__ + +#include "CCPlatformMacros.h" + +NS_CC_BEGIN + +/** + Every controller element knows which collection it belongs to and whether its input value is analog or digital. + */ +class ControllerElement +{ +public: + /** + Each element can be part of a wider collection of inputs that map to a single logical element. A directional pad (dpad) + is a logical collection of two axis inputs and thus each axis belongs to the same collection element - the dpad. + */ + ControllerElement * getCollection(); + + /** + Check if the element can support more than just digital values, such as decimal ranges between 0 and 1. + */ + bool isAnalog() const; + +protected: + + ControllerElement(); + virtual ~ControllerElement(); + + void setAnalog(bool isAnalog); + void setCollection(ControllerElement* collection); + + bool _isAnalog; + ControllerElement* _collection; +}; + +NS_CC_END + +#endif /* defined(__cocos2d_libs__CCControllerElement__) */ diff --git a/cocos/base/CCControllerThumbstick.cpp b/cocos/base/CCControllerThumbstick.cpp new file mode 100644 index 0000000000..6b971ad10c --- /dev/null +++ b/cocos/base/CCControllerThumbstick.cpp @@ -0,0 +1,66 @@ +/**************************************************************************** + Copyright (c) 2014 cocos2d-x.org + Copyright (c) 2014 Chukong Technologies Inc. + + http://www.cocos2d-x.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + ****************************************************************************/ + +#include "CCControllerThumbStick.h" +#include "CCControllerAxisInput.h" +#include "CCControllerButtonInput.h" + +NS_CC_BEGIN + +ControllerThumbstick::ControllerThumbstick() +: _axisX(new ControllerAxisInput()) +, _axisY(new ControllerAxisInput()) +, _button(new ControllerButtonInput()) +{ + _axisX->setCollection(this); + _axisY->setCollection(this); + _button->setCollection(this); +} + +ControllerThumbstick::~ControllerThumbstick() +{ + CC_SAFE_DELETE(_axisX); + CC_SAFE_DELETE(_axisY); + CC_SAFE_DELETE(_button); +} + +ControllerAxisInput* ControllerThumbstick::getAxisX() const +{ + return _axisX; +} + +ControllerAxisInput* ControllerThumbstick::getAxisY() const +{ + return _axisY; +} + +ControllerButtonInput* ControllerThumbstick::getButton() const +{ + return _button; +} + + + +NS_CC_END diff --git a/cocos/base/CCControllerThumbstick.h b/cocos/base/CCControllerThumbstick.h new file mode 100644 index 0000000000..83d5649b9f --- /dev/null +++ b/cocos/base/CCControllerThumbstick.h @@ -0,0 +1,61 @@ +/**************************************************************************** + Copyright (c) 2014 cocos2d-x.org + Copyright (c) 2014 Chukong Technologies Inc. + + http://www.cocos2d-x.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + ****************************************************************************/ + +#ifndef __cocos2d_libs__CCControllerThumbStick__ +#define __cocos2d_libs__CCControllerThumbStick__ + +#include "CCPlatformMacros.h" +#include "CCControllerElement.h" + +NS_CC_BEGIN + +class ControllerAxisInput; +class ControllerButtonInput; + +class ControllerThumbstick : public ControllerElement +{ +public: + ControllerAxisInput* getAxisX() const; + ControllerAxisInput* getAxisY() const; + + ControllerButtonInput* getButton() const; + +protected: + + friend class Controller; + friend class Gamepad; + + ControllerThumbstick(); + virtual ~ControllerThumbstick(); + + ControllerAxisInput* _axisX; + ControllerAxisInput* _axisY; + + ControllerButtonInput* _button; +}; + +NS_CC_END + +#endif /* defined(__cocos2d_libs__CCControllerThumbStick__) */ diff --git a/cocos/base/CCEvent.h b/cocos/base/CCEvent.h index a2c9a4d2d7..4bc129c052 100644 --- a/cocos/base/CCEvent.h +++ b/cocos/base/CCEvent.h @@ -49,6 +49,9 @@ public: ACCELERATION, MOUSE, FOCUS, +#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS) + GAME_CONTROLLER, +#endif CUSTOM }; diff --git a/cocos/base/CCEventController.cpp b/cocos/base/CCEventController.cpp new file mode 100644 index 0000000000..19f34ce560 --- /dev/null +++ b/cocos/base/CCEventController.cpp @@ -0,0 +1,70 @@ +/**************************************************************************** + Copyright (c) 2014 cocos2d-x.org + Copyright (c) 2014 Chukong Technologies Inc. + + http://www.cocos2d-x.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + ****************************************************************************/ + +#include "CCEventController.h" + +NS_CC_BEGIN + +EventController::EventController(ControllerEventType type, Controller* controller, ControllerElement* element) +: Event(Type::GAME_CONTROLLER) +, _controllerEventType(type) +, _element(element) +, _controller(controller) +, _isConnected(true) +{ + +} + +EventController::EventController(ControllerEventType type, Controller* controller, bool isConnected) +: Event(Type::GAME_CONTROLLER) +, _controllerEventType(type) +, _element(nullptr) +, _controller(controller) +, _isConnected(isConnected) +{ + +} + +EventController::ControllerEventType EventController::getControllerEventType() const +{ + return _controllerEventType; +} + +Controller* EventController::getController() const +{ + return _controller; +} + +ControllerElement* EventController::getControllerElement() const +{ + return _element; +} + +bool EventController::isConnected() const +{ + return _isConnected; +} + +NS_CC_END diff --git a/cocos/base/CCEventController.h b/cocos/base/CCEventController.h new file mode 100644 index 0000000000..c87a8c9418 --- /dev/null +++ b/cocos/base/CCEventController.h @@ -0,0 +1,66 @@ +/**************************************************************************** + Copyright (c) 2014 cocos2d-x.org + Copyright (c) 2014 Chukong Technologies Inc. + + http://www.cocos2d-x.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + ****************************************************************************/ + +#ifndef __cocos2d_libs__EventController__ +#define __cocos2d_libs__EventController__ + +#include "base/CCPlatformMacros.h" +#include "base/CCEvent.h" + +NS_CC_BEGIN + +class ControllerButtonInput; +class ControllerAxisInput; +class ControllerElement; +class Controller; + +class EventController : public Event +{ +public: + enum class ControllerEventType + { + CONNECTION, + BUTTON_STATUS_CHANGED, + AXIS_STATUS_CHANGED, + }; + + EventController(ControllerEventType type, Controller* controller, ControllerElement* element); + EventController(ControllerEventType type, Controller* controller, bool isConnected); + + ControllerEventType getControllerEventType() const; + Controller* getController() const; + ControllerElement* getControllerElement() const; + bool isConnected() const; + +protected: + ControllerEventType _controllerEventType; + ControllerElement* _element; + Controller* _controller; + bool _isConnected; +}; + +NS_CC_END + +#endif /* defined(__cocos2d_libs__EventController__) */ diff --git a/cocos/base/CCEventDispatcher.cpp b/cocos/base/CCEventDispatcher.cpp index 5ee33beaa5..e7bc3ae889 100644 --- a/cocos/base/CCEventDispatcher.cpp +++ b/cocos/base/CCEventDispatcher.cpp @@ -31,7 +31,9 @@ #include "base/CCEventListenerKeyboard.h" #include "base/CCEventListenerCustom.h" #include "base/CCEventListenerFocus.h" - +#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS) +#include "base/CCEventListenerController.h" +#endif #include "2d/CCScene.h" #include "base/CCDirector.h" #include "base/CCEventType.h" @@ -94,6 +96,11 @@ static EventListener::ListenerID __getListenerID(Event* event) // return UNKNOWN instead. CCASSERT(false, "Don't call this method if the event is for touch."); break; +#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS) + case Event::Type::GAME_CONTROLLER: + ret = EventListenerController::LISTENER_ID; + break; +#endif default: CCASSERT(false, "Invalid type!"); break; diff --git a/cocos/base/CCEventListener.h b/cocos/base/CCEventListener.h index ef4370289b..d890c6938d 100644 --- a/cocos/base/CCEventListener.h +++ b/cocos/base/CCEventListener.h @@ -55,6 +55,9 @@ public: MOUSE, ACCELERATION, FOCUS, +#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS) + GAME_CONTROLLER, +#endif CUSTOM }; diff --git a/cocos/base/CCEventListenerController.cpp b/cocos/base/CCEventListenerController.cpp new file mode 100644 index 0000000000..cb3c137800 --- /dev/null +++ b/cocos/base/CCEventListenerController.cpp @@ -0,0 +1,122 @@ +/**************************************************************************** + Copyright (c) 2014 cocos2d-x.org + Copyright (c) 2014 Chukong Technologies Inc. + + http://www.cocos2d-x.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + ****************************************************************************/ + +#include "CCEventListenerController.h" +#include "CCEventController.h" +#include "CCControllerButtonInput.h" +#include "CCControllerAxisInput.h" +#include "ccMacros.h" + +NS_CC_BEGIN + +const std::string EventListenerController::LISTENER_ID = "__cc_controller"; + +EventListenerController* EventListenerController::create() +{ + auto ret = new EventListenerController(); + if (ret && ret->init()) + { + ret->autorelease(); + } + else + { + CC_SAFE_DELETE(ret); + } + return ret; +} + +bool EventListenerController::init() +{ + auto listener = [this](Event* event){ + auto evtController = static_cast(event); + if (evtController->getControllerEventType() == EventController::ControllerEventType::CONNECTION) + { + if (evtController->isConnected()) + { + if (this->onConnected) + this->onConnected(evtController->getController(), event); + } + else + { + if (this->onDisconnected) + this->onDisconnected(evtController->getController(), event); + } + } + else + { + switch (evtController->getControllerEventType()) { + case EventController::ControllerEventType::BUTTON_STATUS_CHANGED: + { + auto button = static_cast(evtController->getControllerElement()); + + if (this->onButtonPressed && button->isPressed() && !button->isPrevStatusPressed()) + { + this->onButtonPressed(evtController->getController(), button, event); + } + else if (this->onButtonReleased && !button->isPressed() && button->isPrevStatusPressed()) + { + this->onButtonReleased(evtController->getController(), button, event); + } + + if (this->onButtonValueChanged) + { + this->onButtonValueChanged(evtController->getController(), button, event); + } + } + break; + case EventController::ControllerEventType::AXIS_STATUS_CHANGED: + { + if (this->onAxisValueChanged) + { + auto axis = static_cast(evtController->getControllerElement()); + this->onAxisValueChanged(evtController->getController(), axis, event); + } + } + break; + default: + CCASSERT(false, "Invalid EventController type"); + break; + } + } + }; + + if (EventListener::init(EventListener::Type::GAME_CONTROLLER, LISTENER_ID, listener)) + { + return true; + } + return false; +} + +bool EventListenerController::checkAvailable() +{ + return true; +} + +EventListenerController* EventListenerController::clone() +{ + return nullptr; +} + +NS_CC_END \ No newline at end of file diff --git a/cocos/base/CCEventListenerController.h b/cocos/base/CCEventListenerController.h new file mode 100644 index 0000000000..af44711d5d --- /dev/null +++ b/cocos/base/CCEventListenerController.h @@ -0,0 +1,65 @@ +/**************************************************************************** + Copyright (c) 2014 cocos2d-x.org + Copyright (c) 2014 Chukong Technologies Inc. + + http://www.cocos2d-x.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + ****************************************************************************/ + +#ifndef __cocos2d_libs__EventListenerController__ +#define __cocos2d_libs__EventListenerController__ + +#include "base/CCPlatformMacros.h" +#include "base/CCEventListener.h" + +NS_CC_BEGIN + +class Event; +class Controller; +class ControllerButtonInput; +class ControllerAxisInput; + +class EventListenerController : public EventListener +{ +public: + static const std::string LISTENER_ID; + + static EventListenerController* create(); + + /// Overrides + virtual bool checkAvailable() override; + virtual EventListenerController* clone() override; + + std::function onConnected; + std::function onDisconnected; + + std::function onButtonPressed; + std::function onButtonReleased; + std::function onButtonValueChanged; + + std::function onAxisValueChanged; + +protected: + bool init(); +}; + +NS_CC_END + +#endif /* defined(__cocos2d_libs__EventListenerController__) */ diff --git a/cocos/base/CCGameController.h b/cocos/base/CCGameController.h new file mode 100644 index 0000000000..df195a6bf8 --- /dev/null +++ b/cocos/base/CCGameController.h @@ -0,0 +1,39 @@ +/**************************************************************************** + Copyright (c) 2014 cocos2d-x.org + Copyright (c) 2014 Chukong Technologies Inc. + + http://www.cocos2d-x.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + ****************************************************************************/ + +#ifndef __cocos2d_libs__CCGameController__ +#define __cocos2d_libs__CCGameController__ + +#include "CCControllerElement.h" +#include "CCControllerButtonInput.h" +#include "CCControllerAxisInput.h" +#include "CCControllerDirectionPad.h" +#include "CCControllerThumbstick.h" +#include "CCGamepad.h" +#include "CCController.h" +#include "CCEventController.h" +#include "CCEventListenerController.h" + +#endif /* defined(__cocos2d_libs__CCGameController__) */ diff --git a/cocos/base/CCGamepad.cpp b/cocos/base/CCGamepad.cpp new file mode 100644 index 0000000000..9502689772 --- /dev/null +++ b/cocos/base/CCGamepad.cpp @@ -0,0 +1,146 @@ +/**************************************************************************** + Copyright (c) 2014 cocos2d-x.org + Copyright (c) 2014 Chukong Technologies Inc. + + http://www.cocos2d-x.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + ****************************************************************************/ + +#include "CCGamepad.h" +#include "CCControllerDirectionPad.h" +#include "CCControllerButtonInput.h" +#include "CCControllerThumbstick.h" + +NS_CC_BEGIN + +Gamepad::Gamepad() +: _controller(nullptr) +, _directionPad(new ControllerDirectionPad()) +, _buttonA(new ControllerButtonInput()) +, _buttonB(new ControllerButtonInput()) +, _buttonX(new ControllerButtonInput()) +, _buttonY(new ControllerButtonInput()) +, _buttonSelect(new ControllerButtonInput()) +, _buttonStart(new ControllerButtonInput()) +, _buttonPause(new ControllerButtonInput()) +, _leftShoulder(new ControllerButtonInput()) +, _rightShoulder(new ControllerButtonInput()) +, _leftThumbstick(new ControllerThumbstick()) +, _rightThumbstick(new ControllerThumbstick()) +, _leftTrigger(new ControllerButtonInput()) +, _rightTrigger(new ControllerButtonInput()) +{ + +} + +Gamepad::~Gamepad() +{ + CC_SAFE_DELETE(_directionPad); + CC_SAFE_DELETE(_buttonA); + CC_SAFE_DELETE(_buttonB); + CC_SAFE_DELETE(_buttonX); + CC_SAFE_DELETE(_buttonY); + CC_SAFE_DELETE(_buttonSelect); + CC_SAFE_DELETE(_buttonStart); + CC_SAFE_DELETE(_buttonPause); + CC_SAFE_DELETE(_leftShoulder); + CC_SAFE_DELETE(_rightShoulder); + CC_SAFE_DELETE(_leftThumbstick); + CC_SAFE_DELETE(_rightThumbstick); + CC_SAFE_DELETE(_leftTrigger); + CC_SAFE_DELETE(_rightTrigger); +} + +Controller* Gamepad::getController() +{ + return _controller; +} + +ControllerDirectionPad* Gamepad::getDirectionPad() const +{ + return _directionPad; +} + +ControllerButtonInput* Gamepad::getButtonA() const +{ + return _buttonA; +} + +ControllerButtonInput* Gamepad::getButtonB() const +{ + return _buttonB; +} + +ControllerButtonInput* Gamepad::getButtonX() const +{ + return _buttonX; +} + +ControllerButtonInput* Gamepad::getButtonY() const +{ + return _buttonY; +} + +ControllerButtonInput* Gamepad::getButtonPause() const +{ + return _buttonPause; +} + +ControllerButtonInput* Gamepad::getButtonSelect() const +{ + return _buttonSelect; +} + +ControllerButtonInput* Gamepad::getButtonStart() const +{ + return _buttonStart; +} + +ControllerButtonInput* Gamepad::getLeftShoulder() const +{ + return _leftShoulder; +} + +ControllerButtonInput* Gamepad::getRightShoulder() const +{ + return _rightShoulder; +} + +ControllerThumbstick* Gamepad::getLeftThumbstick() const +{ + return _leftThumbstick; +} + +ControllerThumbstick* Gamepad::getRightThumbstick() const +{ + return _rightThumbstick; +} + +ControllerButtonInput* Gamepad::getLeftTrigger() const +{ + return _leftTrigger; +} + +ControllerButtonInput* Gamepad::getRightTrigger() const +{ + return _rightTrigger; +} + +NS_CC_END diff --git a/cocos/base/CCGamepad.h b/cocos/base/CCGamepad.h new file mode 100644 index 0000000000..472fdb08e4 --- /dev/null +++ b/cocos/base/CCGamepad.h @@ -0,0 +1,122 @@ +/**************************************************************************** + Copyright (c) 2014 cocos2d-x.org + Copyright (c) 2014 Chukong Technologies Inc. + + http://www.cocos2d-x.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + ****************************************************************************/ + +#ifndef __cocos2d_libs__CCGamepad__ +#define __cocos2d_libs__CCGamepad__ + +#include "CCPlatformMacros.h" + +NS_CC_BEGIN + +class ControllerButtonInput; +class ControllerDirectionPad; +class ControllerThumbstick; +class Controller; + +class Gamepad +{ +public: + /** + A profile keeps a reference to the controller that this profile is mapping input from. + */ + Controller* getController(); + + // API for Standard / Extended Gamepad + + ControllerDirectionPad* getDirectionPad() const; + + /** + All face buttons are required to be analog in the Extended profile. These must be arranged + in the diamond pattern given below: + Y + / \ + X B + \ / + A + */ + ControllerButtonInput* getButtonA() const; + ControllerButtonInput* getButtonB() const; + ControllerButtonInput* getButtonX() const; + ControllerButtonInput* getButtonY() const; + + // Select button + ControllerButtonInput* getButtonSelect() const; + + // Start button + ControllerButtonInput* getButtonStart() const; + + // Pause button + ControllerButtonInput* getButtonPause() const; + + // Shoulder buttons + ControllerButtonInput* getLeftShoulder() const; + ControllerButtonInput* getRightShoulder() const; + + // API for Extended Gamepad only + + /** + A thumbstick is a 2-axis control that is physically required to be analog. All the elements of this directional input are thus analog. + */ + ControllerThumbstick* getLeftThumbstick() const; + ControllerThumbstick* getRightThumbstick() const; + + /** + If Trigger button supports analog inputs, it could be used as acceleration and decelleration in a driving game for example. + */ + ControllerButtonInput* getLeftTrigger() const; + ControllerButtonInput* getRightTrigger() const; + +protected: + + Gamepad(); + virtual ~Gamepad(); + + friend class Controller; + Controller* _controller; + + ControllerDirectionPad* _directionPad; + + ControllerButtonInput* _buttonA; + ControllerButtonInput* _buttonB; + ControllerButtonInput* _buttonX; + ControllerButtonInput* _buttonY; + + ControllerButtonInput* _buttonSelect; + ControllerButtonInput* _buttonStart; + ControllerButtonInput* _buttonPause; + + ControllerButtonInput* _leftShoulder; + ControllerButtonInput* _rightShoulder; + + ControllerThumbstick* _leftThumbstick; + ControllerThumbstick* _rightThumbstick; + + ControllerButtonInput* _leftTrigger; + ControllerButtonInput* _rightTrigger; +}; + +NS_CC_END + +#endif /* defined(__cocos2d_libs__CCGamepad__) */ diff --git a/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimeline.cpp b/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimeline.cpp index 5ec1b1ca83..7ec73711d8 100644 --- a/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimeline.cpp +++ b/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimeline.cpp @@ -102,10 +102,16 @@ void ActionTimeline::gotoFrameAndPlay(int startIndex, bool loop) void ActionTimeline::gotoFrameAndPlay(int startIndex, int endIndex, bool loop) { - _startFrame = _currentFrame = startIndex; - _endFrame = endIndex; - _loop = loop; - _time = _currentFrame * _frameInternal; + gotoFrameAndPlay(startIndex, endIndex, startIndex, loop); +} + +void ActionTimeline::gotoFrameAndPlay(int startIndex, int endIndex, int currentFrameIndex, bool loop) +{ + _startFrame = startIndex; + _endFrame = endIndex; + _currentFrame = currentFrameIndex; + _loop = loop; + _time = _currentFrame*_frameInternal; resume(); gotoFrame(_currentFrame); @@ -135,6 +141,19 @@ bool ActionTimeline::isPlaying() const return _playing; } +void ActionTimeline::setCurrentFrame(int frameIndex) +{ + if (frameIndex >= _startFrame && frameIndex >= _endFrame) + { + _currentFrame = frameIndex; + _time = _currentFrame*_frameInternal; + } + else + { + CCLOG("frame index is not between start frame and end frame"); + } +} + ActionTimeline* ActionTimeline::clone() const { ActionTimeline* newAction = ActionTimeline::create(); diff --git a/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimeline.h b/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimeline.h index e14f8e82b6..211f1d290a 100644 --- a/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimeline.h +++ b/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimeline.h @@ -75,6 +75,14 @@ public: */ virtual void gotoFrameAndPlay(int startIndex, int endIndex, bool loop); + /** Goto the specified frame index, and start playing from start index, end at end index. + * @param startIndex The animation will play from this index. + * @param endIndex The animation will end at this index. + * @param currentFrameIndex set current frame index. + * @param loop Whether or not the animation need loop. + */ + virtual void gotoFrameAndPlay(int startIndex, int endIndex, int currentFrameIndex, bool loop); + /** Goto the specified frame index, and pause at this index. * @param startIndex The animation will pause at this index. */ @@ -105,6 +113,8 @@ public: * or it will play from start frame again. */ virtual int getEndFrame() const { return _endFrame; } + /** Set current frame index, this will cause action plays to this frame. */ + virtual void setCurrentFrame(int frameIndex); /** Get current frame. */ virtual int getCurrentFrame() const { return _currentFrame; } diff --git a/cocos/editor-support/cocostudio/Android.mk b/cocos/editor-support/cocostudio/Android.mk index de25e273e2..192f0e8f46 100644 --- a/cocos/editor-support/cocostudio/Android.mk +++ b/cocos/editor-support/cocostudio/Android.mk @@ -57,8 +57,8 @@ WidgetReader/TextReader/TextReader.cpp \ ActionTimeline/CCNodeReader.cpp \ ActionTimeline/CCActionTimelineCache.cpp \ ActionTimeline/CCFrame.cpp \ -ActionTimeline/CCTimeline.cpp \ -ActionTimeline/CCActionTimeline.cpp \ +ActionTimeline/CCTimeLine.cpp \ +ActionTimeline/CCActionTimeline.cpp LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/.. \ $(LOCAL_PATH)/../../../external diff --git a/cocos/platform/android/ControllerDelegate/.classpath b/cocos/platform/android/ControllerDelegate/.classpath new file mode 100644 index 0000000000..51769745b2 --- /dev/null +++ b/cocos/platform/android/ControllerDelegate/.classpath @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/cocos/platform/android/ControllerDelegate/.project b/cocos/platform/android/ControllerDelegate/.project new file mode 100644 index 0000000000..6711d455fd --- /dev/null +++ b/cocos/platform/android/ControllerDelegate/.project @@ -0,0 +1,33 @@ + + + libcontrollerdelegate + + + + + + com.android.ide.eclipse.adt.ResourceManagerBuilder + + + + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + + + + com.android.ide.eclipse.adt.AndroidNature + org.eclipse.jdt.core.javanature + + diff --git a/cocos/platform/android/ControllerDelegate/.settings/org.eclipse.jdt.core.prefs b/cocos/platform/android/ControllerDelegate/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..b080d2ddc8 --- /dev/null +++ b/cocos/platform/android/ControllerDelegate/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/cocos/platform/android/ControllerDelegate/AndroidManifest.xml b/cocos/platform/android/ControllerDelegate/AndroidManifest.xml new file mode 100644 index 0000000000..d1f4a837d8 --- /dev/null +++ b/cocos/platform/android/ControllerDelegate/AndroidManifest.xml @@ -0,0 +1,9 @@ + + + + + + diff --git a/cocos/platform/android/ControllerDelegate/ant.properties b/cocos/platform/android/ControllerDelegate/ant.properties new file mode 100644 index 0000000000..b0971e891e --- /dev/null +++ b/cocos/platform/android/ControllerDelegate/ant.properties @@ -0,0 +1,17 @@ +# This file is used to override default values used by the Ant build system. +# +# This file must be checked into Version Control Systems, as it is +# integral to the build system of your project. + +# This file is only used by the Ant script. + +# You can use this to override default values such as +# 'source.dir' for the location of your java source folder and +# 'out.dir' for the location of your output folder. + +# You can also use it define how the release builds are signed by declaring +# the following properties: +# 'key.store' for the location of your keystore and +# 'key.alias' for the name of the key to use. +# The password will be asked during the build when you use the 'release' target. + diff --git a/cocos/platform/android/ControllerDelegate/build.xml b/cocos/platform/android/ControllerDelegate/build.xml new file mode 100644 index 0000000000..e7b47db095 --- /dev/null +++ b/cocos/platform/android/ControllerDelegate/build.xml @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cocos/platform/android/ControllerDelegate/proguard-project.txt b/cocos/platform/android/ControllerDelegate/proguard-project.txt new file mode 100644 index 0000000000..f2fe1559a2 --- /dev/null +++ b/cocos/platform/android/ControllerDelegate/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/cocos/platform/android/ControllerDelegate/res/.gitignore b/cocos/platform/android/ControllerDelegate/res/.gitignore new file mode 100644 index 0000000000..e69de29bb2 diff --git a/cocos/platform/android/ControllerDelegate/src/org/cocos2dx/lib/GameControllerDelegate.java b/cocos/platform/android/ControllerDelegate/src/org/cocos2dx/lib/GameControllerDelegate.java new file mode 100644 index 0000000000..68d486d3e6 --- /dev/null +++ b/cocos/platform/android/ControllerDelegate/src/org/cocos2dx/lib/GameControllerDelegate.java @@ -0,0 +1,55 @@ +package org.cocos2dx.lib; + +import android.content.Context; +import android.view.KeyEvent; +import android.view.MotionEvent; + +public interface GameControllerDelegate { + + public static final int THUMBSTICK_LEFT_X = 100; + public static final int THUMBSTICK_LEFT_Y = 101; + public static final int THUMBSTICK_RIGHT_X = 102; + public static final int THUMBSTICK_RIGHT_Y = 103; + + public static final int BUTTON_A = 110; + public static final int BUTTON_B = 111; + public static final int BUTTON_C = 112; + public static final int BUTTON_X = 113; + public static final int BUTTON_Y = 114; + public static final int BUTTON_Z = 115; + + public static final int BUTTON_LEFT_SHOULDER = 120; + public static final int BUTTON_RIGHT_SHOULDER = 121; + public static final int BUTTON_LEFT_TRIGGER = 122; + public static final int BUTTON_RIGHT_TRIGGER = 123; + + public static final int BUTTON_DPAD_UP = 130; + public static final int BUTTON_DPAD_DOWN = 131; + public static final int BUTTON_DPAD_LEFT = 132; + public static final int BUTTON_DPAD_RIGHT = 133; + public static final int BUTTON_DPAD_CENTER = 134; + + public static final int BUTTON_LEFT_THUMBSTICK = 140; + public static final int BUTTON_RIGHT_THUMBSTICK = 141; + + public static final int BUTTON_START = 150; + public static final int BUTTON_SELECT = 151; + + void onCreate(Context context); + void onPause(); + void onResume(); + void onDestroy(); + + boolean dispatchKeyEvent(KeyEvent event); + boolean dispatchGenericMotionEvent(MotionEvent event); + + void setControllerEventListener(ControllerEventListener listener); + + public interface ControllerEventListener { + void onButtonEvent(String vendorName, int controller, int button, boolean isPressed, float value, boolean isAnalog); + void onAxisEvent(String vendorName, int controller, int axisID, float value, boolean isAnalog); + + void onConnected(String vendorName, int controller); + void onDisconnected(String vendorName, int controller); + } +} diff --git a/cocos/platform/android/ControllerMoga/.classpath b/cocos/platform/android/ControllerMoga/.classpath new file mode 100644 index 0000000000..51769745b2 --- /dev/null +++ b/cocos/platform/android/ControllerMoga/.classpath @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/cocos/platform/android/ControllerMoga/.project b/cocos/platform/android/ControllerMoga/.project new file mode 100644 index 0000000000..277e4ef529 --- /dev/null +++ b/cocos/platform/android/ControllerMoga/.project @@ -0,0 +1,33 @@ + + + libcontrollermoga + + + + + + com.android.ide.eclipse.adt.ResourceManagerBuilder + + + + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + + + + com.android.ide.eclipse.adt.AndroidNature + org.eclipse.jdt.core.javanature + + diff --git a/cocos/platform/android/ControllerMoga/.settings/org.eclipse.jdt.core.prefs b/cocos/platform/android/ControllerMoga/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..b080d2ddc8 --- /dev/null +++ b/cocos/platform/android/ControllerMoga/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/cocos/platform/android/ControllerMoga/AndroidManifest.xml b/cocos/platform/android/ControllerMoga/AndroidManifest.xml new file mode 100644 index 0000000000..59280ad35d --- /dev/null +++ b/cocos/platform/android/ControllerMoga/AndroidManifest.xml @@ -0,0 +1,9 @@ + + + + + + diff --git a/cocos/platform/android/ControllerMoga/ant.properties b/cocos/platform/android/ControllerMoga/ant.properties new file mode 100644 index 0000000000..b0971e891e --- /dev/null +++ b/cocos/platform/android/ControllerMoga/ant.properties @@ -0,0 +1,17 @@ +# This file is used to override default values used by the Ant build system. +# +# This file must be checked into Version Control Systems, as it is +# integral to the build system of your project. + +# This file is only used by the Ant script. + +# You can use this to override default values such as +# 'source.dir' for the location of your java source folder and +# 'out.dir' for the location of your output folder. + +# You can also use it define how the release builds are signed by declaring +# the following properties: +# 'key.store' for the location of your keystore and +# 'key.alias' for the name of the key to use. +# The password will be asked during the build when you use the 'release' target. + diff --git a/cocos/platform/android/ControllerMoga/build.xml b/cocos/platform/android/ControllerMoga/build.xml new file mode 100644 index 0000000000..83af41e723 --- /dev/null +++ b/cocos/platform/android/ControllerMoga/build.xml @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cocos/platform/android/ControllerMoga/libs/com.bda.controller.jar b/cocos/platform/android/ControllerMoga/libs/com.bda.controller.jar new file mode 100644 index 0000000000000000000000000000000000000000..f71dbece3486a143c4fe6feba4152a71587ebba6 GIT binary patch literal 30211 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ౖz!nQ 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 literal 0 HcmV?d00001 diff --git a/cocos/platform/android/ControllerMoga/proguard-project.txt b/cocos/platform/android/ControllerMoga/proguard-project.txt new file mode 100644 index 0000000000..07cce2d791 --- /dev/null +++ b/cocos/platform/android/ControllerMoga/proguard-project.txt @@ -0,0 +1,23 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} +-libraryjars com.bda.controller.jar +-dontwarn com.bda.controller.* +-keep class org.cocos2dx.lib.*{*;} \ No newline at end of file diff --git a/cocos/platform/android/ControllerMoga/res/.gitignore b/cocos/platform/android/ControllerMoga/res/.gitignore new file mode 100644 index 0000000000..e69de29bb2 diff --git a/cocos/platform/android/ControllerMoga/src/org/cocos2dx/lib/GameControllerMoga.java b/cocos/platform/android/ControllerMoga/src/org/cocos2dx/lib/GameControllerMoga.java new file mode 100644 index 0000000000..c08bfb988f --- /dev/null +++ b/cocos/platform/android/ControllerMoga/src/org/cocos2dx/lib/GameControllerMoga.java @@ -0,0 +1,191 @@ +package org.cocos2dx.lib; + +import org.cocos2dx.lib.GameControllerDelegate; + +import android.content.Context; +import android.os.Handler; +import android.util.SparseIntArray; + +import com.bda.controller.Controller; +import com.bda.controller.ControllerListener; +import com.bda.controller.KeyEvent; +import com.bda.controller.MotionEvent; +import com.bda.controller.StateEvent; + +public class GameControllerMoga implements ControllerListener, GameControllerDelegate { + + private static final String mVendorName = "Moga"; + + private float mOldLeftThumbstickX = 0.0f; + private float mOldLeftThumbstickY = 0.0f; + private float mOldRightThumbstickX = 0.0f; + private float mOldRightThumbstickY = 0.0f; + + private SparseIntArray mKeyMap = null; + + public GameControllerMoga() { + mKeyMap = new SparseIntArray(20); + mKeyMap.put(KeyEvent.KEYCODE_BUTTON_A, GameControllerDelegate.BUTTON_A); + mKeyMap.put(KeyEvent.KEYCODE_BUTTON_B, GameControllerDelegate.BUTTON_B); + mKeyMap.put(KeyEvent.KEYCODE_BUTTON_X, GameControllerDelegate.BUTTON_X); + mKeyMap.put(KeyEvent.KEYCODE_BUTTON_Y, GameControllerDelegate.BUTTON_Y); + + mKeyMap.put(KeyEvent.KEYCODE_BUTTON_L1, + GameControllerDelegate.BUTTON_LEFT_SHOULDER); + mKeyMap.put(KeyEvent.KEYCODE_BUTTON_R1, + GameControllerDelegate.BUTTON_RIGHT_SHOULDER); + mKeyMap.put(KeyEvent.KEYCODE_BUTTON_L2, + GameControllerDelegate.BUTTON_LEFT_TRIGGER); + mKeyMap.put(KeyEvent.KEYCODE_BUTTON_R2, + GameControllerDelegate.BUTTON_RIGHT_TRIGGER); + + mKeyMap.put(KeyEvent.KEYCODE_DPAD_UP, + GameControllerDelegate.BUTTON_DPAD_UP); + mKeyMap.put(KeyEvent.KEYCODE_DPAD_DOWN, + GameControllerDelegate.BUTTON_DPAD_DOWN); + mKeyMap.put(KeyEvent.KEYCODE_DPAD_LEFT, + GameControllerDelegate.BUTTON_DPAD_LEFT); + mKeyMap.put(KeyEvent.KEYCODE_DPAD_RIGHT, + GameControllerDelegate.BUTTON_DPAD_RIGHT); + + mKeyMap.put(KeyEvent.KEYCODE_BUTTON_START, + GameControllerDelegate.BUTTON_START); + mKeyMap.put(KeyEvent.KEYCODE_BUTTON_SELECT, + GameControllerDelegate.BUTTON_SELECT); + mKeyMap.put(KeyEvent.KEYCODE_BUTTON_START, + GameControllerDelegate.BUTTON_START); + mKeyMap.put(KeyEvent.KEYCODE_BUTTON_THUMBL, + GameControllerDelegate.BUTTON_LEFT_THUMBSTICK); + mKeyMap.put(KeyEvent.KEYCODE_BUTTON_THUMBR, + GameControllerDelegate.BUTTON_RIGHT_THUMBSTICK); + } + + public void onKeyEvent(KeyEvent event) { + boolean isPressed = event.getAction() == KeyEvent.ACTION_DOWN; + int keycode = event.getKeyCode(); + boolean isAnalog = false; + + if (keycode == KeyEvent.KEYCODE_BUTTON_THUMBL + || keycode == KeyEvent.KEYCODE_BUTTON_THUMBR) { + isAnalog = true; + } + + if (mKeyMap.get(keycode, Integer.MIN_VALUE) != Integer.MIN_VALUE && mControllerEventListener != null) { + mControllerEventListener.onButtonEvent(mVendorName, + event.getControllerId(), mKeyMap.get(keycode), isPressed, + isPressed ? 1.0f : 0.0f, isAnalog); + } + } + + @Override + public void onMotionEvent(MotionEvent event) { + if (mControllerEventListener == null) { + return; + } + float newLeftThumbstickX = event.getAxisValue(MotionEvent.AXIS_X); + if (newLeftThumbstickX != mOldLeftThumbstickX) { + mControllerEventListener.onAxisEvent(mVendorName, + event.getControllerId(), + GameControllerDelegate.THUMBSTICK_LEFT_X, + newLeftThumbstickX, true); + mOldLeftThumbstickX = newLeftThumbstickX; + } + + float newLeftThumbstickY = event.getAxisValue(MotionEvent.AXIS_Y); + if (newLeftThumbstickY != mOldLeftThumbstickY) { + mControllerEventListener.onAxisEvent(mVendorName, + event.getControllerId(), + GameControllerDelegate.THUMBSTICK_LEFT_Y, + newLeftThumbstickY, true); + mOldLeftThumbstickY = newLeftThumbstickY; + } + + float newRightThumbstickX = event.getAxisValue(MotionEvent.AXIS_Z); + if (newRightThumbstickX != mOldRightThumbstickX) { + mControllerEventListener.onAxisEvent(mVendorName, + event.getControllerId(), + GameControllerDelegate.THUMBSTICK_RIGHT_X, + newRightThumbstickX, true); + mOldRightThumbstickX = newRightThumbstickX; + } + + float newRightThumbstickY = event.getAxisValue(MotionEvent.AXIS_RZ); + if (newRightThumbstickY != mOldRightThumbstickY) { + mControllerEventListener.onAxisEvent(mVendorName, + event.getControllerId(), + GameControllerDelegate.THUMBSTICK_RIGHT_Y, + newRightThumbstickY, true); + mOldRightThumbstickY = newRightThumbstickY; + } + } + + @Override + public void onStateEvent(StateEvent event) { + if (mControllerEventListener != null) { + switch (event.getState()) { + case StateEvent.STATE_CONNECTION: + switch (event.getAction()) { + case StateEvent.ACTION_DISCONNECTED: + // disconnected from controller + mControllerEventListener.onDisconnected(mVendorName, + event.getControllerId()); + break; + case StateEvent.ACTION_CONNECTED: + // connected to controller + mControllerEventListener.onConnected(mVendorName, + event.getControllerId()); + break; + case StateEvent.ACTION_CONNECTING: + // attempting to connect to controller + break; + } + break; + case StateEvent.STATE_POWER_LOW: + if (event.getAction() == StateEvent.ACTION_TRUE) { + // controller has entered low power state + } else { + // controller has entered normal power state + } + break; + } + } + } + + private Controller mController = null; + + public void onCreate(Context context) { + mController = Controller.getInstance(context); + + mController.init(); + mController.setListener(this, new Handler()); + } + + public void onPause() { + mController.onPause(); + } + + public void onResume() { + mController.onResume(); + } + + public void onDestroy() { + mController.exit(); + } + + private ControllerEventListener mControllerEventListener; + @Override + public void setControllerEventListener(ControllerEventListener listener) { + mControllerEventListener = listener; + } + + @Override + public boolean dispatchKeyEvent(android.view.KeyEvent event) { + return false; + } + + @Override + public boolean dispatchGenericMotionEvent(android.view.MotionEvent event) { + return false; + } + +} diff --git a/cocos/platform/android/ControllerNibiru/.classpath b/cocos/platform/android/ControllerNibiru/.classpath new file mode 100644 index 0000000000..51769745b2 --- /dev/null +++ b/cocos/platform/android/ControllerNibiru/.classpath @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/cocos/platform/android/ControllerNibiru/.project b/cocos/platform/android/ControllerNibiru/.project new file mode 100644 index 0000000000..c540b70b88 --- /dev/null +++ b/cocos/platform/android/ControllerNibiru/.project @@ -0,0 +1,33 @@ + + + libcontrollernibiru + + + + + + com.android.ide.eclipse.adt.ResourceManagerBuilder + + + + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + + + + com.android.ide.eclipse.adt.AndroidNature + org.eclipse.jdt.core.javanature + + diff --git a/cocos/platform/android/ControllerNibiru/.settings/org.eclipse.jdt.core.prefs b/cocos/platform/android/ControllerNibiru/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..b080d2ddc8 --- /dev/null +++ b/cocos/platform/android/ControllerNibiru/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/cocos/platform/android/ControllerNibiru/AndroidManifest.xml b/cocos/platform/android/ControllerNibiru/AndroidManifest.xml new file mode 100644 index 0000000000..d1f4a837d8 --- /dev/null +++ b/cocos/platform/android/ControllerNibiru/AndroidManifest.xml @@ -0,0 +1,9 @@ + + + + + + diff --git a/cocos/platform/android/ControllerNibiru/ant.properties b/cocos/platform/android/ControllerNibiru/ant.properties new file mode 100644 index 0000000000..b0971e891e --- /dev/null +++ b/cocos/platform/android/ControllerNibiru/ant.properties @@ -0,0 +1,17 @@ +# This file is used to override default values used by the Ant build system. +# +# This file must be checked into Version Control Systems, as it is +# integral to the build system of your project. + +# This file is only used by the Ant script. + +# You can use this to override default values such as +# 'source.dir' for the location of your java source folder and +# 'out.dir' for the location of your output folder. + +# You can also use it define how the release builds are signed by declaring +# the following properties: +# 'key.store' for the location of your keystore and +# 'key.alias' for the name of the key to use. +# The password will be asked during the build when you use the 'release' target. + diff --git a/cocos/platform/android/ControllerNibiru/build.xml b/cocos/platform/android/ControllerNibiru/build.xml new file mode 100644 index 0000000000..5e73af0ac0 --- /dev/null +++ b/cocos/platform/android/ControllerNibiru/build.xml @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cocos/platform/android/ControllerNibiru/libs/nibiru_lib_2_1_7.jar b/cocos/platform/android/ControllerNibiru/libs/nibiru_lib_2_1_7.jar new file mode 100644 index 0000000000000000000000000000000000000000..9cd732aa00ad9c702e1b8b1a611602d8d11077bf GIT binary patch literal 190102 zcmbTd1#n!;vLz~JW@ffp3>GspGc&cAY)Q7L#mvlX$zrg;Vz8JjW@cvkI_KOsciu!? zzdzF*6}@A3bjQxjRVyo3Whu)+LSccyy}wPq7K(%YZ!fI(YXu2)5rB-MB(s8uqKu@3 znmUt$FEC&l$`vu~Z@cpOw??d@N{<-}7 zw`PtG%s?Ac8y9zGdmB?`Ge@ACi=(~0g$uLT|GHGOaPhD)v!GG}{_pqxx+QPp>Sh77 zaA7jDH*t04yK$Togn@yfgaLZMczD2|c)%!1!r(;Fjj~9>kc_vr%~0%R_HJ&@m`cLX zzwz%qx5ei_XJ*diug}zuY^&#tY{skS5=g?FY(MM2w2c&wH5~mU}o{}fiN98{-l=cTF^9`cIgnPn|3@s zz)#T&@*G4N>>0GG5aajB5EbZ^TeP+JKvq=jqf+aSCqWLs6_};9EwkDL21Es5tmp2u zwX6&W>{&Rzc!af#D)1S<#*Qak2>S2wt#*EL_~yRInGU%WRny4JO-TD=fn4q zj0ys%8Y;HdDDOnqNLF&YY|sDp!)sgmRi z$7a=_B}0cEc5lypa29exhcfZWg9q8C4r&O&AM*ta6suuB9keA?4^odg@)m%dJx}lh z?e|~GvyTV20*H5@s6Tbvd(S^MTSN0LSRj#L|g%qFC;FX zKZOx;e{4;D>jW9(7R2*mIW_`uWubVfm+5GFB)y;wM1KX(Dzi_IGMP zLf_qN{NttY>~KT9?xdbgL&>DF33O2+| zMGUcR?WYM<X>3r^BgKR5BFl%DlEjVYhqp z3P4vf#T)uNJ)6<~hh7IPZLCY$|cY-xo|c62*)3BXt;Xya;I;DIlPE_!<62{%CMR&Ess%zMa+=8 zzuS-U7>AC|BXMYVQ-!Ouim)u2-^<(1wU>2{sUz_S(Bo@+nlL<75!2iz;R@i;2@G-9 zy{K8==-ozMvSvLK#?)~ZYh)x!eQZGNo>qJX9sP;o3zZnRc3rSKa;xiA(RHvu=nD z$MeKt#38>~~V`lfC z62^PB!0~|5l!O5wE9Lwj^uPUId4l3)J$_`{ey(<=4a4rQoT9MI@N(5@>&q4)r+TFt zfrk%Oi!qFGTOD7@Lv=K2P4-b$LiQCXzXo>~N*u#*$85fSvuZeE9gt)A7fpMoXvRM`WahQKi+t@o;1p7N{ zzA5^hI+b>^_G&dFdu=2vgQiz&IJiH0j!^n93o%gk3}Tcy1xB1>^@ zH@nE&4SijNQuM%3CrNe%8&%E^Op(H0`qJXnwkFM?c{49@OJnqOZC!PT$8Cm?@~lv_ z4g(R8UXG4%_bcnOA>!VCGeTsI)s(_8waAQ8t{tg&6?57U zD|9%wUw;k!37O{Rs;WfFM*l}=vkj7u8_Jpsr%9?VCL1+P&X`G* zd|dD2Oq=2*sP?x<@5yJkP2^83y{OfTh1fA}FGp*lu*kF8Qa zJ4Y(QL4rAIT{pc`qmn9CKj73K!7J85`sL2(Vn5%X>G_xTth;j-@84)d=5jAn|A*|~VBnV+qn4~FU z2cT^IcvU7pktoC@?S#A6bQkBp6_{BUra`+IpfJLRKFU?IE?z(1i;0vRX3R6INx}cw z8tybNnwkEHw-~x#W(7@XQZ$;iWa7qSAA7*oa}my0I0kjU$9#qob+4TV3k zhVR|4e4l@l2J$k(%ayR~A4x;}>YX$Q)?xkwY2YvfjYjo^Q&#T@RIk$SYxvbt-_KXU$&;NXSMVuseA|}# zAXioiMAWlMW82lhqLsbF9iL6!xGV0Cd7d;O1t8gG)2iPsIytkiWaZ1_z(%Sdz0sGE zu^6gu{8H2|^lIc5w@V5FUxbGQ;e&*GYzAZooCn}U>|P-LEP!kNwBxHRT`u zV@+l953MGt8#zuXW4)~e%p@t!)BNzy;N61)Y3{ATp9UZM4{lOKgb8}nj~+8NDbUmT zVLaebp+uod8u^@ymF<~AI^*LlZ7;iyojw2Lxf>WCHv+Ra)$4P|=2pjJ0G7?GJL~lc zVBcx*r-~pț$HrkJ7a3OEsH1) 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

og7!T{y>(EFU(}JS|HmX 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

!CCyJDIj}3vF|60ty$D&_o4wM7G$q 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

+ + + + + + + + diff --git a/tests/game-controller-test/proj.android/.project b/tests/game-controller-test/proj.android/.project new file mode 100644 index 0000000000..3c19f99f27 --- /dev/null +++ b/tests/game-controller-test/proj.android/.project @@ -0,0 +1,43 @@ + + + GameControllerTest + + + + + + com.android.ide.eclipse.adt.ResourceManagerBuilder + + + + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + com.android.ide.eclipse.adt.AndroidNature + org.eclipse.jdt.core.javanature + org.eclipse.cdt.core.cnature + org.eclipse.cdt.core.ccnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + diff --git a/tests/game-controller-test/proj.android/.settings/org.eclipse.jdt.core.prefs b/tests/game-controller-test/proj.android/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..b080d2ddc8 --- /dev/null +++ b/tests/game-controller-test/proj.android/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/tests/game-controller-test/proj.android/AndroidManifest.xml b/tests/game-controller-test/proj.android/AndroidManifest.xml new file mode 100644 index 0000000000..ee6c0a0fb3 --- /dev/null +++ b/tests/game-controller-test/proj.android/AndroidManifest.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/game-controller-test/proj.android/README.md b/tests/game-controller-test/proj.android/README.md new file mode 100644 index 0000000000..312835611a --- /dev/null +++ b/tests/game-controller-test/proj.android/README.md @@ -0,0 +1,87 @@ +## Prerequisites: + +* Android NDK +* Android SDK **OR** Eclipse ADT Bundle +* Android AVD target installed + +## Building project + +There are two ways of building Android projects. + +1. Eclipse +2. Command Line + +### Import Project in Eclipse + +#### Features: + +1. Complete workflow from Eclipse, including: + * Build C++. + * Clean C++. + * Build and Run whole project. + * Logcat view. + * Debug Java code. + * Javascript editor. + * Project management. +2. True C++ editing, including: + * Code completion. + * Jump to definition. + * Refactoring tools etc. + * Quick open C++ files. + + +#### Setup Eclipse Environment (only once) + + +**NOTE:** This step needs to be done only once to setup the Eclipse environment for cocos2d-x projects. Skip this section if you've done this before. + +1. Download Eclipse ADT bundle from [Google ADT homepage](http://developer.android.com/sdk/index.html) + + **OR** + + Install Eclipse with Java. Add ADT and CDT plugins. + +2. Only for Windows + 1. Install [Cygwin](http://www.cygwin.com/) with make (select make package from the list during the install). + 2. Add `Cygwin\bin` directory to system PATH variable. + 3. Add this line `none /cygdrive cygdrive binary,noacl,posix=0,user 0 0` to `Cygwin\etc\fstab` file. + +3. Set up Variables: + 1. Path Variable `COCOS2DX`: + * Eclipse->Preferences->General->Workspace->**Linked Resources** + * Click **New** button to add a Path Variable `COCOS2DX` pointing to the root cocos2d-x directory. + ![Example](https://lh5.googleusercontent.com/-oPpk9kg3e5w/UUOYlq8n7aI/AAAAAAAAsdQ/zLA4eghBH9U/s400/cocos2d-x-eclipse-vars.png) + + 2. C/C++ Environment Variable `NDK_ROOT`: + * Eclipse->Preferences->C/C++->Build->**Environment**. + * Click **Add** button and add a new variable `NDK_ROOT` pointing to the root NDK directory. + ![Example](https://lh3.googleusercontent.com/-AVcY8IAT0_g/UUOYltoRobI/AAAAAAAAsdM/22D2J9u3sig/s400/cocos2d-x-eclipse-ndk.png) + * Only for Windows: Add new variables **CYGWIN** with value `nodosfilewarning` and **SHELLOPTS** with value `igncr` + +4. Import libcocos2dx library project: + 1. File->New->Project->Android Project From Existing Code. + 2. Click **Browse** button and open `cocos2d-x/cocos2dx/platform/android/java` directory. + 3. Click **Finish** to add project. + +#### Adding and running from Eclipse + +![Example](https://lh3.googleusercontent.com/-SLBOu6e3QbE/UUOcOXYaGqI/AAAAAAAAsdo/tYBY2SylOSM/s288/cocos2d-x-eclipse-project-from-code.png) ![Import](https://lh5.googleusercontent.com/-XzC9Pn65USc/UUOcOTAwizI/AAAAAAAAsdk/4b6YM-oim9Y/s400/cocos2d-x-eclipse-import-project.png) + +1. File->New->Project->Android Project From Existing Code +2. **Browse** to your project directory. eg: `cocos2d-x/cocos2dx/samples/Cpp/TestCpp/proj.android/` +3. Add the project +4. Click **Run** or **Debug** to compile C++ followed by Java and to run on connected device or emulator. + + +### Running project from Command Line + + $ cd cocos2d-x/samples/Cpp/TestCpp/proj.android/ + $ export NDK_ROOT=/path/to/ndk + $ ./build_native.sh + $ ant debug install + +If the last command results in sdk.dir missing error then do: + + $ android list target + $ android update project -p . -t (id from step 6) + $ android update project -p cocos2d-x/cocos2dx/platform/android/java/ -t (id from step 6) diff --git a/tests/game-controller-test/proj.android/build-cfg.json b/tests/game-controller-test/proj.android/build-cfg.json new file mode 100644 index 0000000000..98dbc8533f --- /dev/null +++ b/tests/game-controller-test/proj.android/build-cfg.json @@ -0,0 +1,16 @@ +{ + "ndk_module_path" :[ + "../../..", + "../../../cocos", + "../../../external" + ], + "copy_resources": [ + { + "from": "../Resources", + "to": "", + "exclude": [ + "*.gz" + ] + } + ] +} diff --git a/tests/game-controller-test/proj.android/build.xml b/tests/game-controller-test/proj.android/build.xml new file mode 100644 index 0000000000..51485f002d --- /dev/null +++ b/tests/game-controller-test/proj.android/build.xml @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/game-controller-test/proj.android/jni/Android.mk b/tests/game-controller-test/proj.android/jni/Android.mk new file mode 100644 index 0000000000..9aff92cd27 --- /dev/null +++ b/tests/game-controller-test/proj.android/jni/Android.mk @@ -0,0 +1,21 @@ +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_MODULE := game_controller_test_shared + +LOCAL_MODULE_FILENAME := libgame_controller_test + +LOCAL_SRC_FILES := main.cpp \ + ../../Classes/AppDelegate.cpp \ + ../../Classes/GameControllerTest.cpp + +LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \ + $(LOCAL_PATH)/../../../../external + +LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static + +include $(BUILD_SHARED_LIBRARY) + +$(call import-module,.) +$(call import-module,audio/android) diff --git a/tests/game-controller-test/proj.android/jni/Application.mk b/tests/game-controller-test/proj.android/jni/Application.mk new file mode 100644 index 0000000000..f0582bf96e --- /dev/null +++ b/tests/game-controller-test/proj.android/jni/Application.mk @@ -0,0 +1,14 @@ +APP_STL := gnustl_static + +# add -Wno-literal-suffix to avoid warning: warning: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wliteral-suffix] +# in NDK_ROOT/arch-arm/usr/include/sys/cdefs_elf.h:35:28: when using ndk-r9 +APP_CPPFLAGS := -frtti -std=c++11 -Wno-literal-suffix -fsigned-char + +APP_DEBUG := $(strip $(NDK_DEBUG)) +ifeq ($(APP_DEBUG),1) + APP_CPPFLAGS += -DCOCOS2D_DEBUG=1 + APP_OPTIM := debug +else + APP_CPPFLAGS += -DNDEBUG + APP_OPTIM := release +endif \ No newline at end of file diff --git a/tests/game-controller-test/proj.android/jni/list.sh b/tests/game-controller-test/proj.android/jni/list.sh new file mode 100644 index 0000000000..b29f678cb8 --- /dev/null +++ b/tests/game-controller-test/proj.android/jni/list.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +append_str=' \' + +list_alldir() +{ + for file in $1/* + do + if [ -f $file ]; then + echo $file$append_str | grep .cpp + fi + + if [ -d $file ]; then + list_alldir $file + fi + done +} + +if [ $# -gt 0 ]; then + list_alldir "$1" +else + list_alldir "." +fi diff --git a/tests/game-controller-test/proj.android/jni/main.cpp b/tests/game-controller-test/proj.android/jni/main.cpp new file mode 100644 index 0000000000..feab560c09 --- /dev/null +++ b/tests/game-controller-test/proj.android/jni/main.cpp @@ -0,0 +1,16 @@ +#include "AppDelegate.h" +#include "platform/android/jni/JniHelper.h" +#include +#include + +#include "cocos2d.h" + +#define LOG_TAG "main" +#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG,LOG_TAG,__VA_ARGS__) + +using namespace cocos2d; + +void cocos_android_app_init (JNIEnv* env, jobject thiz) { + LOGD("cocos_android_app_init"); + AppDelegate *pAppDelegate = new AppDelegate(); +} diff --git a/tests/game-controller-test/proj.android/ndkgdb.sh b/tests/game-controller-test/proj.android/ndkgdb.sh new file mode 100644 index 0000000000..69b42f795f --- /dev/null +++ b/tests/game-controller-test/proj.android/ndkgdb.sh @@ -0,0 +1,47 @@ +APPNAME="GameControllerTest" +APP_ANDROID_NAME="org.cocos2dx.game_controller_test" + +if [ -z "${SDK_ROOT+aaa}" ]; then +# ... if SDK_ROOT is not set, use "$HOME/bin/android-sdk" + SDK_ROOT="$HOME/bin/android-sdk" +fi + +if [ -z "${NDK_ROOT+aaa}" ]; then +# ... if NDK_ROOT is not set, use "$HOME/bin/android-ndk" + NDK_ROOT="$HOME/bin/android-ndk" +fi + +if [ -z "${COCOS2DX_ROOT+aaa}" ]; then +# ... if COCOS2DX_ROOT is not set +# ... find current working directory + DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +# ... use paths relative to current directory + COCOS2DX_ROOT="$DIR/../../../.." + APP_ROOT="$DIR/.." + APP_ANDROID_ROOT="$DIR" +else + APP_ROOT="$COCOS2DX_ROOT/samples/$APPNAME" + APP_ANDROID_ROOT="$COCOS2DX_ROOT/samples/$APPNAME/proj.android" +fi + +echo "NDK_ROOT = $NDK_ROOT" +echo "SDK_ROOT = $SDK_ROOT" +echo "COCOS2DX_ROOT = $COCOS2DX_ROOT" +echo "APP_ROOT = $APP_ROOT" +echo "APP_ANDROID_ROOT = $APP_ANDROID_ROOT" +echo "APP_ANDROID_NAME = $APP_ANDROID_NAME" + +echo +echo "Killing and restarting ${APP_ANDROID_NAME}" +echo + +set -x + +"${SDK_ROOT}"/platform-tools/adb shell am force-stop "${APP_ANDROID_NAME}" + +NDK_MODULE_PATH="${COCOS2DX_ROOT}":"${COCOS2DX_ROOT}"/cocos2dx/platform/third_party/android/prebuilt \ + "${NDK_ROOT}"/ndk-gdb \ + --adb="${SDK_ROOT}"/platform-tools/adb \ + --verbose \ + --start \ + --force diff --git a/tests/game-controller-test/proj.android/proguard-project.txt b/tests/game-controller-test/proj.android/proguard-project.txt new file mode 100644 index 0000000000..f2fe1559a2 --- /dev/null +++ b/tests/game-controller-test/proj.android/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/tests/game-controller-test/proj.android/project.properties b/tests/game-controller-test/proj.android/project.properties new file mode 100644 index 0000000000..572f7c30de --- /dev/null +++ b/tests/game-controller-test/proj.android/project.properties @@ -0,0 +1,13 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system use, +# "ant.properties", and override values to adapt the script to your +# project structure. + +# Project target. +target=android-10 + +android.library.reference.1=../../../cocos/platform/android/java diff --git a/tests/game-controller-test/proj.android/res/drawable-hdpi/icon.png b/tests/game-controller-test/proj.android/res/drawable-hdpi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8aa4767c2fbfed5ac39e5f9e8f3e05ee520d9619 GIT binary patch literal 12200 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 B4<`Ts literal 0 HcmV?d00001 diff --git a/tests/game-controller-test/proj.android/res/drawable-mdpi/icon.png b/tests/game-controller-test/proj.android/res/drawable-mdpi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3780aac46c76a83b9231a2cd5f0234c3658d561e GIT binary patch literal 7590 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 IM6N<$f;Hs7tN;K2 literal 0 HcmV?d00001 diff --git a/tests/game-controller-test/proj.android/res/layout/main.xml b/tests/game-controller-test/proj.android/res/layout/main.xml new file mode 100644 index 0000000000..0a25388295 --- /dev/null +++ b/tests/game-controller-test/proj.android/res/layout/main.xml @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/game-controller-test/proj.android/res/values/strings.xml b/tests/game-controller-test/proj.android/res/values/strings.xml new file mode 100644 index 0000000000..63456db0ee --- /dev/null +++ b/tests/game-controller-test/proj.android/res/values/strings.xml @@ -0,0 +1,4 @@ + + + GameControllerTest + diff --git a/tests/game-controller-test/proj.android/src/org/cocos2dx/game_controller_test/AppActivity.java b/tests/game-controller-test/proj.android/src/org/cocos2dx/game_controller_test/AppActivity.java new file mode 100644 index 0000000000..2675ce468b --- /dev/null +++ b/tests/game-controller-test/proj.android/src/org/cocos2dx/game_controller_test/AppActivity.java @@ -0,0 +1,102 @@ +/**************************************************************************** +Copyright (c) 2010-2014 cocos2d-x.org + +http://www.cocos2d-x.org + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +****************************************************************************/ +package org.cocos2dx.game_controller_test; + +import java.util.ArrayList; + +import org.cocos2dx.lib.Cocos2dxActivity; +import org.cocos2dx.lib.GameControllerHelper.ControllerListener; + +import android.bluetooth.BluetoothDevice; +import android.os.Bundle; +import android.util.Log; + +public class AppActivity extends Cocos2dxActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + //The standard controller,without doing anything special. e.g: Amazon Fire TV + + //Automatic adaptation for connect controller. + //Supported Platform: Nibiru / Moga / Ouya TV + //mControllerHelper.setControllerListener(controllerListener); + mControllerHelper.connectController(); + + //Manually specify an adapter. + //setGameControllerInstance(new GameControllerNibiru()); + //setGameControllerInstance(new GameControllerMoga()); + //setGameControllerInstance(new GameControllerOuya()); + } + + ControllerListener controllerListener = new ControllerListener() { + + @Override + public void onDownloadConfigStarted() { + Log.w("controllerListener", "onDownloadDepsFinished"); + } + + @Override + public void onDownloadConfigFinished(boolean isSuccess) { + //If download failed + Log.w("controllerListener", "onDownloadConfigFinished:" + isSuccess); + } + + @Override + public void onControllerDiscoveryStarted() { + Log.w("controllerListener", "onControllerDiscoveryStarted"); + } + + @Override + public void onControllerDiscoveryFinish(ArrayList devices) { + Log.w("controllerListener", "onControllerDiscoveryFinish"); + } + + @Override + public void onDownloadDepsStarted() { + Log.w("controllerListener", "onDownloadDepsStarted"); + } + + @Override + public void onDownloadDepsProgress(int bytesWritten, int totalSize) { + Log.w("controllerListener", "onDownloadDepsProgress"); + } + + @Override + public void onDownloadDepsFinished(boolean isSuccess) { + Log.w("controllerListener", ""); + } + + @Override + public void onInstallDriver(String filePath) { + Log.w("controllerListener", "onInstallDriver"); + } + + @Override + public void onConnectController() { + Log.w("controllerListener", "onConnectController"); + } + }; +} diff --git a/tests/game-controller-test/proj.ios/AppController.h b/tests/game-controller-test/proj.ios/AppController.h new file mode 100644 index 0000000000..3d51064ca0 --- /dev/null +++ b/tests/game-controller-test/proj.ios/AppController.h @@ -0,0 +1,33 @@ +/**************************************************************************** + Copyright (c) 2010 cocos2d-x.org + + http://www.cocos2d-x.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + ****************************************************************************/ + +@class RootViewController; + +@interface AppController : NSObject { + UIWindow *window; + RootViewController *viewController; +} + +@end + diff --git a/tests/game-controller-test/proj.ios/AppController.mm b/tests/game-controller-test/proj.ios/AppController.mm new file mode 100644 index 0000000000..c91d512703 --- /dev/null +++ b/tests/game-controller-test/proj.ios/AppController.mm @@ -0,0 +1,138 @@ +/**************************************************************************** + Copyright (c) 2010 cocos2d-x.org + + http://www.cocos2d-x.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + ****************************************************************************/ +#import +#import "AppController.h" +#import "cocos2d.h" +#import "AppDelegate.h" +#import "CCEAGLView.h" +#import "RootViewController.h" + +@implementation AppController + +#pragma mark - +#pragma mark Application lifecycle + +// cocos2d application instance +static AppDelegate s_sharedApplication; + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + + // Override point for customization after application launch. + + // Add the view controller's view to the window and display. + window = [[UIWindow alloc] initWithFrame: [[UIScreen mainScreen] bounds]]; + CCEAGLView *eaglView = [CCEAGLView viewWithFrame: [window bounds] + pixelFormat: kEAGLColorFormatRGBA8 + depthFormat: GL_DEPTH_COMPONENT16 + preserveBackbuffer: NO + sharegroup:nil + multiSampling:NO + numberOfSamples:0]; + + // Use RootViewController manage CCEAGLView + viewController = [[RootViewController alloc] initWithNibName:nil bundle:nil]; + viewController.wantsFullScreenLayout = YES; + viewController.view = eaglView; + + // Set RootViewController to window + if ( [[UIDevice currentDevice].systemVersion floatValue] < 6.0) + { + // warning: addSubView doesn't work on iOS6 + [window addSubview: viewController.view]; + } + else + { + // use this method on ios6 + [window setRootViewController:viewController]; + } + + [window makeKeyAndVisible]; + + [[UIApplication sharedApplication] setStatusBarHidden: YES]; + + // IMPORTANT: Setting the GLView should be done after creating the RootViewController + cocos2d::GLView *glview = cocos2d::GLView::createWithEAGLView(eaglView); + cocos2d::Director::getInstance()->setOpenGLView(glview); + + cocos2d::Application *app = cocos2d::Application::getInstance(); + app->run(); + return YES; +} + + +- (void)applicationWillResignActive:(UIApplication *)application { + /* + Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. + */ + cocos2d::Director::getInstance()->pause(); +} + +- (void)applicationDidBecomeActive:(UIApplication *)application { + /* + Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. + */ + cocos2d::Director::getInstance()->resume(); +} + +- (void)applicationDidEnterBackground:(UIApplication *)application { + /* + Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + If your application supports background execution, called instead of applicationWillTerminate: when the user quits. + */ + cocos2d::Application::getInstance()->applicationDidEnterBackground(); +} + +- (void)applicationWillEnterForeground:(UIApplication *)application { + /* + Called as part of transition from the background to the inactive state: here you can undo many of the changes made on entering the background. + */ + cocos2d::Application::getInstance()->applicationWillEnterForeground(); +} + +- (void)applicationWillTerminate:(UIApplication *)application { + /* + Called when the application is about to terminate. + See also applicationDidEnterBackground:. + */ +} + + +#pragma mark - +#pragma mark Memory management + +- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application { + /* + Free up as much memory as possible by purging cached data objects that can be recreated (or reloaded from disk) later. + */ +} + + +- (void)dealloc { + [super dealloc]; +} + + +@end + diff --git a/tests/game-controller-test/proj.ios/Default-568h@2x.png b/tests/game-controller-test/proj.ios/Default-568h@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..66c6d1cead373b45218424f6a82f370897e443e4 GIT binary patch literal 193731 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 rl1x2wVl_d2iNrP@5dKH{FnYp=n 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

&Id6RHa1Z{?Js3FCg( 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

!h=Vm?0>qLxkIbhLT0x}PNf+ZUhQl$ngMh) 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 literal 0 HcmV?d00001 diff --git a/tests/game-controller-test/proj.ios/Default.png b/tests/game-controller-test/proj.ios/Default.png new file mode 100644 index 0000000000000000000000000000000000000000..dcb80725de2af2f0c1e44128f707f06578c71ab5 GIT binary patch literal 89508 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�R{{Rr7^J=%M7dfl>RAy8 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

@q^vF-$kw@6NC`@`O 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 z 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 * zN9tRZ>z+~lse{#UOWUY(Sg?!sq!GUO6ddq-4qT{T_J|q`h_Cl(lF{|OYQc={VDcRk0-G(%6Onx;cOe7;l=s{qzYt+&UI z@rI5wuLlX9=0Ajkma11@3rr8b4LoDNtCXjuG$0b4SU&5=Mcj(@;EiZP9{1FMhRWRA zeFFdD7!C z{Ne&hx%EHGfWnhV!EbwU`*u$R!Av{ykn7N7`H;Iz@v+<&eb>Rcelxbr&+o@7IjMcd zJ}g-*kyn0cb*$sg#(C8Wx+Co7o5`EIJH^w^$6@Ph`iXO& z(hW3!&&?fiFIZS~#*$Ed-688#cV9z=zPq|rz1>pI$dR~w?Y=QS>Q?cuI4luSb*InX zxNf((uUa$95fBz$%(d_RUv14Bd7Sj;wu0lruPPsKV|m-}m0mym_sraIsS$b> zk}0+IEJ(y+vR?9Wqe(VQo7f$1kl|NHWr~)GO8YB2xTv;tJU1u7?kgUSY)S4425Ozj z96`BF>yPKAWL=Jdc6k0%nb69@~Va~?b&!(}+p zBR`EgBvBWJcXxlg>c#K4WAup3j1#%qiYyv#$aj`~fTBC4C>~=((|cSbIIMhL1uXT= zWVP0F=STn*_;oV7)a^TZ$|`MQwQ`KX(YnvmB%-vXST4*!uZ8bIw$Z$B-&N#0fYZ+0 zJhZ+4hW2F82FZkZYz64c+9D%k%uQaA`~$AB)k{2m_Bbt!rf_S_6!or?s+!lDx>wM%J0Cu)hv15kAREJ$3SF2n6%N1)zsWbyO zO2zew0E0e31^0d@a^Nq#E)$a}8}wr!hOY`#D(!65ruLn94d6o@kUm}ZAdevWstD?> z>^WjK741)Go%D|2N5H+VcHi26`e~}%-TJwu55~da**pnm{}L8bWYa&aJ5$60Nwi*7 z31K0ZY;S35Ek}tXc7J$B8F7d(B4_Kbzhimma3vZlTWxMmln?6|O_LMC)U4;45PxoT zpk(M0r~;RrX#(nYhg1%al#b}?ZIvz=@%BdyA@APT&EghkDvd8lZ7d{B}Gd;GxiNJ&l6~`zfNkfUmmmizWqH=h|W1$oGz4)KjxVD#on>Yl&<@yUO>Q@ zRp&)Okq=NY#wN!=nJ|lwiMMoPMaWQNn@nNOUj);WVJTWmz;N9b>k)Ni!t9~>-I(Bi zMNsp0s*2om-c=$`J5+R@RkH?k#?=y>%r=eI-Wx>ktDKvWaZom7%|syWj&nYZx5=o& z1?DisBw9eMpwZBIqShT{iJ!@SPr2v4`g2v@LmRSviSDEwX-6=)X4xg|Zdnsu>L#2P z_Ql`N(c8>&s)1H2UpCU`7Q0xbtmFdzqrCT02XVjo#UmCLQ25CWj)?v_$9waM$J(H>XZES?*E*n<+b2(Q0JZRHUTu$c4Yez~Q)|J)!5YV$Y z;CkEApKEYeByUrIs;%N{C@sT3Yxl_Z?7o~xaq?s$;q>Gc?QuDh_GU8#ZS}ro7S;LttV9z2X=iO;|Lu>3H9ze`N{y)Q-p$)C|hi~@$}HRT)u#17GK9lu7)i*Hi=N?VUy zT={TU%^4v|{3Yy<>eUJ8hzUS9WZg~=fa_NtC@6bB5K2>P6y5PLvA%;o9F}r|s_A;Z zPa7kB1{0?n2-PgGhJHpn2r14(FZL!vnMWniT%^U=y~lg@P%X%hgp z$Vj<;MZ(ztQ3LLp3!vc649{vu7m!vQwbZokGEz1nKwT)I$MFOIF8kH z93K~^2SwfG#U4Q_xoVgg0jKR{HO7bEx%dF&vyYf+T8T8g`rPgGxD^JT$ADSkFyEJT z&K!$7X4||Q6t0Yyd|?STx zspHH?3y^}$6k6(FViUU}(8m9mxS6cGqn|@}m7Br|CcCM;K`1UbK)XHi_{RT1tB}D) zgzhN-Ui7m`(Mvw*OBGVUyC?24tY(K^0ZYEHC<4U7V1K zSp1h-UAs1Oc-X15?>9dzHhslcbEOV6)9v84Elpgphn60*!;2vBOgHEKSCA?1om~jr z+FQ9eoGLugAd;6BnYpro`pvZ~j(i30OuZO!IFniZLbURqXY{a88Aixv?|2KAUhlLJ zMCdR%eLf?030pQ)e#}=n!!;$ucA0^c)S-=3xvoP;i1w;{8+CzuZoDITv13-y&Ppt- z63%jnUAdwW7xqI?tN76{0;{to}RIx@`ssxRfTWTo#GdC!e=< zMKmaZ}aZ5T*N3Od!3YuQE4dbIdo*@SxUDYq1H*3wSH+ZrjwRlJo zC)eLDgKv591#GS9%B;>Tr38QqMU`$L4688Q87rqfp6Fk+l*W+c46W?*V2>q^-2Fbq z6I%oK`Dgl#A4J?{hD%u8Q$7gp6#ZP3>dKkgRQWnRO9bgt@z|31x2`2**J$y@SUAP% zuihT{YMe;bxT^ZzSSlz$QuTOw!$hBLXL2h1WyxkVm9b=06Pw}j7*~=w*h0Dne-}@y z;se2ikZ!x)_BYzt$QPqy;9XX$W+6h27nzz&y0uGjALwI?t+!7h6x8_a#x`8;pt3(K z#_7q=mf zbCjN2X+mt9zwcPMwp7>yQC}8o=xr`C#O!siD*`sCoAzNyUm?&8vXyzrk;h@x-nDNBRb6CsX$ zxfbZi6r`r7zVzjU;Cf|hgH|%jowfepNsw^);m&uuP++{}aG`2k`v8)5Hbvwdc*k0| z*V_uyO~Sp82lgToD1^*9x24ivkBzqW#DY&=m$hU7C94v};~U(ju#-x!IHr}fRw||= ziJuC^RUhEkCFBoN3N*{W1Pvmb-bVSAkUeK2`m+*zx&48 z>eM6g$SF2?w!%=6%m~n&e^{An%EyFg)}%(mmG32W<5g<`iQFpTct$t-wqO+}6uW;z zfAMBy-xSlwi9|xylR_uK{2n2L#MWzi?z90L{W|H>*!t4jwG5n@Ref^RcF+QMHdj=| z!O9R2TLlLIf`6@2Ji146u3_`# zxj6NWqH? z)t<=L05_CnO%RMy*hJYIU_dc1p8^VYwKLS|fJ5~i0#a%e_S)lzdG;?*UqE5^)71iarK(T$Z9nG5K?<;LN_Os!@sf5H8k z5d{$lTdVs>H9gbS`^AW)o6mwH^BF{!qW|b}W$_J@@8t##)w-zQ!I9=s35dMkak~*= z1bAY2YmduMU`q-Egp9!k2_1aeYE@BIAw^2uAR zFH%zB+^zh@mQ`%H$j{8&m!PM?S6c!5w6RVCkTAh4@uXLFxG+VbUe+q;8D(Y?erxCS zvk%Kc=YKSXPWg@@afo+Tf`ipSnQRU(HaiZY>vz8?>@&1IpE>v&eHo!+!$?e4Up%im zuN@qN6m|hCEG0K~Hog}qe$3meDyuCpd#B!?v14GttgnsSlIG)=Dbd}oCRH@{#7iu36E0;g1f;TIDa zn7(@b)L{EiKz+&a&(*L0P9hb}Ro=0P?N+?_IvdJ>k?FalqBZ%cOrU0ZG3h19C0m=xv zu2kCJqXXH;yN!2L=UVx#>O|D|M9ZN)B5vATFQ7T z>MXsE=V_tpZXe+%_EhL|#w3pd?1iqNkloRMghyDKi1e5k3^ZMD?_pI%<-p? zu4VKZYvOb)EkJkPPu}&N0E8GzBZK5kU8wR=AVWjvlE8};fpBiTk$4iP<1onL!i0fd zC$|9iAYucL-p%qLR4S|#j@mIhf9lLhzyhWW@1elABl?&#I$C-@S;Yr`^8Gjps^2%m z=eRx6okosJ3e4WAYxSq_%cLfN9A6B|en&H>%AOD6*a^Eod9faB(3^-~MV3m5dmxPY zfw#r1`v_ci5zT>&p+D%s4oj+~1PODtE%QrSkY&Ql8zpPdaCd}wx*TqVYo>(nIxc0E36|m4z#($5%aZ-i z!j|E$?}jS#uwIOnLbpZmY+wX154F-hs_rq9`d4|CdFb|=bmJ>qhd)T<_O@0@X&B-A zro`3yTUQi{w}S&zJ=z8(M*I+YjyPAv_Qc||r^=m^GnPP7<678XKk_1SM87xNBTG!| z^x>iQguXLDwH~bzf4MF4;uWvTJ?ml)@P}g7D!m3qJyr|+nm*~6BU7LOCs2x!a$}m1 zr&n2Xp-L>AdwIwC5@CeK(_*cX?7-1WBdnegf!g*x=2;e7H)^%J&l%bn&XRajh9)z8 zwWl_({@5^L2a3j5=q0qkJ#JG0T49i-TNm!>zDV)StnsrU{!$>*TM2>aWobe2k{Z znZrE)qzC%(vz6bd#izVW2Ua)qk1m3in*_^2Pm}8Ou*CFV!aaDEMaqIicCie~_*uLB z3HEwbv1l+5 z@Fqpxr6UL~h`RSh!L$KLmzMtSGEAP}g@!y73L@aJ{X^h3~^JHS0=G?Z7&cnJ%~ zMw;0a!LU+RBJf@JHM8Vsz-|A2uKFxg@cgh1p73YD=+aT)3ObCl@NbXz`2GY=cF+Lz z#f3A&lkdn5H&+zgr+cSZ6gL{!bV%v`XvQBIEm}sSSc`gT?t~Av-jz-g6dUKKlo^)5^# zTlhgu^e-TV#e@GH9w0<+(le*MUt^hX6;ibe(YwWea%@y|aCPhDumo#MDXi_D4_~{N z2bn(9Zapre7DV@)tE1ti7<37-V}-HGEZRNfUOCzKl(*Tlx8(y)S|w%A!KbvBI31jk zillDReF{-RXBLG59B75+&nx4fr~`XOD-q@~+_adUJCpoVHy6XQvRA9igXJwN(djLm z`xV!3aSNkQ@9jHHJnJTm3DIaaZxK(pJL`CBlAq))|gLW!!eh|s#His=u5Mi!Ro9@+>;drj1 zMDjM{1}1Qy+S7i@OR>K*W8(3-F~gx)p5CMQt((MdHktO6TbQCMwXzW0tiSyIfe{^f zfx0%1+lqRq%RrA8?}r)n!+4$;!NEc+WsrOui|jO zWL{9;$uqE=s+WL3PhGodc6f6A=N}Y(fSQTxCp*Vl=P>E=Gh>c~aN9Kp=@+ziy~aYT zv%qbx`!w=_T&Tg9vuo0+OJ$#L0M+>E0KKf1oXnf+?Lzp`+fY!zL z<3-{*+(VPY%IEyFfyy$e{kJ72nM z1$`J&f@cqQ-HPGMS=Mc><-hl0r=5ra=Ip)35n!3%sIW|QoWT<@ZeVVTvI!M!b!KMg-fQOMBR(=;&3wvHwjsHDW z*c329LL($QI3}(YvBOc42DrSHZkO>UeDXGT|=}I?<+n z!=xgjq8Zx0l(4H(QfIFZm%G{KI__PS_EltO(_87a#k*9|r9pXInzQB3RV8aan+0Zx z?hL~H)&)|J5@avc!DylTFB~}jCfc!-kl1hqlemj+Hj`^jsuPLMwGf>3CLwj753U83 z+?qK0H0se8Uh+Og|0-# z|9D!~!pi>VQ<(Vw`4pPpxMy1JnZ23=)`n{Lnxzm{y8b3ASnSHetPyc ztXH>6z{2*cD4Rcjl0GG`umaQC%+h+wE44q|?obOYJgE&5KX%Z4$idkssM%N9Bz(fg z>fOP`<=580l>QAC<$7IR5UaB;|Idzi)B&c(Stfw7{&s?$whqF3mS?s~t2M?4hQQihen*&G8 zmgx&Iqs&e{hf*&-uRabqX18zlx^0rMzBTOc&V##_dGEqRQDCHWSGhBt&6D_;8U-Su z9VPglk{HM&+CXc>WBu!oZU9ohBQcKZaJ47&;yDhsC1KcvWTLJ*2 zIa_>h(7)?r;uW`}!tbMS^J1KX7tBn8(n5D>O0AP;5~P_}kx=su(XJoRbH2RG=ei#<(6H{??&ey2ww&1EL*bkj zjDGdavdHcDihSte`fJRgLLt`av#jv65C%ut>mlTF^)@*K59nBN+#|qDW}LUf{+sh; zW6h9r4_%llcCL}^VlKB>J{eM}pfqi`lCkb$cb|2b_L?efUBAtX1R6<7qF`cI=_~x^ zj`j#FRVad6Eff+QOiAg;L6Z$_qey}qzRa>)q<7()5fg+H)=!v%x(JJfOJ~p6k|tp%Y{nGS-q3mSa-nV*frEi7gFDP1DBRD z;X--&DVmQMyM3H$@3JsOh6>w@D8M?qp{piMW4UHcAuk$^7!e3zIUYoYrempT=zX_; zi#dTRGU2*F0KePvz{?Qz80@gm)IWc+G!+nX#{R2H86bF>xx#~7=||<&r9a9@LfFft z{tyEW9&#YaQHQ9_1Wa)0b^SOkQTNk_`AD1Ar~OCyyelq#ly+aAn{#QHMh)YfKI5%z zp>65j!1o+bMSGA(&XxFV((nuJ4*Z$6>s>hQVWq9iL5z}^Db_J^J_-~*`81;HtY{lW z2o&~>p0utT3_H$6gA@*|JLy{Dkv~S&?pin9$bmGnl^*y04;tSdt6i7utLr9bkJqk} z4qigyXU3Vo*R9yu{^M$u0amIdX6k?Wx|z9RN>s*H)R;~Kt-e#o{BZXMyF-8`!XA-I z4$w=A6;IExp-{-l)}uze-3Tlj!p9fxb2{_Qb!)ft74*>nfFi{ao!U|FHW-xXM#UNw zGl?C4;oLS9d2g0<%_?E}{p~0T6!Cjd*`rIH37rPsKW3e_PrC`cWZwAN<8ag9wX`%Cbk}d--=o6j z3XT;{>KL#v^3XIOWk}E=daD|eY${^9k1g2?OcFK-eNrm|f5W*a@nv%QH5a-QYqd|ptP0j75H}Y7V;6 znrLULi?b0Sd(;PHVG}V%?FL}4Df1Vwvu6{v4_c_hIFM0ttAm;DBeJ^%{OzKmE zb4s0XFy?X`6Wxm-0){69=%2sYc&b;EbE-Tcent(HA%y7c@xK!>-+B!6b7?S)Z2q!k z0$;<@CgR(CsY5c!Lbq(~wFO`JtV={u)L>hbBhZzW8(NdUN2T7-l&RC+UT_=rA}!-0 zBj2GCL=?Ezzb~G545=1#`QxXAJx5LVg0+lhiKCU(F#f{3zdRCzlNx}pf?<=9hoHDy z<`*U?a|Lt8j(eZcbv9my`GsD^P-9HUe>|(+pL2u6PV>dWmorXV?XH$%-e0D(BOMX% zgwKb0nlc+t7;=Ws7}9FWJtMez{1U~^)J(76vy(Lgl_7~S253QrYZGc3_-MaPU(V71 zZ;j&J*`QRZAh^S=mBQjLtUQh9q*CP0Bjmm_;d*p;+P8y^;-M@HiBrGY+Rb!=YW50*m4@UI7!&88piEICrU42*gk{Io}MzQ!@oKU=_P~z}f!)?f9jpZT7fhxj)2u39EW~3zw zG3j#NpE7Rsw6Wugup;+(FIfFdck=G3?6MJtr`wADLgTp336h!GO(a$>HdRr}ntW~r zAH5PJUe@$*Y_i-K71nW!pR2FQNgSRIuU)JwKHLhwa-lBgOQk59L3C^;AyTiL#t&M` z+k>s9!t?(;F!1Zzc4$TBBB5E4AQ9k$?=bFmd*Crq7kgHFs!e1~b zAeBWQS;sy-Yu&tQBKOW|>txa)`M2ku6+4A56+XmIuN~I0A(G)2X$sRUaiwl;dR!G< zf2Or&f8%$U?#8B|-U`-Ox^&YzRpt7{29P(rnVPPTEj`}e#ZemFc2UtbCUR#w$UMUA zY8kK(=euvlKUCmK2%=^_T&yqf>=h`=1Lo*velq%LQ+cyy;z z_+aKxCf%;R7H4W)5szu#mv*K4A0bXCm)n9dv5xKrzYpcHlQr=RF9=xflolAxlK)bx zF74_e>tH^(-PTZ)gpX)TLCw@|4^tuZv=DlyDtnAcH-K@}5|;=TH4#~Ckm@ZJ0Jxk8I@>$ab2uC8pAZ`{JvBe@V54w+ zX=IHV{_{ZsY}2=cY$gSeLbO%8Gv2FDm1YV`PzeY9__rqI%4zCf?gvUGFoIR*Ve+fR z&xb10|3ofFs9ozj!)omvy6>3D_-)LwqG!m3O>h&?#Ffl07!Krw^1+DonGUi_?|l5} z`4H|KErrm9TKIXYhTI0`UnzlXIpOxC@YHmcmdm6l8G29>e`jBqp=bt!lYP2go1iD9F$GS4-|Y zm!>_Z$EZb$!zJ{<8uCC|Ir`~gD*36mAN~UW7P16Gu z9@J}Yg)u12Y2+`Tk2;vf?Xg2e{3N?JI`z5T3te3)IZ${L-Pj=>q3<{(Y$ z>EL$fSs#@$?lXu+72OOdL{{n`(jy3!xu>MP2>q4N97>!Qo6HgaQ*i&YPPrSA{?9l7 zeCO62NNcPOy8aAcj&ggIJCtR8+{8ut`VHbZ#B)p$5m8Mw*cB02pI*WFdzyu}neO2j zX%%N99Uk({`CU(%r)_x?mZ2Wp#U5xiW^U>6(9G%9oh!iGj%I#Ig*ndTJd3~Wz`tnQ zD!gl$#T6YAUrQ42h}4i&aGlkd*pQLXq-MN2YFTlEu*5Fr47azbJD{s7%j#0$H&4pA zo#T&XYzKPtmW;*yt&(BNkkyGCVz|(_UxSAmgMTaK%MAufvLR#H9|}n;BwSwQ>(Y4h zt#l^fLFFmvd92f;N`O^MosIuB-Co2v=TK`W%K+!2!TaM%(##bHNs|2C3aQ5=bA8rb zn`J7GW7=E%B*N*ZxspT|@^3oWDR8G0qGU84R4?hCh~Y;;yApMOwivLGE^R)GzK~7_yeJwo}+ZAHXd$D}c@`);rns zg!w&29nWb}?Xl?ex9Z2h4+q3?2NeIHpr6HGXCJ|G5AF9|}2vl+jzhWP(=;!Gr*d z&Gz%hR$oj#MOsoSX*?II9Tv`{|FO=`z+EB&W+0{;F)DG2MrP4vt2e+CuWEJKU~YyGVz;ZdF|H0XsY*cpSSSU3=#LvD}7xw z^i$jQW#}Uu`^tIB0rSjlt-(?)DwJ?y^@}GI^FyPm*GA<*=kYvf!D$o~kN9=6wazPW zQH0po@Ci0Jhjj@6&d6Ru>q_d{!e_iXnhHVh5yA8VJ*|q8fJ@OwL)}^|;@2K21k}EW zA%ff;(Q@Ai0T=1qB__r0?mK=c32={cQBqqo{?fDKIN-zI+V33Ib|Lm9v|w^3%4=rC zFxX!5tptalx*jMj4s=`4go4LXaIitJie1iH0xYFm$!0--2%Yp{gK?qbsmN5Qi(;|! zAk{XXrb~~^>a#&UW0fAKrUA3wAOq00nd-1k z80j?^MFMxZ^A1IbKB?xsthY=mxd^BpU+pPoQtc=z4h)hDtf!22$JZM)^WkmDdK_Vf=Z|Ay_ogQ@>hCJu~IPb=wtt z38+<&#>r7d6`zt8#so5FW}kZvzOu%Alg`;DXsVumqa{Bxm{g;o^LHK4vsUoFzo{2b z>uzwdj?wT|buBMUfXAMkdgu4y34GyHoM)2qX)x_L-$6nVqZ7rlLG_y?Cac7U(W>e; z@ibx%gT@UUid$~63LBGizS5ClJRhOHrMkT36V{HNLi+Xzl42gn*)bbW%(m&AFHy=@ zxsMrK)$4Ti?mlhd$i9&-^;(qAzl*V9=(W|Mtfes*+DDU(`%|sbE6%GB#n5(tejbPD zclc`)5d0?nih5yqdoHKYN?nkn#ed;fnvL^}?r+dM1q2^8>Xe88H}Rsj;Sb#_ULHHA zzlEPS6tC|aJoq|)9EJWP$n7qvv4_e9Ju2PO3-_jJaCd?jAfIwPy7M~+M+x}oTxiK1 z^=nXphBoL7&%Plg10}C8Xd&`ABoYnN)1Un400W1a2~CC*@ym zkRht_wJ{61<)ih+HRO-Vkq{#)kZBwPTyo(9?;cw=icPEL3 zERSQXoe)s)J`U=ZS@L?o_K^pq)TVgQi|R=-v#Uj1DJ{_EBEa-$6(Vr2U4ioRJ)yCj zrG5dAo$F=8b!7~*rh_G!(cKga`PG4<^pt91TGg`qsCM2ai8+;}dxh*)SMGb+X9`HH z&u94x<^x5O`CNiHctZR}5Kmd0bAMDF=*eqpw?_dHrvWM5%7?V?4=sDmVKrzFJWKFZ zVr=4Fj&S9nr-Hho>iV29Ugle!#lRlSHm_X`#VRN16C%8b|D);LDC1 zm2+~=nT>=*Bnp{B=I}138N=92m_`2BbP zb3g7s@7L?PUf1)A?qR0;@c;GI7%HCU*Nt3RkMe%yg8Sp zcRs0lsbMJgrR&BTp960EiCeFVNUMYnSV1+~0cV0+Uku}+QI;an961P2)Eh%lot2KG z3GefIfdDLLx@T5caC(YKK1@I39wUd>l_Alfw#LMl9|k{vTxZSb+HMBiu;@n2jrw~3 zdftQH{`OKq092h+W8hLMN9=UFZ(c(o^l zZ`O)ALX9=1i@}YCD*4F=qHmfH)ADHnub+y++>ugRFO#Rn=@`1oKYso;4jK!@W2f zQd=N-gJ2e`NdQ&Fe+uI%6qj@Dw_U$i%bvw2KF|8MJN%W9EH>fU9ha{FK7=1zT?-9U z<9*6%V*{1I;wLSYlXDYJ&x>?Dljnfkt2yI*%B21xvIS!wdyOxh%dvrc499pm0NeGn z#VKnM-Bge1af{mvr4?|t*){XJXkNoTQ>Bs(y}HfF`2oqzg6M0Ml_c+$ami8$HX#oN z!uW5~=NVI~R1;!#a7q56_1eV#?vm3v_mIGT_#9NSZ_h}v+9apn01h86 z4e0P_do)7tk5d*oJQwK1dBmu*x4fgL;`mijul@W7>C2B@6ya^nhU3qt`N~x>&4Aki zk2~iWj+jRKZTKZtjE6g8h^O;84Z1==3G|)Qgw?dEg}Laj_JQd41QMd4i5mcTci5bn z{dQPaK&`1WPQ7J-XDo)Tjtxv2ZyG>sx4vovsSk`cmSkMS`H;q*2Nc(r*OxQjwNyTc zWSeM-!GWA@gCB72HZUBo+|7mpoVSL2M9!^oGPU)31*u({Id_roO#6MgO=i>GULAE0 z2QZ5seAJ@IzF1O2RvO0I{-)w?+~LQ=S+m8R%Tg4WM>KR4c1AgTWy>F? z#|=QXFAo|%yYWg}QM&Q2qapdFe9y~|OUgSuT-%4YHip}+`={)B!#==L-4H+1_%FVs zlf$Z|b8~l@u2)eS^UH1anJ#vVzCtNB`w!H~S^DitDmKh--uL-`o;~3aTZJu< zx`E%^U+e>As6dN5BLD^!l2Xlmds;9PqTLX>vI&gk$4}k126h|gyWvs>4+{EiZLBwX zvkw=U`UZqwcqTB604ObAx7o3?F~+zR5B-x8C28rCOpg|2l!-IBgLwjaU)aCfo0n&r zKbrcZK0^oI@OfA7HSFU;TmVbuaiNHua}U(pd6~W} zmgJ<`^$j!-%=$(;ry?C}7cZ{E#k~}P5}#an@+1WLJ=mH_U@1cU)`F)#*C67--n_^$ z2fhXFGy1y8vEM6G^=Ug|-nd6==8Y>(k5{H6t}q)Sz`Z00AbliAb3rXFWkdCb4D0WQ zGJO+v0G*Nsgr7L*_fEqy%)r06+)w5?Gg)1EuaV+%Z7u66sVCP5d(vz>UhQNLF zcdP9)z-dv(IXo+zkqw1OC3dU>F=fY}cuE$}rEw?CM@f<(*&P}@7QBq6cX&&+r@beZ zB|vX2`q`ef)oW_YU;2AbCAx5B+W9(Zx5UcU6~iYL$e&`k-<@1zar;l<3hc#~_UZd$ zw9n6TVu#7PTZB^ubZH!;jzC!@QaG!qet9mY)R_4y-<4;nkpGa4N-7K=`O?~K|1KP6 z)trubFYi3|*BH2$^lQUD?gIM|N0PqtC8MB?rK|k?eTk|W86N^<+&Qni(^IDZpp%to z{El#H|G~$k3w^u~@*<*3?kP>BTuwpjU&j})vltgMNc^bm361gf*O|SYQ0nuGX&~jn z*z?+s{Itq>&EmRr_~`1aZ(|h+{hzG%mL1^P%>3W>C+}Ao*e@BXkr*G_Y6H>E1(Hgb zmT(Kt)b?ejW;*GPipQ=&{hxjGhsKFU-H|Cf#|R)=2;iIoK!29K;=2R{8212KR&saD z|0cXPNk>8%pVl>XY6xCrP|cT5C3x<$H@dm3BEzsfTMuaQ~@$pt4_e%`eie z2#{cY1Vu01%9}v?+zrw#LsLYgojZ{55?K-@x~th}N8^;j+12yUV}F(u44sQs(G-m& zv>Q+nZ|*gc^LSac@4oU#S3Oalntx&-QqLYNeM_giHAtF2`XD#m{HYnizmB)=r35LU zn4fUq=f@7MlCt*VmF2DG_of^~P@cHgx7^6Yu!E3i0EXVn@O0ICOE;d|Jnx4MerjJh z(42uV_Niv*G``tMTUb-2POx1MA2g?{c$Mfibu#_+GX%|TsLAjNq1f) zx=YRJ24-Q~410zTCrN;)Npd6rfpDC7>{fNg=B^Lv7VLNYTPQoySA!-VD2$;wJM%r#}k-}{Wp!^8M1Rm zbdgHLH6TjHG8gH4jH4^&CBzobrw4Q@?+#3?{HVG zOOVw{4dww9wFg%Z@NHjl7PMRV1W3LB>w=%?OZ*lk0<+1#$wFtlXZPR1dJgiIMxq%;66%6Fw#FrJ5-`9TI z7gHy(v}=@S!dd^uqJF4+o9!BFUJ4xZ_rm;0UkN?o>*#g}#z6&z?QLCy)SGW;>_a$P*T_q>GX3Nc{cO{e4=zCi2 zy^G&4vY97Z+d&vA-v7R%6JBqNR8(!X9buVYaQbSNUUMpoLV7`{)4vQV`cE8de5d`F zPg%fTlLW^ug~c|&Q8D2Sx_xP+;Iyl{AYI(Pdvd0vmz!4LHevCKxjcRkS!4eyxnlZM zjb^+*KC?IU54-YvdcD7(sJC%kSo@l9?Pr2@nBQDOlLyALt}3?bRoyW{D(g`l=c9dv zpL96EP8l6PlVAgG8K%VMv%WKNJI_S!%6SV>u6Cb&0ceA4I^(I_=}a{UKSD%1#^*lU zH#Y1SzfLIkbg(9MP*ZEQ(;++8eL~<#u=nZXb%lsUmm}So^uhVc1fc&$n=)#7%&c)1 z_vhP1YhM>LWT5vj17*Cah2cNqg4V7k^LitJd?1@9hktB3L*q>ifH$sVcdBLe zM;M6%Zjet%3jp9e=2lU6xcI48@mIw`BQ?CG>8v@!&%*~)21lZsGv8-1++Ich0nuYe z;{>|1%fFLiL9H+`71ne+h{{o1Hg({=E$kM{3V4B7;V(P}tDhB^D0{ZOKS`YM@+1Ac zlkGX_i^L4 z@BU~;)um>kNItcq>*KI=;gq7&HD{DdjL}Mx<>a1)6493=tIe~@Z>?BZ@~_>R$rn@C zDbKQfy#5TY^u;={T*Ay%w!&`kQARD=Y?UA4CHIFTt^U4i&14Qb`UYkhrTSA*hUE5* zUW50wp8Q^tW9YfI69`@IdqxIr_Z@veQp4u;Ya}*vDYdRezrQG~X>e^P>)F2+Y2)@>(28S9=0tm9 zx~RzNj@K}5*(m(d=4cba?pzU3PwAEde{|30%_%$Be={%c2yqIs{9DOwJsle5mb=X_ zJvo*9V{pj{Q2Yp2cNk@R{F@A@G8Z~`$ZP5GdGxA{Ky_`-`~1rt)4Z(-R-M@d83%LE zdvd>i{??w3atZ1SR`G(d>19Xu?M~*_;m1JR6)qQ$@#{UScU>VAwVyeZ=t)rSj}JpU z`#(HPLf7AF(nJi|`@K9ArYBTgGS{=Wc_15LWxgt|rCs9bkGMW3gUCJwmlJbk$l~M- zFZv1X*<+}J#%(@3g_?fk7VQD>Xvr&yW#k?CG|;!JZQ=WV_}Wd@8T*Hp?ZQ`2!`4dh z$IE=XQ5dgB|F?Ls9+pMyx(Ju=$F`wR5pTgv|NL#;nCXA^{SoL_gr)*F?-##L26!NC zufYSeVEK_^M%Gr*gi+j;XLW@uWPU+}-K4>_Z+qDpNUI}D>pWIEq5MS&WPz+X2P17) z7di`nvYdRTFJth<;IG3UL$XMv%C`(u zav$(ZHiU2Sp1Yp;tEA3UO+8;~g-~6ZCHZvbM1|qBuYn-DwaI*R_6Ts8bCmERx!c#N z$H=||X&uW0OZIHFW|4VJ;)h|15>H9@pm?>x@h_(bR0Y0=yS7?jXjNq_)3nm+f=7M}v=Kp|#&-4F60WB0gu#y^T;I(ZnNE$J2SUC) zjt*Y1{UiC2XsAr=XpNfcJOcJ@EMK~TMr7+rmNTZMh1=iZ9c9b|bMKBq4?t<@+EiH1 z;%-fUU}qm7=ZN45*=a?FC5t%sA2V0W71DmefD?Gg?TYJwWi*YGeCUc&D7@Z?P0iR};NlAiCq*GhVrw5#WF5 zvjG27mNkKRUPbmwcu-{AckkJF7>YMRQ(st;LXJoeWmWZU7XgkcutqYjzK6QskWm;4 zz`9;As)<%!hEdD;>%gGW{dQNoyn>Gx&FA zE4{OB7?XDVb5~?9r)3eXYszB4+kNAKzk7g+Qg*`)|JpI^_QROPSY(5ltYm6?pN=yo zRsre&4s7)AQqa)nJ-ftG9?8^s?YFEFT^$}u=W-$k)3kU+=W{=v4cKr}ta&HD63N}A z<1}CHv&rWT8ge@R1K3Fc&)O^Le|9m?xwmBK`t)l1;_5=OTr)ku51eFHx6pC4z7$== zH`z`_UhEdrpk?C z2iJxhCmp9wYI~ASLeSd6rku(Qnh3Tp8@-T}Ja!L8h%4@^4$)hrQpf+ai@V~sYRE`_~clCnui&WWEutkaQNn zPuGb$#vY>}uVtY!-)RrdO`_uYJeEq;w*{iNxi)C|D4d+a^%pXZS+hjpy@V9+ol50( z*p|kngR~#LFxZ7qjPp`w`Evm;P!;C2MB#^_^G8)28DiPScn@lQS(I+VyYv%LMmG8Z$r1m+;1UdN&(&%g!%7pMSj9 zV8zAHAG%2NK+pc*)LnU`%$mrw%qz-X8b0B zJ2OE~-%5gS{jx#j%eL|Z@=*P6;+yW9M8VKtWT>J0*y{*!?L5^_<;-Ymx|jwKHlbUDqE4yTte zsuDP@`f@xKvn48%fb{!{YcP@7wn2H;$NCr4E^=Q?0O=EiV+AY z^^#JYETRPF?wI`eLx9{bKWY1i_QG<*P6KMUCZ#1j)D@2=6ehf1-EcjfM|ScEH_Iq8 z{|PR3`f1&3QOCi0-|ObMy@jQ+w_4==Y23XUdQQ1XM~#OYms{S>8y~7RfMxADr(gZG zHPu~u=Oa&nkEbuRjT5~}~kc9>c}j+Og2mv5CV<(4J6z}_yEM%Buc7l?5Q{n>u- z-Ti*8x<#qlwgSKt)H85j(rJFjOeaZFJKklqx0YdMzY6_X31hx*vnb@vN-nCTh29LTF$H@@W; z+F`^RNOK^Y3QIcwt*6|VT>nrC(7Qsv{x#c}`DJeJAC0#j?Z zl9kc|D|;7j3z}oKoA2dbP^H?a@c9QU|$x%(MA z?d=b|ZaQu)s4LnSNr{U%#o^b`sTs|;h8q_@H}h56o*lL$ugc!P)2w-7Ld;<}y?7_( z5yh}=F?X;Lluo)6A`ZbcS|YYI=7n#S6)!n59r7sAj~+($0F=HbF=S0C-gG988E*Nh zn^Z-9!4$=&oz9u#QDL8$Do5a|>lYa7<5{jFv!e@gN@t3^qswDyJo7EKdE9;fj2Y1n zJA{!2tk#g$ztLW{_q4N!6xRD#n<6K#m^;0D%T(Mr+H9fzGzD0b`cJWLOnOG zf@%Mp0v-^>Axx`xx+DVmEd3Wf;}z+y zPxOCvsAa?g6+A3w!i~n9OSR1;x%A-GGu2jMw`RvayQR;+VCF0y5y4@Z&Gg{9s*1s- zoV~SKE*NI}=9Bly4eKBq>lfUcajJkoVz=m8T=Kc-Dafi`U*V<2To$Q6Id*GM>Noa2 zi>e08*2DMnytvMmebdQmy*48XsOsgC-H99cw4d*xL z+&*mCo4SsBuF4@l#JwHo!F&_j!G73sUs|n~|G?%AaLpVR6dl=+Jjp3@!oHR++4gch z&U#`*=OgsvSmzxlA({;KY|tzeqr(T6CRMerYl>WU>->kT|Ml_6rX$z+05v}jx<1ZY4yDwy2!>U#p z^mEw$)#&yDMxxTMfZ_+b8!a)0NpbeS1VXbKbU)jd!Ueu+O0YSyIb-UE@et?xL*?k5 zFUc&WAvH?gVwPrZgpeZ~d4fFfzem3>@m+EOl=5X?qZPPN7b z-TTVsO!%lGPc=VyWWK@b1;3wxROT}&PpMFlFq0mMkJ3;9unn1HLMJkD5ya2>SPCLO zh%p_#@@bB>bvrIp8FX#4{~(ZBq$K^mN|~SFalT7hO=?B<*RQ^ohgDTAyfu;72lV@SKUO4ews90pr|*cL$S zx;Xp(#E#->4bNAP<(GMKULw#iVg0vD3v+q#7K_yfD9dOog?&{keMwpwq)7;xD`+)( z`}EVxjUW=!$e|GB1!^CubJ}xFcf{YLALA(sO!|FjMZ0D(bzjGA9|?imQJ8f2{=4;1 zJMl1r40rP0b>ub4b+PSD`Y6Z(d;|5{+-+jyHAqpc+(45f%F2$6*l@!-t|!fPl(yZF zpq?|$uN!2)ayeE&BbDju-Fbf9&f$3m0mxNX(v;o&xhk`>a0EZ6gln1clTx-_4Mw1$ zHcNef^%cH4E9P#Nm^`4T4Ik_Y1V!Xs!37mVFrBTR+XjHD^`c=P z>w8xj^q~mPd{*ZS8XF3xtBUxid&&ef@GU0F>I$+PQNHLupZfq*8H3LsVzecLSojd< zf$h=!#ap3;WHtD8`8CB?0}y;~Oq4~~(m4*i_#CCldRwd%`tige+0S!0QV#aSYESmG^PqDuwAWA1-aBIj@NfqfkEU$W@5>&A;l8pf2p^fxxelgzJ% z4}Mt~R0?}l1((lJ;&)LK0i=PRH`pGDpglZY4RBoiZ6>q7!%UG!jeIjuspt#H91S;{ zEpZlZdgb`#S0`=l=p{T{HF~HqRY_r03frrt1iXads#%WXks!&19KaK+VIL*jjcQpI zKZllcTX6|>$F#VpVzpxlS4vHPp5{ag}WA9D^(~;zFgS#V_*BG zXC~?^e)KE{YqxmMxoHg4sDZzUTFflgIWyk#?4Y3CG;6Ttn(>h+9Kd8flhk9j!!@vA zec>T+%~&abpOG-L-%+omZiVY4TFF)`aa`xPXpz1f(Aw!tL2i8?U%yym{rS=kfGPIh zFTrDdF(K1)CBsipS;cIMAHpI51wU994nF+u?+|%=5s-B9`x1?C{FT92{F0ED`)TF<<$Ktt{;By^GyC(Oj5*}2P3F2~a|kODQ9l>k4W4Y3 z^!J%RZ6heatB@Pimm=yfuCu=4t9+8f_n@Woc6P7o!Ma$q zM3+H=N@U~K?JW=+uys>T)PKy=aTO{2;NWgh|GY?A+hCA{R2UZnoRhWkBEY=9;UzCF zrBq4%O47#faY-N7%ke>ZVE=38tmiT$sq;z2%^?ezTOexTR4g%$6Kco6;nJNTrkLnQ z4q!|4XsZuTUM%)JI#0Du9$d@oP&w537dX$LKHMF=Ee0%#Z6=`BG?I3{`Fkc4$YJT2 z^Bzf(O$jQ|w^epK&wDBZBEO^;u?k;Ze6>^0T0OUbS+bELi1bRL-dnSttGo0hd-qBu zv?&8~31#OZX8pG@CtR0jdJR_X=D1e!eV#Q5-a>jUi?hbCM^iykei^UN#7YqUPtYu| zK+-uCC@F+2-VgwLoO9OqXLDO}stjP*qOwfhKcR;~U$6yW+mOpT5#L;78?<*S@i z@`#jPH4AdXIc46AZl6F4eXr6>a1Y6uN;gyEXxcmaG__*{6`7gs2QPkd#7{9a!{_hZ z+rd?4f*MyqTlH7pUzO<)u%<0UPI(aJd1I*qu9*yLJ0_W^4~FE!bJzK{Y@_ZH6dk~~ zb7^sT6v%6&Oz+4cFD;cz4)KA#7^(J@!*G(rSN`2 z={Gcu4eBsUJXW{0b%oOE_FQb(nip|BlKlQeakfj!#;7KcLXd8d5qGH|=%jR`MY@xCSTa`Ytkr1@xI zO+aT#na!?Z`e1i`bIId@A$fz8*gh>s=b7}hkKtU9?U8kLYu;}uXK}MYiMqJ|s4aM} zU`|cpyoPkxUwIe(xO>w`9i3mX`_pZF4rw2+<%#+=zhhkjtf zx6_ddTG`1^kT(;i-=98XSB9EAF*;U=#G34p;Dk%hb#lPX6+&W{z+IywI-lY=`9M!* zXMGpd-%A)+AVxIDi|el#W|ZDP{4K=y-R6)v(vwALCH?&$2t9U5)4x6n{@4l6C4f)R zw3v;FJ#4nN9Q!iQZ;2I?7cZOU!oH7rRlf~``y7azgVxPu7x+@U+Fa;IAIB`0@0Pya zoqmy!9K?2qkP0W+;7Wx9rC-zYCf(dLKs!q_vs1z z;I^>Oi%>&7SfKanZbA@i7Vdpn2oqhS%K3(()4x9|LPrPP6HeMXi7I|VUL=cZLial%(@&@kCr1!DF8P1I z4#nHRQL-u=ySz=v&;nS`6QzwAi3J2VwYkVqhID-{Q}=Y0cJ)PlwQ7Aullf1LCcARk_ugXrzx zEO*T6M}T$omJ#I%%Kk?@f*$VRF|KSegTCw6we6PQdF{CM-yTzRAnb)17h^nC`JZz} zxV7z1?&NYREuiv~txRc{$MZ`wHeDQiZ5KS?cS#Ja{DA&HzOWp7Zpm}cwu(!cAC&ot zv#YQkw&1`Se=pTQ&aN~q=B-rTuGzsbM}p)pi9?3Dh)s{KfobJ2vRW!97L0O=;#3l!RJPq>p z{{8yD__wWYCI8~yd0%hux}^(ou6Quf5({*tart_w&R4@wURpAtoyz_bl zzg=K~-oJ3GzEo>A1eVs8FB>Z2=VrudQ6ZVp2ZTkrQa~Az=S9R0e=6rO;`c^GH)1hA z8UDuS^yzW;I>}W^_gq?XHfWtYU6*e^HhFZ^NB%#*sWACWe&+UQEZnnPBH6sD^qtuB z-#GJ|#^1dG#q;ZtQ`z1eemTB-nWoGM+X+Sb_f)*$t4}slxFNeK^n@6+=CEJI0>+aA zPp3BiHoh)6vVLwjZZ@?Gj$ZJ9ZZq)1kdJldz*6kg__^lgze-%%X{`L zuVN%l^%q?oHzd7AFxv{It&9`6Ha*DPYD>e)Bw{58yJnC!cyA;$|Ek@${u_m9KlxQ$ zMg=3xJ=@x@ale;)520^$1N?qrRX7%xRyXTsUbrZOIHf#~^kP{meZOFAzXhwieRzra zeH5Anbg_61#JuIWJ-HnuQs5tx%?)e?-(>qDC|1d(Imx8>)3?H+I(OY)nI$?mP534E zm%jJqedkuHrC7YyugZ32gwm}PVXqg?*WbZQtiMZ<>}@^%1@~cp0B)U0Xl^h|)b+Ft ziv2Kv3{ptyGcMnall_yglCWUXZt;6rXB0U@?O*8m{_tLDrZN}Hnwn1g#3Q)C5}y~k z^IXa)d-yMzs?PKIbj9pGg@l)ZTB=DPbG@a9>yUd2kKB{l7%HX1mY$vLAI6VHRL=$Z z?}+lA>eJZLq#92%(@*^0%kh=D5YzQvIT+_tGEI2-EUcy}J}W0;q{*eWQ_~LaRl7?BHfqfOmn2;J0mo( z?(%zy+(8PrJZrJ~JE2uWI>+T|QjW$-lPiDCm8dzj7&nTz7|YQt84rW$HJTo4efI8c z@7haz`}){*b<~9c>IU%`S;~`$x9cW4D>k>9i}S9B+y#o!`>ckmlK)0~#A3+H=wZhB zx`Q+wOZSH0^cvqPsqF}ZqN9{{kxpDGa;o?---nYO$f+!Nc)#0?Kx?wK&hLP^#y>Q0 zryHr3Z1YEX7OP@`F=?0Um$#ofd)yTPdt_gYE}&&WRDw=sPntsQco|2HD+Uy})Lv=L zuSmcuNt@IyMTw)up1TZ7LHCYs#G$c91lIc)Z4qz%y@zga&+BsZ`XK%HY-||zrAXQD z%Jw)_0HYFYJi^68o@G7#-iGL8<~Js7mWe-)W*Rr&zJa6AT+&5sJLAu{7xa@hUpK1< zA3aBN#H48+a2Ztz0OIu^N^f~RzW4}%9AEgwT>$)*U|Ez=ngSz-MW)>beVXYS@KBd_FKU_c;AI?3Q*KxcI&`FV{*XB8JtF7d0bVcV z<#dv8aNw2VozfVMfTQf#8PlO3(#jfxw=Dry3{7ul$bnvzG#x(M?&?*o{e1qTPe9N4 z&C=1^OhmoY{@1eXij*+vMb7QR?MI&)Q*>al4Bf4<+ZW?>l8?VCLpy-Sq>(egwQ7TK zVPqO_h2mK{{|1a}bgH)DHUsO%@!tS~HOe{pgf^fx@riRpQd(N)?AJ5Kx@<7fHQ+eK zbvD2m1nSLfYt|qCCrfUe8qJ>bKV)@vz8ekiK?6pk7rB+{JNZG~$Nj1oo{r7&H;14b z1{4OvSUD3yVT+xGlyMBJYNO3bbF9?df%QVBHFNzL3=n=dnxetd<4y@PbT-S*7er|5 z@@g5&lggog9Is_}Ka)!E19w4!i}|CuR-vB_CZn&VsZtb+H}w36Pk_el{i#O!bD8b= zqP!j^0X<4*$Ai*3*W{{5M(`fvew8<+xJI45(vue#DUj7|Jo^tnFr^By7-E;h>JNO?!2mgbW5U6Y~V{=JxzNm z41XNn{#vn*7zA^rrxs`GB&6`e#4RaL^5bO{;u#KN^(sB{#|_QFJ3~7aFmdKZ`IEUI z%f%ZYSwOlDtwmD0SZfr&`Ed~Hpuau{D($z!JpZIK5~(=TmWnFqPnjR1nc+IK_tfGF zk3|$03e)A7B|YM6LH+&>Fdhl`8rlwYRN0!KgHW%hizqJg$VjP;^b%8|_uGe2*n5~F zH9lc$vMnyvn!U29-+QLD`0&|YwCYM+Fd5SyDTmrUIn&#`M~R}c*cu0ld4v1SVAT>s zTYOYuA6MmdF;olh(TaC(j2Kn|mA_P+FtU=SF7gyBi1o3s2n)O*{j_4}-wtzDad&fp zOA#NlNh3B__kOKK)#}*M+uu@d-}^89VLG|8^WBQ;&5K$~&RG8ws~XcNP4xiU>Cccq zKXtGZadm>=J(6E^oV1W(2i`FaH~(`@3i8#=K>YAe@j0+b^KRe%Oi4Hh@+Pi*Q$V-P z`?ue!uH(`YxH~iTt=qA8l$#!bOdJm_+@$$UfHvc5C%paWFHs3daNU9b%I2PU_q#t8 zhpQDOu433pf64Nk-l*o%9SfHO|2!<+3dxHqU+IWHN8B*`5maj5PR$E4^z8mo&(cvr zO`2eR>81*qH~rk=B|7b#w+pD?CJxf1k}XEFI-^i^q#q_T^lkgv(CIV@#o0LSJQkNN zuz_KnTkFx#^cLjxDKk+PnX5J>hJ1#crekZT6y0M5gATHl_?Rh6w%&zId|<~YB}S6wc<50T4USGioJ zs5LxXGPa%rXLhckD;tfyf4-S_@H?$!<-6n^rk_G*Ibr=@7k7vHEBWhuCB_p2z5aom zzqa)rjUiSFIoPf{!ftb?j_@$ZKlvlw_sy)A6>-rrJG}A!V$wwWe!=Jrkz3n+_E*b_ zPxNw!gzmdOJ(#7s0)E|ka+)A5?~imn{u4ZD^AcO(Jv|?Fl4$H!Gih7r0vSea<*ttq zhV!<@y%zjdXPO`LOhpy6<@K0JV#)|_m|efO?j0<+JsGK=yb(Rw=+ilWbEW|b%FDQE8-iXJ+H z%Ac(|TT3S%F`RG`I-{LKh`#}D`gLCl3&pV`g=y;STuW={$GNP2r|b`0(A#hJ4m*zG zLJVZ9rKE>D&!2}_8a?d-T>ne_?U=**s_x%eY{TX$06j6KYof~X*mnYNJVq1MN>y&{ z>DM?8@A8l2XX>PxU&8OnPCek0SV@#LaPo+W8=Op^X}4Bf`mLJYb4~4d=d_rZ^EFJO zYA8sl`ZuE@>SFJ+nHz-ojtrn+PttRty1j%7hmu92^)uf9YRvOkwwiGvjsuqmzs-Y- zS4Amd*=gy+EX!Qj$4mtGmqQyGvG4k>N+#t@pyEWXdvD)ry$8Dvqi*XS!%c_ke`rp2 z>rpL&lqc~}a&MW7O%lxzWYks4C#BIE!m+lD$I-Z8WzS7># z{z2FXUAS983O_~Z?Kx-P7l*$_ypmVO#jebmIZpICjp*gGI{ve(TZ%AQ8+c>DQhxcH z{H7Jq>sC=%a9ov<1P4=dsnNCWAm^ux*)tw4Up-lXmvPrB7hf>Huz|X8BoR$9p-fzY z!bi>8^myJOV}%fUI(<8$)}Jd5?k%7*Tf!3B6J^Nqp^*?j&U$eMqy1hlcdQVZ)2sT~ z_ss`AWF~Y4K#-4bpdorH(et+EpeBC$ckgYPzE;Nc1&57W7Uy=QIoM2~ulSDoqK=q# zAoNIuN{8Hvg}@*Kbci*^LWO0mpC-ddHRI)N?NS!(=qVJIr)hc>KuR@0Gtz2f9TCqk zP-W_TSUk0*R&RVtOtT$vk*z;biy1h4z}nuJXP9a(JG3BMwhXb~fIYZKntFPjwP|DG z98_{CXuYF*fZk_%;BzF9p9%ZKBPEFLytm8wS55lMD*DH>arb-us>$dd5O5)F_*i@I z^dG>nJEBp3M*=+HWUUJft&i~A9VnPWmc`a~3I8e}xJ0UzpG4l^DE461tO7eunc#h? zgle1j^93ez1K|&a<{x*wqhHHpA_Q0zD2LB3zu%q)TG#CcSaH1h#g(TkWG-Z94^Q{QxVo=% zLh^vw76`~-*1e@EwsM{3!MKNGhXY6!AxMkY8?DVIz`*UbMvv2?D?-FVRtd`&Pyo0_OQLgiqj6sxWQY; z(L4Z0WYv9wI|lhVZA4H7Y^k&Xl`c2I%QtdGG9tkZiEB1v`@?S{uh%N6QS_+rDjJVi z{al8OykR7p9B9o$zz`EqKAVkIt+c&GckOc0SGW|jhidv;#z zd1J?gaV3&w4!y&BHckQKfAg~AjG`?ma7THuNtZe1xK9r$A+^iz_;?7In#FnrbJ=>$ zCI0`j08Vzr9O;NJ*bIa_5jbtrs85TKxDx_WNWZhKmG$oQC2&2J)2=csHiA1=&-xEb zdQRj~U&`Z7?9wAW>*ZfevfrX_Vh1t_m3=9XB&#hf~H;Cy!n$w94GT+8%-&ohK9T!1ZX0=u%F+UPYIKFQ%>$B}A@kl5I z62WFcnGD1Le(S9Cy=QOyVrHOqLWA!rh*d7Hv7TOh%R8R37#TOLrHG9ajp&BmRbk$0 zWHPUxzN7E2`t8Fr*L*$Pae*P7#DwoM>JOXCn|i<0c0ut)zu`}MVn3wwrbUqwSng!L z>GyJ!6x=Q{gh+~%4q!U%;Q=pvv?2sI2j{$v0YV=Vpx4vfz$E?CxhF@TR9>AGmsc%O zBVGEKg?SgX@dlcGjqSn;I&GNx65bvu zip6hSOz`69s@Oo3^+pDFs|Jfdq0{4wlo?qETV-N^H*pREGfMPjFOZm36nJeW%^CwL z@RtRS+aBAZ2S?Ume;obim?9T%pnX zCc0CF*gMr~UDX`>2-Fc4A&ty$lG2INA@}l2&$B&HJgX||>^OhM%q9uKdM|d?zoUp) zHu6cpMZBffOb-RSqOyxR8PL5qm|Od61DFu2rI$_i%w$LZ2?H?BoM&@xzjAeyoRd2J z%-SLR6#l-p6CPWo)0k6TciDhsR{VS?u)x4sH;ifL~)pJfwyy5 zJEHYzm15tKOTDN5`^}a8D|h>{*TP^PBnQ@~ly9m(XJ`?wAP1-_fP zQ932F>vqUy_HoFJWB&Te@gRiaed|t`tLl3u#jzA7;(Zk>KX6m*i(^$Lv%tXfpRF8< zZ^a(E-s*gEE`Xh+_-J34<+I4jqY=EvWkt%Gs$JyA4bMD(4x!4nl+Mu1;%~hHL&ALO z7q?1zSNCdM#ZNLAMFzJ9U(L03scr!{po$9uHdmivV{SxS4JB0VUYYae`GUS7zhb=< z4e%%;Eq^=oJ57&thvx#V2FfA?ES&||>UWFFtmi*Je*GUYXe?dQrP)XYvGagMN?GJD z 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

kD-LOUO#GlF=ye( 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 M07*qoM6N<$f~?T_U;qFB literal 0 HcmV?d00001 diff --git a/tests/game-controller-test/proj.ios/Icon-114.png b/tests/game-controller-test/proj.ios/Icon-114.png new file mode 100644 index 0000000000000000000000000000000000000000..c3807861ad29dac52bb809b2a926265b5e17828b GIT binary patch literal 16537 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�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 literal 0 HcmV?d00001 diff --git a/tests/game-controller-test/proj.ios/Icon-144.png b/tests/game-controller-test/proj.ios/Icon-144.png new file mode 100644 index 0000000000000000000000000000000000000000..1526615c02d1a801eb71bceb3e9442e085bcd6e8 GIT binary patch literal 26403 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

f4WQGS(17rS_?rE2wUF8lA<{jFQv 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 literal 0 HcmV?d00001 diff --git a/tests/game-controller-test/proj.ios/Icon-152.png b/tests/game-controller-test/proj.ios/Icon-152.png new file mode 100644 index 0000000000000000000000000000000000000000..8aa82506d0d19d11c2f2f1f14087b2c734371f5f GIT binary patch literal 33665 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 HvylG)n@aO= literal 0 HcmV?d00001 diff --git a/tests/game-controller-test/proj.ios/Icon-57.png b/tests/game-controller-test/proj.ios/Icon-57.png new file mode 100644 index 0000000000000000000000000000000000000000..4fcc6fddffe10a0b6130d498d1857071b59b464d GIT binary patch literal 8960 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

K|Mwy$R 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 literal 0 HcmV?d00001 diff --git a/tests/game-controller-test/proj.ios/Info.plist b/tests/game-controller-test/proj.ios/Info.plist new file mode 100644 index 0000000000..5162d3a8da --- /dev/null +++ b/tests/game-controller-test/proj.ios/Info.plist @@ -0,0 +1,92 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleDisplayName + ${PRODUCT_NAME} + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + Icon-57.png + CFBundleIconFiles + + Icon.png + Icon@2x.png + Icon-57.png + Icon-114.png + Icon-72.png + Icon-144.png + + CFBundleIcons + + CFBundlePrimaryIcon + + CFBundleIconFiles + + Icon-80 + Icon-58 + Icon-120 + Icon.png + Icon@2x.png + Icon-57.png + Icon-114.png + Icon-72.png + Icon-144.png + + UIPrerenderedIcon + + + + CFBundleIcons~ipad + + CFBundlePrimaryIcon + + CFBundleIconFiles + + Icon-58 + Icon-80 + Icon-40 + Icon-100 + Icon-152 + Icon-76 + Icon-120 + Icon.png + Icon@2x.png + Icon-57.png + Icon-114.png + Icon-72.png + Icon-144.png + + UIPrerenderedIcon + + + + CFBundleIdentifier + org.cocos2d-x.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + APPL + CFBundleShortVersionString + + CFBundleSignature + ???? + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + UIPrerenderedIcon + + UIStatusBarHidden + + UISupportedInterfaceOrientations + + UIInterfaceOrientationLandscapeRight + UIInterfaceOrientationLandscapeLeft + + + diff --git a/tests/game-controller-test/proj.ios/RootViewController.h b/tests/game-controller-test/proj.ios/RootViewController.h new file mode 100644 index 0000000000..11dfc4bf88 --- /dev/null +++ b/tests/game-controller-test/proj.ios/RootViewController.h @@ -0,0 +1,33 @@ +/**************************************************************************** + Copyright (c) 2010-2011 cocos2d-x.org + Copyright (c) 2010 Ricardo Quesada + + http://www.cocos2d-x.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + ****************************************************************************/ + +#import + + +@interface RootViewController : UIViewController { + +} +- (BOOL)prefersStatusBarHidden; +@end diff --git a/tests/game-controller-test/proj.ios/RootViewController.mm b/tests/game-controller-test/proj.ios/RootViewController.mm new file mode 100644 index 0000000000..4984955c8a --- /dev/null +++ b/tests/game-controller-test/proj.ios/RootViewController.mm @@ -0,0 +1,97 @@ +/**************************************************************************** + Copyright (c) 2010-2011 cocos2d-x.org + Copyright (c) 2010 Ricardo Quesada + + http://www.cocos2d-x.org + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + ****************************************************************************/ + +#import "RootViewController.h" + + +@implementation RootViewController + +/* + // The designated initializer. Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad. +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { + if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) { + // Custom initialization + } + return self; +} +*/ + +/* +// Implement loadView to create a view hierarchy programmatically, without using a nib. +- (void)loadView { +} +*/ + +/* +// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. +- (void)viewDidLoad { + [super viewDidLoad]; +} + +*/ +// Override to allow orientations other than the default portrait orientation. +// This method is deprecated on ios6 +- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { + return UIInterfaceOrientationIsLandscape( interfaceOrientation ); +} + +// For ios6.0 and higher, use supportedInterfaceOrientations & shouldAutorotate instead +- (NSUInteger) supportedInterfaceOrientations +{ +#ifdef __IPHONE_6_0 + return UIInterfaceOrientationMaskAllButUpsideDown; +#endif +} + +- (BOOL) shouldAutorotate { + return YES; +} + +//fix not hide status on ios7 +- (BOOL)prefersStatusBarHidden +{ + return YES; +} + +- (void)didReceiveMemoryWarning { + // Releases the view if it doesn't have a superview. + [super didReceiveMemoryWarning]; + + // Release any cached data, images, etc that aren't in use. +} + +- (void)viewDidUnload { + [super viewDidUnload]; + // Release any retained subviews of the main view. + // e.g. self.myOutlet = nil; +} + + +- (void)dealloc { + [super dealloc]; +} + + +@end diff --git a/tests/game-controller-test/proj.ios/main.m b/tests/game-controller-test/proj.ios/main.m new file mode 100644 index 0000000000..bd577a036e --- /dev/null +++ b/tests/game-controller-test/proj.ios/main.m @@ -0,0 +1,17 @@ +// +// main.m +// iphone +// +// Created by Walzer on 10-11-16. +// Copyright 2010 __MyCompanyName__. All rights reserved. +// + +#import + +int main(int argc, char *argv[]) { + + NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; + int retVal = UIApplicationMain(argc, argv, nil, @"AppController"); + [pool release]; + return retVal; +} From e3cc234cfbf27b83e15801ba76743e8e71057437 Mon Sep 17 00:00:00 2001 From: lvlong Date: Tue, 1 Jul 2014 11:05:48 +0800 Subject: [PATCH 04/18] Revert "modify BundleReader and the version read" This reverts commit 660c80fac7e47bbf55f7fa0636307dd8c5157f29. --- build/android-build.py | 3 +- build/cocos2d_libs.xcodeproj/project.pbxproj | 76 - build/cocos2d_tests.xcodeproj/project.pbxproj | 312 -- .../game-controller-test IOS.xcscheme | 86 - cocos/2d/CCFastTMXLayer.cpp | 2 +- cocos/2d/cocos2d_wp8.vcxproj | 6 - cocos/2d/cocos2d_wp8.vcxproj.filters | 18 - cocos/3d/CCBundle3D.cpp | 4 +- cocos/Android.mk | 15 +- cocos/base/CCController-android.cpp | 365 --- cocos/base/CCController-iOS.mm | 371 --- cocos/base/CCController.h | 79 - cocos/base/CCControllerAxisInput.cpp | 52 - cocos/base/CCControllerAxisInput.h | 55 - cocos/base/CCControllerButtonInput.cpp | 69 - cocos/base/CCControllerButtonInput.h | 63 - cocos/base/CCControllerDirectionPad.cpp | 74 - cocos/base/CCControllerDirectionPad.h | 61 - cocos/base/CCControllerElement.cpp | 63 - cocos/base/CCControllerElement.h | 64 - cocos/base/CCControllerThumbstick.cpp | 66 - cocos/base/CCControllerThumbstick.h | 61 - cocos/base/CCEvent.h | 3 - cocos/base/CCEventController.cpp | 70 - cocos/base/CCEventController.h | 66 - cocos/base/CCEventDispatcher.cpp | 9 +- cocos/base/CCEventListener.h | 3 - cocos/base/CCEventListenerController.cpp | 122 - cocos/base/CCEventListenerController.h | 65 - cocos/base/CCGameController.h | 39 - cocos/base/CCGamepad.cpp | 146 - cocos/base/CCGamepad.h | 122 - .../ActionTimeline/CCActionTimeline.cpp | 27 +- .../ActionTimeline/CCActionTimeline.h | 10 - cocos/editor-support/cocostudio/Android.mk | 4 +- .../android/ControllerDelegate/.classpath | 9 - .../android/ControllerDelegate/.project | 33 - .../.settings/org.eclipse.jdt.core.prefs | 4 - .../ControllerDelegate/AndroidManifest.xml | 9 - .../android/ControllerDelegate/ant.properties | 17 - .../android/ControllerDelegate/build.xml | 83 - .../ControllerDelegate/proguard-project.txt | 20 - .../android/ControllerDelegate/res/.gitignore | 0 .../cocos2dx/lib/GameControllerDelegate.java | 55 - .../android/ControllerMoga/.classpath | 9 - .../platform/android/ControllerMoga/.project | 33 - .../.settings/org.eclipse.jdt.core.prefs | 4 - .../ControllerMoga/AndroidManifest.xml | 9 - .../android/ControllerMoga/ant.properties | 17 - .../platform/android/ControllerMoga/build.xml | 83 - .../libs/com.bda.controller.jar | Bin 30211 -> 0 bytes .../ControllerMoga/proguard-project.txt | 23 - .../android/ControllerMoga/res/.gitignore | 0 .../org/cocos2dx/lib/GameControllerMoga.java | 191 -- .../android/ControllerNibiru/.classpath | 9 - .../android/ControllerNibiru/.project | 33 - .../.settings/org.eclipse.jdt.core.prefs | 4 - .../ControllerNibiru/AndroidManifest.xml | 9 - .../android/ControllerNibiru/ant.properties | 17 - .../android/ControllerNibiru/build.xml | 83 - .../libs/nibiru_lib_2_1_7.jar | Bin 190102 -> 0 bytes .../ControllerNibiru/proguard-project.txt | 20 - .../android/ControllerNibiru/res/.gitignore | 0 .../cocos2dx/lib/GameControllerNibiru.java | 209 -- .../android/ControllerOuya/.classpath | 9 - .../platform/android/ControllerOuya/.project | 33 - .../.settings/org.eclipse.jdt.core.prefs | 4 - .../ControllerOuya/AndroidManifest.xml | 9 - .../android/ControllerOuya/ant.properties | 17 - .../platform/android/ControllerOuya/build.xml | 83 - .../android/ControllerOuya/libs/ouya-sdk.jar | Bin 167378 -> 0 bytes .../ControllerOuya/proguard-project.txt | 20 - .../android/ControllerOuya/res/.gitignore | 0 .../org/cocos2dx/lib/GameControllerOuya.java | 182 -- cocos/platform/android/java/lint.xml | 10 - .../platform/android/java/project.properties | 3 +- .../org/cocos2dx/lib/Cocos2dxActivity.java | 168 +- .../src/org/cocos2dx/lib/Cocos2dxHelper.java | 2 + .../cocos2dx/lib/GameControllerAdapter.java | 77 - .../cocos2dx/lib/GameControllerHelper.java | 870 ----- .../org/cocos2dx/lib/GameControllerUtils.java | 43 - .../InputManagerCompat.java | 140 - .../inputmanagercompat/InputManagerV16.java | 107 - .../inputmanagercompat/InputManagerV9.java | 211 -- cocos/renderer/CCTexture2D.cpp | 10 +- .../lua-bindings/auto/api/ActionTimeline.lua | 8 - .../auto/lua_cocos2dx_studio_auto.cpp | 72 +- .../auto/lua_cocos2dx_studio_auto.hpp | 1 - cocos/ui/UIScrollView.cpp | 2 +- external/nslog/CCNSLog.h | 24 - external/nslog/ios/CCNSLog.mm | 27 - external/nslog/ios/LoggerClient.h | 248 -- external/nslog/ios/LoggerClient.m | 2866 ----------------- external/nslog/ios/LoggerCommon.h | 113 - external/nslog/ios/NSLogger.h | 92 - templates/cocos2dx_files.json | 65 - .../Classes/SchedulerTest/SchedulerTest.cpp | 1 - .../Resources/Shaders/example_outline.fsh | 8 +- .../cpp-testsComponent.vcxproj | 2 - .../cpp-testsComponent.vcxproj.filters | 6 - .../Classes/AppDelegate.cpp | 102 - .../Classes/AppDelegate.h | 38 - .../game-controller-test/Classes/AppMacros.h | 56 - .../Classes/GameControllerTest.cpp | 259 -- .../Classes/GameControllerTest.h | 35 - .../game-controller-test/Resources/.gitignore | 2 - .../Resources/fonts/Marker Felt.ttf | Bin 25776 -> 0 bytes .../Resources/ipad/CloseNormal.png | Bin 16933 -> 0 bytes .../Resources/ipad/CloseSelected.png | Bin 13008 -> 0 bytes .../Resources/ipadhd/CloseNormal.png | Bin 40292 -> 0 bytes .../Resources/ipadhd/CloseSelected.png | Bin 30769 -> 0 bytes .../Resources/iphone/CloseNormal.png | Bin 6835 -> 0 bytes .../Resources/iphone/CloseSelected.png | Bin 5711 -> 0 bytes .../proj.android/.classpath | 9 - .../proj.android/.project | 43 - .../.settings/org.eclipse.jdt.core.prefs | 4 - .../proj.android/AndroidManifest.xml | 40 - .../proj.android/README.md | 87 - .../proj.android/build-cfg.json | 16 - .../proj.android/build.xml | 85 - .../proj.android/jni/Android.mk | 21 - .../proj.android/jni/Application.mk | 14 - .../proj.android/jni/list.sh | 23 - .../proj.android/jni/main.cpp | 16 - .../proj.android/ndkgdb.sh | 47 - .../proj.android/proguard-project.txt | 20 - .../proj.android/project.properties | 13 - .../proj.android/res/drawable-hdpi/icon.png | Bin 12200 -> 0 bytes .../proj.android/res/drawable-ldpi/icon.png | Bin 5295 -> 0 bytes .../proj.android/res/drawable-mdpi/icon.png | Bin 7590 -> 0 bytes .../proj.android/res/layout/main.xml | 85 - .../proj.android/res/values/strings.xml | 4 - .../game_controller_test/AppActivity.java | 102 - .../proj.ios/AppController.h | 33 - .../proj.ios/AppController.mm | 138 - .../proj.ios/Default-568h@2x.png | Bin 193731 -> 0 bytes .../game-controller-test/proj.ios/Default.png | Bin 89508 -> 0 bytes .../proj.ios/Default@2x.png | Bin 580904 -> 0 bytes .../proj.ios/Icon-100.png | Bin 17283 -> 0 bytes .../proj.ios/Icon-114.png | Bin 16537 -> 0 bytes .../proj.ios/Icon-120.png | Bin 23871 -> 0 bytes .../proj.ios/Icon-144.png | Bin 26403 -> 0 bytes .../proj.ios/Icon-152.png | Bin 33665 -> 0 bytes .../game-controller-test/proj.ios/Icon-40.png | Bin 5478 -> 0 bytes .../game-controller-test/proj.ios/Icon-57.png | Bin 8960 -> 0 bytes .../game-controller-test/proj.ios/Icon-58.png | Bin 8433 -> 0 bytes .../game-controller-test/proj.ios/Icon-72.png | Bin 11453 -> 0 bytes .../game-controller-test/proj.ios/Icon-76.png | Bin 13250 -> 0 bytes .../game-controller-test/proj.ios/Icon-80.png | Bin 12489 -> 0 bytes .../game-controller-test/proj.ios/Info.plist | 92 - .../proj.ios/RootViewController.h | 33 - .../proj.ios/RootViewController.mm | 97 - tests/game-controller-test/proj.ios/main.m | 17 - 153 files changed, 37 insertions(+), 10661 deletions(-) delete mode 100644 build/cocos2d_tests.xcodeproj/xcshareddata/xcschemes/game-controller-test IOS.xcscheme delete mode 100644 cocos/base/CCController-android.cpp delete mode 100644 cocos/base/CCController-iOS.mm delete mode 100644 cocos/base/CCController.h delete mode 100644 cocos/base/CCControllerAxisInput.cpp delete mode 100644 cocos/base/CCControllerAxisInput.h delete mode 100644 cocos/base/CCControllerButtonInput.cpp delete mode 100644 cocos/base/CCControllerButtonInput.h delete mode 100644 cocos/base/CCControllerDirectionPad.cpp delete mode 100644 cocos/base/CCControllerDirectionPad.h delete mode 100644 cocos/base/CCControllerElement.cpp delete mode 100644 cocos/base/CCControllerElement.h delete mode 100644 cocos/base/CCControllerThumbstick.cpp delete mode 100644 cocos/base/CCControllerThumbstick.h delete mode 100644 cocos/base/CCEventController.cpp delete mode 100644 cocos/base/CCEventController.h delete mode 100644 cocos/base/CCEventListenerController.cpp delete mode 100644 cocos/base/CCEventListenerController.h delete mode 100644 cocos/base/CCGameController.h delete mode 100644 cocos/base/CCGamepad.cpp delete mode 100644 cocos/base/CCGamepad.h delete mode 100644 cocos/platform/android/ControllerDelegate/.classpath delete mode 100644 cocos/platform/android/ControllerDelegate/.project delete mode 100644 cocos/platform/android/ControllerDelegate/.settings/org.eclipse.jdt.core.prefs delete mode 100644 cocos/platform/android/ControllerDelegate/AndroidManifest.xml delete mode 100644 cocos/platform/android/ControllerDelegate/ant.properties delete mode 100644 cocos/platform/android/ControllerDelegate/build.xml delete mode 100644 cocos/platform/android/ControllerDelegate/proguard-project.txt delete mode 100644 cocos/platform/android/ControllerDelegate/res/.gitignore delete mode 100644 cocos/platform/android/ControllerDelegate/src/org/cocos2dx/lib/GameControllerDelegate.java delete mode 100644 cocos/platform/android/ControllerMoga/.classpath delete mode 100644 cocos/platform/android/ControllerMoga/.project delete mode 100644 cocos/platform/android/ControllerMoga/.settings/org.eclipse.jdt.core.prefs delete mode 100644 cocos/platform/android/ControllerMoga/AndroidManifest.xml delete mode 100644 cocos/platform/android/ControllerMoga/ant.properties delete mode 100644 cocos/platform/android/ControllerMoga/build.xml delete mode 100644 cocos/platform/android/ControllerMoga/libs/com.bda.controller.jar delete mode 100644 cocos/platform/android/ControllerMoga/proguard-project.txt delete mode 100644 cocos/platform/android/ControllerMoga/res/.gitignore delete mode 100644 cocos/platform/android/ControllerMoga/src/org/cocos2dx/lib/GameControllerMoga.java delete mode 100644 cocos/platform/android/ControllerNibiru/.classpath delete mode 100644 cocos/platform/android/ControllerNibiru/.project delete mode 100644 cocos/platform/android/ControllerNibiru/.settings/org.eclipse.jdt.core.prefs delete mode 100644 cocos/platform/android/ControllerNibiru/AndroidManifest.xml delete mode 100644 cocos/platform/android/ControllerNibiru/ant.properties delete mode 100644 cocos/platform/android/ControllerNibiru/build.xml delete mode 100644 cocos/platform/android/ControllerNibiru/libs/nibiru_lib_2_1_7.jar delete mode 100644 cocos/platform/android/ControllerNibiru/proguard-project.txt delete mode 100644 cocos/platform/android/ControllerNibiru/res/.gitignore delete mode 100644 cocos/platform/android/ControllerNibiru/src/org/cocos2dx/lib/GameControllerNibiru.java delete mode 100644 cocos/platform/android/ControllerOuya/.classpath delete mode 100644 cocos/platform/android/ControllerOuya/.project delete mode 100644 cocos/platform/android/ControllerOuya/.settings/org.eclipse.jdt.core.prefs delete mode 100644 cocos/platform/android/ControllerOuya/AndroidManifest.xml delete mode 100644 cocos/platform/android/ControllerOuya/ant.properties delete mode 100644 cocos/platform/android/ControllerOuya/build.xml delete mode 100644 cocos/platform/android/ControllerOuya/libs/ouya-sdk.jar delete mode 100644 cocos/platform/android/ControllerOuya/proguard-project.txt delete mode 100644 cocos/platform/android/ControllerOuya/res/.gitignore delete mode 100644 cocos/platform/android/ControllerOuya/src/org/cocos2dx/lib/GameControllerOuya.java delete mode 100644 cocos/platform/android/java/lint.xml delete mode 100644 cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerAdapter.java delete mode 100644 cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerHelper.java delete mode 100644 cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerUtils.java delete mode 100644 cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerCompat.java delete mode 100644 cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerV16.java delete mode 100644 cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerV9.java delete mode 100644 external/nslog/CCNSLog.h delete mode 100644 external/nslog/ios/CCNSLog.mm delete mode 100644 external/nslog/ios/LoggerClient.h delete mode 100644 external/nslog/ios/LoggerClient.m delete mode 100644 external/nslog/ios/LoggerCommon.h delete mode 100644 external/nslog/ios/NSLogger.h delete mode 100644 tests/game-controller-test/Classes/AppDelegate.cpp delete mode 100644 tests/game-controller-test/Classes/AppDelegate.h delete mode 100644 tests/game-controller-test/Classes/AppMacros.h delete mode 100644 tests/game-controller-test/Classes/GameControllerTest.cpp delete mode 100644 tests/game-controller-test/Classes/GameControllerTest.h delete mode 100644 tests/game-controller-test/Resources/.gitignore delete mode 100644 tests/game-controller-test/Resources/fonts/Marker Felt.ttf delete mode 100644 tests/game-controller-test/Resources/ipad/CloseNormal.png delete mode 100644 tests/game-controller-test/Resources/ipad/CloseSelected.png delete mode 100644 tests/game-controller-test/Resources/ipadhd/CloseNormal.png delete mode 100644 tests/game-controller-test/Resources/ipadhd/CloseSelected.png delete mode 100644 tests/game-controller-test/Resources/iphone/CloseNormal.png delete mode 100644 tests/game-controller-test/Resources/iphone/CloseSelected.png delete mode 100644 tests/game-controller-test/proj.android/.classpath delete mode 100644 tests/game-controller-test/proj.android/.project delete mode 100644 tests/game-controller-test/proj.android/.settings/org.eclipse.jdt.core.prefs delete mode 100644 tests/game-controller-test/proj.android/AndroidManifest.xml delete mode 100644 tests/game-controller-test/proj.android/README.md delete mode 100644 tests/game-controller-test/proj.android/build-cfg.json delete mode 100644 tests/game-controller-test/proj.android/build.xml delete mode 100644 tests/game-controller-test/proj.android/jni/Android.mk delete mode 100644 tests/game-controller-test/proj.android/jni/Application.mk delete mode 100644 tests/game-controller-test/proj.android/jni/list.sh delete mode 100644 tests/game-controller-test/proj.android/jni/main.cpp delete mode 100644 tests/game-controller-test/proj.android/ndkgdb.sh delete mode 100644 tests/game-controller-test/proj.android/proguard-project.txt delete mode 100644 tests/game-controller-test/proj.android/project.properties delete mode 100644 tests/game-controller-test/proj.android/res/drawable-hdpi/icon.png delete mode 100644 tests/game-controller-test/proj.android/res/drawable-ldpi/icon.png delete mode 100644 tests/game-controller-test/proj.android/res/drawable-mdpi/icon.png delete mode 100644 tests/game-controller-test/proj.android/res/layout/main.xml delete mode 100644 tests/game-controller-test/proj.android/res/values/strings.xml delete mode 100644 tests/game-controller-test/proj.android/src/org/cocos2dx/game_controller_test/AppActivity.java delete mode 100644 tests/game-controller-test/proj.ios/AppController.h delete mode 100644 tests/game-controller-test/proj.ios/AppController.mm delete mode 100644 tests/game-controller-test/proj.ios/Default-568h@2x.png delete mode 100644 tests/game-controller-test/proj.ios/Default.png delete mode 100644 tests/game-controller-test/proj.ios/Default@2x.png delete mode 100644 tests/game-controller-test/proj.ios/Icon-100.png delete mode 100644 tests/game-controller-test/proj.ios/Icon-114.png delete mode 100644 tests/game-controller-test/proj.ios/Icon-120.png delete mode 100644 tests/game-controller-test/proj.ios/Icon-144.png delete mode 100644 tests/game-controller-test/proj.ios/Icon-152.png delete mode 100644 tests/game-controller-test/proj.ios/Icon-40.png delete mode 100644 tests/game-controller-test/proj.ios/Icon-57.png delete mode 100644 tests/game-controller-test/proj.ios/Icon-58.png delete mode 100644 tests/game-controller-test/proj.ios/Icon-72.png delete mode 100644 tests/game-controller-test/proj.ios/Icon-76.png delete mode 100644 tests/game-controller-test/proj.ios/Icon-80.png delete mode 100644 tests/game-controller-test/proj.ios/Info.plist delete mode 100644 tests/game-controller-test/proj.ios/RootViewController.h delete mode 100644 tests/game-controller-test/proj.ios/RootViewController.mm delete mode 100644 tests/game-controller-test/proj.ios/main.m diff --git a/build/android-build.py b/build/android-build.py index 9cccd91fc8..be096e4263 100755 --- a/build/android-build.py +++ b/build/android-build.py @@ -7,7 +7,7 @@ import os, os.path import shutil from optparse import OptionParser -CPP_SAMPLES = ['cpp-empty-test', 'cpp-tests', 'game-controller-test'] +CPP_SAMPLES = ['cpp-empty-test', 'cpp-tests'] LUA_SAMPLES = ['lua-empty-test', 'lua-tests'] ALL_SAMPLES = CPP_SAMPLES + LUA_SAMPLES @@ -216,7 +216,6 @@ def build_samples(target,ndk_build_param,android_platform,build_mode): target_proj_path_map = { "cpp-empty-test": "tests/cpp-empty-test/proj.android", - "game-controller-test": "tests/game-controller-test/proj.android", "cpp-tests": "tests/cpp-tests/proj.android", "lua-empty-test": "tests/lua-empty-test/project/proj.android", "lua-tests": "tests/lua-tests/project/proj.android" diff --git a/build/cocos2d_libs.xcodeproj/project.pbxproj b/build/cocos2d_libs.xcodeproj/project.pbxproj index ecf07d8ded..267df1f48b 100644 --- a/build/cocos2d_libs.xcodeproj/project.pbxproj +++ b/build/cocos2d_libs.xcodeproj/project.pbxproj @@ -1023,25 +1023,6 @@ 2AC795EA1862875D005EC8E1 /* BoundingBoxAttachment.h in Headers */ = {isa = PBXBuildFile; fileRef = 2AC795D418628672005EC8E1 /* BoundingBoxAttachment.h */; }; 373B9129187891F400198F86 /* CCComBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 373B910718787C0B00198F86 /* CCComBase.h */; }; 373B912A187891FB00198F86 /* CCComBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 373B910718787C0B00198F86 /* CCComBase.h */; }; - 3E6176681960F89B00DE83F5 /* CCController-iOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176551960F89B00DE83F5 /* CCController-iOS.mm */; }; - 3E6176691960F89B00DE83F5 /* CCController.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E6176561960F89B00DE83F5 /* CCController.h */; }; - 3E61766A1960F89B00DE83F5 /* CCControllerAxisInput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176571960F89B00DE83F5 /* CCControllerAxisInput.cpp */; }; - 3E61766B1960F89B00DE83F5 /* CCControllerAxisInput.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E6176581960F89B00DE83F5 /* CCControllerAxisInput.h */; }; - 3E61766C1960F89B00DE83F5 /* CCControllerButtonInput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176591960F89B00DE83F5 /* CCControllerButtonInput.cpp */; }; - 3E61766D1960F89B00DE83F5 /* CCControllerButtonInput.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E61765A1960F89B00DE83F5 /* CCControllerButtonInput.h */; }; - 3E61766E1960F89B00DE83F5 /* CCControllerDirectionPad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E61765B1960F89B00DE83F5 /* CCControllerDirectionPad.cpp */; }; - 3E61766F1960F89B00DE83F5 /* CCControllerDirectionPad.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E61765C1960F89B00DE83F5 /* CCControllerDirectionPad.h */; }; - 3E6176701960F89B00DE83F5 /* CCControllerElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E61765D1960F89B00DE83F5 /* CCControllerElement.cpp */; }; - 3E6176711960F89B00DE83F5 /* CCControllerElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E61765E1960F89B00DE83F5 /* CCControllerElement.h */; }; - 3E6176721960F89B00DE83F5 /* CCControllerThumbstick.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E61765F1960F89B00DE83F5 /* CCControllerThumbstick.cpp */; }; - 3E6176731960F89B00DE83F5 /* CCControllerThumbstick.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E6176601960F89B00DE83F5 /* CCControllerThumbstick.h */; }; - 3E6176741960F89B00DE83F5 /* CCEventController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176611960F89B00DE83F5 /* CCEventController.cpp */; }; - 3E6176751960F89B00DE83F5 /* CCEventController.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E6176621960F89B00DE83F5 /* CCEventController.h */; }; - 3E6176761960F89B00DE83F5 /* CCEventListenerController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176631960F89B00DE83F5 /* CCEventListenerController.cpp */; }; - 3E6176771960F89B00DE83F5 /* CCEventListenerController.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E6176641960F89B00DE83F5 /* CCEventListenerController.h */; }; - 3E6176781960F89B00DE83F5 /* CCGameController.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E6176651960F89B00DE83F5 /* CCGameController.h */; }; - 3E6176791960F89B00DE83F5 /* CCGamepad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176661960F89B00DE83F5 /* CCGamepad.cpp */; }; - 3E61767A1960F89B00DE83F5 /* CCGamepad.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E6176671960F89B00DE83F5 /* CCGamepad.h */; }; 3EA0FB6B191C841D00B170C8 /* UIVideoPlayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EA0FB69191C841D00B170C8 /* UIVideoPlayer.h */; }; 3EA0FB6C191C841D00B170C8 /* UIVideoPlayerIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3EA0FB6A191C841D00B170C8 /* UIVideoPlayerIOS.mm */; }; 3EA47870195478E00068D9D1 /* CCBundleReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3EA4786E195478E00068D9D1 /* CCBundleReader.cpp */; }; @@ -2368,25 +2349,6 @@ 37936A3C1869B76800E974DD /* reader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = reader.h; sourceTree = ""; }; 37936A3D1869B76800E974DD /* stringbuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stringbuffer.h; sourceTree = ""; }; 37936A3E1869B76800E974DD /* writer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = writer.h; sourceTree = ""; }; - 3E6176551960F89B00DE83F5 /* CCController-iOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = "CCController-iOS.mm"; path = "../base/CCController-iOS.mm"; sourceTree = ""; }; - 3E6176561960F89B00DE83F5 /* CCController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCController.h; path = ../base/CCController.h; sourceTree = ""; }; - 3E6176571960F89B00DE83F5 /* CCControllerAxisInput.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CCControllerAxisInput.cpp; path = ../base/CCControllerAxisInput.cpp; sourceTree = ""; }; - 3E6176581960F89B00DE83F5 /* CCControllerAxisInput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCControllerAxisInput.h; path = ../base/CCControllerAxisInput.h; sourceTree = ""; }; - 3E6176591960F89B00DE83F5 /* CCControllerButtonInput.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CCControllerButtonInput.cpp; path = ../base/CCControllerButtonInput.cpp; sourceTree = ""; }; - 3E61765A1960F89B00DE83F5 /* CCControllerButtonInput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCControllerButtonInput.h; path = ../base/CCControllerButtonInput.h; sourceTree = ""; }; - 3E61765B1960F89B00DE83F5 /* CCControllerDirectionPad.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CCControllerDirectionPad.cpp; path = ../base/CCControllerDirectionPad.cpp; sourceTree = ""; }; - 3E61765C1960F89B00DE83F5 /* CCControllerDirectionPad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCControllerDirectionPad.h; path = ../base/CCControllerDirectionPad.h; sourceTree = ""; }; - 3E61765D1960F89B00DE83F5 /* CCControllerElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CCControllerElement.cpp; path = ../base/CCControllerElement.cpp; sourceTree = ""; }; - 3E61765E1960F89B00DE83F5 /* CCControllerElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCControllerElement.h; path = ../base/CCControllerElement.h; sourceTree = ""; }; - 3E61765F1960F89B00DE83F5 /* CCControllerThumbstick.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CCControllerThumbstick.cpp; path = ../base/CCControllerThumbstick.cpp; sourceTree = ""; }; - 3E6176601960F89B00DE83F5 /* CCControllerThumbstick.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCControllerThumbstick.h; path = ../base/CCControllerThumbstick.h; sourceTree = ""; }; - 3E6176611960F89B00DE83F5 /* CCEventController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CCEventController.cpp; path = ../base/CCEventController.cpp; sourceTree = ""; }; - 3E6176621960F89B00DE83F5 /* CCEventController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCEventController.h; path = ../base/CCEventController.h; sourceTree = ""; }; - 3E6176631960F89B00DE83F5 /* CCEventListenerController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CCEventListenerController.cpp; path = ../base/CCEventListenerController.cpp; sourceTree = ""; }; - 3E6176641960F89B00DE83F5 /* CCEventListenerController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCEventListenerController.h; path = ../base/CCEventListenerController.h; sourceTree = ""; }; - 3E6176651960F89B00DE83F5 /* CCGameController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCGameController.h; path = ../base/CCGameController.h; sourceTree = ""; }; - 3E6176661960F89B00DE83F5 /* CCGamepad.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CCGamepad.cpp; path = ../base/CCGamepad.cpp; sourceTree = ""; }; - 3E6176671960F89B00DE83F5 /* CCGamepad.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CCGamepad.h; path = ../base/CCGamepad.h; sourceTree = ""; }; 3EA0FB69191C841D00B170C8 /* UIVideoPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIVideoPlayer.h; sourceTree = ""; }; 3EA0FB6A191C841D00B170C8 /* UIVideoPlayerIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = UIVideoPlayerIOS.mm; sourceTree = ""; }; 3EA4786E195478E00068D9D1 /* CCBundleReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CCBundleReader.cpp; sourceTree = ""; }; @@ -3187,25 +3149,6 @@ 1A5700A2180BC5E60088DEC7 /* base */ = { isa = PBXGroup; children = ( - 3E6176551960F89B00DE83F5 /* CCController-iOS.mm */, - 3E6176561960F89B00DE83F5 /* CCController.h */, - 3E6176571960F89B00DE83F5 /* CCControllerAxisInput.cpp */, - 3E6176581960F89B00DE83F5 /* CCControllerAxisInput.h */, - 3E6176591960F89B00DE83F5 /* CCControllerButtonInput.cpp */, - 3E61765A1960F89B00DE83F5 /* CCControllerButtonInput.h */, - 3E61765B1960F89B00DE83F5 /* CCControllerDirectionPad.cpp */, - 3E61765C1960F89B00DE83F5 /* CCControllerDirectionPad.h */, - 3E61765D1960F89B00DE83F5 /* CCControllerElement.cpp */, - 3E61765E1960F89B00DE83F5 /* CCControllerElement.h */, - 3E61765F1960F89B00DE83F5 /* CCControllerThumbstick.cpp */, - 3E6176601960F89B00DE83F5 /* CCControllerThumbstick.h */, - 3E6176611960F89B00DE83F5 /* CCEventController.cpp */, - 3E6176621960F89B00DE83F5 /* CCEventController.h */, - 3E6176631960F89B00DE83F5 /* CCEventListenerController.cpp */, - 3E6176641960F89B00DE83F5 /* CCEventListenerController.h */, - 3E6176651960F89B00DE83F5 /* CCGameController.h */, - 3E6176661960F89B00DE83F5 /* CCGamepad.cpp */, - 3E6176671960F89B00DE83F5 /* CCGamepad.h */, 299754F2193EC95400A54AC3 /* ObjectFactory.cpp */, 299754F3193EC95400A54AC3 /* ObjectFactory.h */, 50ABBDC11925AB6E00A911A9 /* atitc.cpp */, @@ -5571,7 +5514,6 @@ 1A570068180BC5A10088DEC7 /* CCActionCamera.h in Headers */, 1A57006C180BC5A10088DEC7 /* CCActionCatmullRom.h in Headers */, 5034CA3A191D591100CE6051 /* ccShader_PositionColorLengthTexture.frag in Headers */, - 3E61766B1960F89B00DE83F5 /* CCControllerAxisInput.h in Headers */, 50ABBEC41925AB6F00A911A9 /* CCVector.h in Headers */, 50ABBE501925AB6F00A911A9 /* CCEventCustom.h in Headers */, 1A570070180BC5A10088DEC7 /* CCActionEase.h in Headers */, @@ -5582,7 +5524,6 @@ 50ABBD631925AB0000A911A9 /* Vec4.h in Headers */, 1A01C68918F57BE800EFE3A6 /* CCBool.h in Headers */, 1A57007C180BC5A10088DEC7 /* CCActionInstant.h in Headers */, - 3E6176751960F89B00DE83F5 /* CCEventController.h in Headers */, 50ABBE781925AB6F00A911A9 /* CCEventListenerTouch.h in Headers */, B2D3D3BA1948613300BA4831 /* CCBundle3DData.h in Headers */, B37510861823ACA100B3BA6A /* CCPhysicsWorldInfo_chipmunk.h in Headers */, @@ -5608,7 +5549,6 @@ 50ABC0101926664800A911A9 /* CCFileUtils.h in Headers */, 2905FA4318CF08D100240AA3 /* CocosGUI.h in Headers */, 5034CA30191D591100CE6051 /* ccShader_PositionTexture.vert in Headers */, - 3E6176711960F89B00DE83F5 /* CCControllerElement.h in Headers */, 50E6D33718E174130051CA34 /* UIHBox.h in Headers */, 1A570111180BC8EE0088DEC7 /* CCDrawingPrimitives.h in Headers */, 50E6D33F18E174130051CA34 /* UIVBox.h in Headers */, @@ -5676,7 +5616,6 @@ 5034CA2C191D591100CE6051 /* ccShader_PositionTextureA8Color.vert in Headers */, 50ABBE981925AB6F00A911A9 /* CCProtocols.h in Headers */, 2905FA8B18CF08D100240AA3 /* UITextField.h in Headers */, - 3E6176731960F89B00DE83F5 /* CCControllerThumbstick.h in Headers */, 50FCEBA618C72017004AD434 /* ListViewReader.h in Headers */, 50ABBD431925AB0000A911A9 /* CCMathBase.h in Headers */, 50ABBE441925AB6F00A911A9 /* CCDirector.h in Headers */, @@ -5695,7 +5634,6 @@ 50ABBE741925AB6F00A911A9 /* CCEventListenerMouse.h in Headers */, 2905FA8F18CF08D100240AA3 /* UIWidget.h in Headers */, 50FCEB9A18C72017004AD434 /* CheckBoxReader.h in Headers */, - 3E61766D1960F89B00DE83F5 /* CCControllerButtonInput.h in Headers */, 1A5702CB180BCE370088DEC7 /* CCTextFieldTTF.h in Headers */, 2905FA7F18CF08D100240AA3 /* UIText.h in Headers */, 1A5702ED180BCE750088DEC7 /* CCTileMapAtlas.h in Headers */, @@ -5708,7 +5646,6 @@ 1A570303180BCE890088DEC7 /* CCParallaxNode.h in Headers */, 50ABBE2A1925AB6F00A911A9 /* CCAutoreleasePool.h in Headers */, 1A57030F180BCF190088DEC7 /* CCComponent.h in Headers */, - 3E61766F1960F89B00DE83F5 /* CCControllerDirectionPad.h in Headers */, 1A570313180BCF190088DEC7 /* CCComponentContainer.h in Headers */, 0634A4DF194B19E400E608AF /* CCNodeReader.h in Headers */, 1A087AEB1860400400196EF5 /* edtaa3func.h in Headers */, @@ -5764,17 +5701,14 @@ 1AD71DF2180E26E600808F54 /* CCNode+CCBRelativePositioning.h in Headers */, 50ABBDB01925AB4100A911A9 /* CCRenderer.h in Headers */, B29594B71926D5EC003EEF37 /* CCMeshCommand.h in Headers */, - 3E6176771960F89B00DE83F5 /* CCEventListenerController.h in Headers */, 1AD71DF6180E26E600808F54 /* CCNodeLoader.h in Headers */, 50ABBD861925AB4100A911A9 /* CCBatchCommand.h in Headers */, 1AD71DFA180E26E600808F54 /* CCNodeLoaderLibrary.h in Headers */, 50ABBE481925AB6F00A911A9 /* CCEvent.h in Headers */, 5027253B190BF1B900AAF4ED /* cocos2d.h in Headers */, B29594CD1926D61F003EEF37 /* CCSprite3D.h in Headers */, - 3E6176691960F89B00DE83F5 /* CCController.h in Headers */, 1AD71DFC180E26E600808F54 /* CCNodeLoaderListener.h in Headers */, 3EA0FB6B191C841D00B170C8 /* UIVideoPlayer.h in Headers */, - 3E6176781960F89B00DE83F5 /* CCGameController.h in Headers */, 50ABBE641925AB6F00A911A9 /* CCEventListenerAcceleration.h in Headers */, 1AD71E00180E26E600808F54 /* CCParticleSystemQuadLoader.h in Headers */, 1AD71E04180E26E600808F54 /* CCScale9SpriteLoader.h in Headers */, @@ -5815,7 +5749,6 @@ 1AD71ED0180E26E600808F54 /* Skeleton.h in Headers */, 50ABBE541925AB6F00A911A9 /* CCEventDispatcher.h in Headers */, 1AD71ED4180E26E600808F54 /* SkeletonData.h in Headers */, - 3E61767A1960F89B00DE83F5 /* CCGamepad.h in Headers */, 1AD71ED8180E26E600808F54 /* SkeletonJson.h in Headers */, 1A12775A18DFCC4F0005F345 /* CCTweenFunction.h in Headers */, 1AD71EDC180E26E600808F54 /* Skin.h in Headers */, @@ -6749,10 +6682,8 @@ 1A570072180BC5A10088DEC7 /* CCActionGrid.cpp in Sources */, 50ABBE621925AB6F00A911A9 /* CCEventListenerAcceleration.cpp in Sources */, B37510811823ACA100B3BA6A /* CCPhysicsJointInfo_chipmunk.cpp in Sources */, - 3E6176681960F89B00DE83F5 /* CCController-iOS.mm in Sources */, 2905FA8D18CF08D100240AA3 /* UIWidget.cpp in Sources */, 29E99D1F1957BA7000046604 /* CocoLoader.cpp in Sources */, - 3E61766C1960F89B00DE83F5 /* CCControllerButtonInput.cpp in Sources */, B29594B51926D5EC003EEF37 /* CCMeshCommand.cpp in Sources */, 0634A4D5194B19E400E608AF /* CCActionTimelineCache.cpp in Sources */, 50ABBE7E1925AB6F00A911A9 /* CCEventTouch.cpp in Sources */, @@ -6831,13 +6762,11 @@ 1A570215180BCBF40088DEC7 /* CCRenderTexture.cpp in Sources */, 1A570222180BCC1A0088DEC7 /* CCParticleBatchNode.cpp in Sources */, 1A570226180BCC1A0088DEC7 /* CCParticleExamples.cpp in Sources */, - 3E6176791960F89B00DE83F5 /* CCGamepad.cpp in Sources */, 1A57022A180BCC1A0088DEC7 /* CCParticleSystem.cpp in Sources */, B24AA98A195A675C007B4522 /* CCFastTMXTiledMap.cpp in Sources */, B24AA986195A675C007B4522 /* CCFastTMXLayer.cpp in Sources */, 1A57022E180BCC1A0088DEC7 /* CCParticleSystemQuad.cpp in Sources */, 50ABBD901925AB4100A911A9 /* CCGLProgramCache.cpp in Sources */, - 3E6176701960F89B00DE83F5 /* CCControllerElement.cpp in Sources */, 2905FA5718CF08D100240AA3 /* UILayout.cpp in Sources */, 2905FA7D18CF08D100240AA3 /* UIText.cpp in Sources */, 50E6D33D18E174130051CA34 /* UIVBox.cpp in Sources */, @@ -6853,7 +6782,6 @@ 1A5702C9180BCE370088DEC7 /* CCTextFieldTTF.cpp in Sources */, 1A5702EB180BCE750088DEC7 /* CCTileMapAtlas.cpp in Sources */, 1A5702EF180BCE750088DEC7 /* CCTMXLayer.cpp in Sources */, - 3E61766A1960F89B00DE83F5 /* CCControllerAxisInput.cpp in Sources */, 1A5702F3180BCE750088DEC7 /* CCTMXObjectGroup.cpp in Sources */, 50ABBD3D1925AB0000A911A9 /* CCGeometry.cpp in Sources */, 50ABBECC1925AB6F00A911A9 /* s3tc.cpp in Sources */, @@ -6948,7 +6876,6 @@ 50ABBEA41925AB6F00A911A9 /* CCScriptSupport.cpp in Sources */, 1AD71EDE180E26E600808F54 /* Slot.cpp in Sources */, 1AD71EE2180E26E600808F54 /* SlotData.cpp in Sources */, - 3E6176761960F89B00DE83F5 /* CCEventListenerController.cpp in Sources */, 503DD8E71926736A00CD74DD /* CCEAGLView.mm in Sources */, 1AD71EE6180E26E600808F54 /* spine-cocos2dx.cpp in Sources */, 2905FA8518CF08D100240AA3 /* UITextBMFont.cpp in Sources */, @@ -6964,9 +6891,7 @@ 50E6D33518E174130051CA34 /* UIHBox.cpp in Sources */, 50FCEBB018C72017004AD434 /* ScrollViewReader.cpp in Sources */, 50ABBE9A1925AB6F00A911A9 /* CCRef.cpp in Sources */, - 3E6176741960F89B00DE83F5 /* CCEventController.cpp in Sources */, 50ABBE361925AB6F00A911A9 /* CCConsole.cpp in Sources */, - 3E61766E1960F89B00DE83F5 /* CCControllerDirectionPad.cpp in Sources */, 503DD8E51926736A00CD74DD /* CCDirectorCaller.mm in Sources */, 50ABBD5D1925AB0000A911A9 /* Vec3.cpp in Sources */, 50ABC0121926664800A911A9 /* CCGLViewProtocol.cpp in Sources */, @@ -7005,7 +6930,6 @@ 1A8C59D4180E930E00EF57C3 /* CCDecorativeDisplay.cpp in Sources */, 1A8C59D8180E930E00EF57C3 /* CCDisplayFactory.cpp in Sources */, 46C02E0818E91123004B7456 /* xxhash.c in Sources */, - 3E6176721960F89B00DE83F5 /* CCControllerThumbstick.cpp in Sources */, 50ABBED01925AB6F00A911A9 /* TGAlib.cpp in Sources */, 2905FA4118CF08D100240AA3 /* CocosGUI.cpp in Sources */, 1A01C68518F57BE800EFE3A6 /* CCArray.cpp in Sources */, diff --git a/build/cocos2d_tests.xcodeproj/project.pbxproj b/build/cocos2d_tests.xcodeproj/project.pbxproj index 2c889dbc87..b1352e8df9 100644 --- a/build/cocos2d_tests.xcodeproj/project.pbxproj +++ b/build/cocos2d_tests.xcodeproj/project.pbxproj @@ -809,45 +809,6 @@ 38FA2E74194AEBE100FF2BE4 /* ActionTimelineTestScene.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 38FA2E71194AEBE100FF2BE4 /* ActionTimelineTestScene.cpp */; }; 38FA2E76194AECF800FF2BE4 /* ActionTimeline in Resources */ = {isa = PBXBuildFile; fileRef = 38FA2E75194AECF800FF2BE4 /* ActionTimeline */; }; 38FA2E77194AECF800FF2BE4 /* ActionTimeline in Resources */ = {isa = PBXBuildFile; fileRef = 38FA2E75194AECF800FF2BE4 /* ActionTimeline */; }; - 3E6177211960FAED00DE83F5 /* libchipmunk iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 46A15FC21807A4F9005B8026 /* libchipmunk iOS.a */; }; - 3E6177221960FAED00DE83F5 /* libcocos2dx iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 46A15FBE1807A4F9005B8026 /* libcocos2dx iOS.a */; }; - 3E6177231960FAED00DE83F5 /* libCocosDenshion iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 46A15FC61807A4F9005B8026 /* libCocosDenshion iOS.a */; }; - 3E6177241960FAED00DE83F5 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D60AE43317F7FFE100757E4B /* CoreMotion.framework */; }; - 3E6177251960FAED00DE83F5 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 15C6482E165F399D007D4F18 /* libz.dylib */; }; - 3E6177261960FAED00DE83F5 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 15C64832165F3AFD007D4F18 /* Foundation.framework */; }; - 3E6177271960FAED00DE83F5 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 15C6482C165F3988007D4F18 /* AudioToolbox.framework */; }; - 3E6177281960FAED00DE83F5 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 15C64828165F396B007D4F18 /* OpenAL.framework */; }; - 3E6177291960FAED00DE83F5 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 15C64826165F394E007D4F18 /* QuartzCore.framework */; }; - 3E61772A1960FAED00DE83F5 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A07A52BB1783AEB80073F6A7 /* CoreGraphics.framework */; }; - 3E61772B1960FAED00DE83F5 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A07A52B91783AE900073F6A7 /* OpenGLES.framework */; }; - 3E61772C1960FAED00DE83F5 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A07A52B71783AE6D0073F6A7 /* UIKit.framework */; }; - 3E61772D1960FAED00DE83F5 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A07A52C11783B01F0073F6A7 /* AVFoundation.framework */; }; - 3E6177331960FB3500DE83F5 /* AppDelegate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176B71960FA6300DE83F5 /* AppDelegate.cpp */; }; - 3E6177341960FB3900DE83F5 /* GameControllerTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176BA1960FA6300DE83F5 /* GameControllerTest.cpp */; }; - 3E6177351960FB4000DE83F5 /* AppController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176DE1960FA6300DE83F5 /* AppController.mm */; }; - 3E6177361960FB5A00DE83F5 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176EE1960FA6300DE83F5 /* main.m */; }; - 3E6177371960FB5E00DE83F5 /* RootViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3E6176F01960FA6300DE83F5 /* RootViewController.mm */; }; - 3E6177391960FBB800DE83F5 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E6177381960FBB800DE83F5 /* SystemConfiguration.framework */; }; - 3E61773B1960FBC300DE83F5 /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E61773A1960FBC300DE83F5 /* CFNetwork.framework */; }; - 3E61773D1960FBD200DE83F5 /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E61773C1960FBD100DE83F5 /* GameController.framework */; }; - 3E6177F41960FEFE00DE83F5 /* fonts in Resources */ = {isa = PBXBuildFile; fileRef = 3E6177F01960FEFE00DE83F5 /* fonts */; }; - 3E6177F51960FEFE00DE83F5 /* ipad in Resources */ = {isa = PBXBuildFile; fileRef = 3E6177F11960FEFE00DE83F5 /* ipad */; }; - 3E6177F61960FEFE00DE83F5 /* ipadhd in Resources */ = {isa = PBXBuildFile; fileRef = 3E6177F21960FEFE00DE83F5 /* ipadhd */; }; - 3E6177F71960FEFE00DE83F5 /* iphone in Resources */ = {isa = PBXBuildFile; fileRef = 3E6177F31960FEFE00DE83F5 /* iphone */; }; - 3E6177F81960FF1800DE83F5 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6176DF1960FA6300DE83F5 /* Default-568h@2x.png */; }; - 3E6177F91960FF1800DE83F5 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6176E01960FA6300DE83F5 /* Default.png */; }; - 3E6177FA1960FF1800DE83F5 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6176E11960FA6300DE83F5 /* Default@2x.png */; }; - 3E6177FB1960FF1800DE83F5 /* Icon-100.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6176E21960FA6300DE83F5 /* Icon-100.png */; }; - 3E6177FC1960FF1800DE83F5 /* Icon-114.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6176E31960FA6300DE83F5 /* Icon-114.png */; }; - 3E6177FD1960FF1800DE83F5 /* Icon-120.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6176E41960FA6300DE83F5 /* Icon-120.png */; }; - 3E6177FE1960FF1800DE83F5 /* Icon-144.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6176E51960FA6300DE83F5 /* Icon-144.png */; }; - 3E6177FF1960FF1800DE83F5 /* Icon-152.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6176E61960FA6300DE83F5 /* Icon-152.png */; }; - 3E6178001960FF1800DE83F5 /* Icon-40.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6176E71960FA6300DE83F5 /* Icon-40.png */; }; - 3E6178011960FF1800DE83F5 /* Icon-57.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6176E81960FA6300DE83F5 /* Icon-57.png */; }; - 3E6178021960FF1800DE83F5 /* Icon-58.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6176E91960FA6300DE83F5 /* Icon-58.png */; }; - 3E6178031960FF1800DE83F5 /* Icon-72.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6176EA1960FA6300DE83F5 /* Icon-72.png */; }; - 3E6178041960FF1800DE83F5 /* Icon-76.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6176EB1960FA6300DE83F5 /* Icon-76.png */; }; - 3E6178051960FF1800DE83F5 /* Icon-80.png in Resources */ = {isa = PBXBuildFile; fileRef = 3E6176EC1960FA6300DE83F5 /* Icon-80.png */; }; 3E92EA821921A1400094CD21 /* Sprite3DTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E92EA801921A1400094CD21 /* Sprite3DTest.cpp */; }; 3E92EA831921A1400094CD21 /* Sprite3DTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3E92EA801921A1400094CD21 /* Sprite3DTest.cpp */; }; 3E92EA851921A7720094CD21 /* Sprite3DTest in Resources */ = {isa = PBXBuildFile; fileRef = 3E92EA841921A7720094CD21 /* Sprite3DTest */; }; @@ -1188,34 +1149,6 @@ remoteGlobalIDString = 1A0EE41918CDF799004CD58F; remoteInfo = "lua-empty-test iOS"; }; - 3E6177011960FAED00DE83F5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 46A15F9C1807A4F8005B8026 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = A07A4C241783777C0073F6A7; - remoteInfo = "cocos2dx iOS"; - }; - 3E6177031960FAED00DE83F5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 46A15F9C1807A4F8005B8026 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = A07A4EFD178387670073F6A7; - remoteInfo = "chipmunk iOS"; - }; - 3E6177051960FAED00DE83F5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 46A15F9C1807A4F8005B8026 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = A07A4F9F178387730073F6A7; - remoteInfo = "CocosDenshion iOS"; - }; - 3E6177441960FE1E00DE83F5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 46A15F9C1807A4F8005B8026 /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = A07A4E111783867C0073F6A7; - remoteInfo = "cocos2dx-extensions iOS"; - }; 46A15FAF1807A4F9005B8026 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 46A15F9C1807A4F8005B8026 /* cocos2d_libs.xcodeproj */; @@ -1917,39 +1850,6 @@ 38FA2E71194AEBE100FF2BE4 /* ActionTimelineTestScene.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ActionTimelineTestScene.cpp; sourceTree = ""; }; 38FA2E72194AEBE100FF2BE4 /* ActionTimelineTestScene.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ActionTimelineTestScene.h; sourceTree = ""; }; 38FA2E75194AECF800FF2BE4 /* ActionTimeline */ = {isa = PBXFileReference; lastKnownFileType = folder; name = ActionTimeline; path = "../tests/cpp-tests/Resources/ActionTimeline"; sourceTree = ""; }; - 3E6176B71960FA6300DE83F5 /* AppDelegate.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = AppDelegate.cpp; sourceTree = ""; }; - 3E6176B81960FA6300DE83F5 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; - 3E6176B91960FA6300DE83F5 /* AppMacros.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppMacros.h; sourceTree = ""; }; - 3E6176BA1960FA6300DE83F5 /* GameControllerTest.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = GameControllerTest.cpp; sourceTree = ""; }; - 3E6176BB1960FA6300DE83F5 /* GameControllerTest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GameControllerTest.h; sourceTree = ""; }; - 3E6176DD1960FA6300DE83F5 /* AppController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppController.h; sourceTree = ""; }; - 3E6176DE1960FA6300DE83F5 /* AppController.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = AppController.mm; sourceTree = ""; }; - 3E6176DF1960FA6300DE83F5 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; - 3E6176E01960FA6300DE83F5 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; }; - 3E6176E11960FA6300DE83F5 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = ""; }; - 3E6176E21960FA6300DE83F5 /* Icon-100.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-100.png"; sourceTree = ""; }; - 3E6176E31960FA6300DE83F5 /* Icon-114.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-114.png"; sourceTree = ""; }; - 3E6176E41960FA6300DE83F5 /* Icon-120.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-120.png"; sourceTree = ""; }; - 3E6176E51960FA6300DE83F5 /* Icon-144.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-144.png"; sourceTree = ""; }; - 3E6176E61960FA6300DE83F5 /* Icon-152.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-152.png"; sourceTree = ""; }; - 3E6176E71960FA6300DE83F5 /* Icon-40.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-40.png"; sourceTree = ""; }; - 3E6176E81960FA6300DE83F5 /* Icon-57.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-57.png"; sourceTree = ""; }; - 3E6176E91960FA6300DE83F5 /* Icon-58.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-58.png"; sourceTree = ""; }; - 3E6176EA1960FA6300DE83F5 /* Icon-72.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-72.png"; sourceTree = ""; }; - 3E6176EB1960FA6300DE83F5 /* Icon-76.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-76.png"; sourceTree = ""; }; - 3E6176EC1960FA6300DE83F5 /* Icon-80.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-80.png"; sourceTree = ""; }; - 3E6176ED1960FA6300DE83F5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 3E6176EE1960FA6300DE83F5 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 3E6176EF1960FA6300DE83F5 /* RootViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RootViewController.h; sourceTree = ""; }; - 3E6176F01960FA6300DE83F5 /* RootViewController.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = RootViewController.mm; sourceTree = ""; }; - 3E6177311960FAED00DE83F5 /* game-controller-test IOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "game-controller-test IOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - 3E6177381960FBB800DE83F5 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/SystemConfiguration.framework; sourceTree = DEVELOPER_DIR; }; - 3E61773A1960FBC300DE83F5 /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/CFNetwork.framework; sourceTree = DEVELOPER_DIR; }; - 3E61773C1960FBD100DE83F5 /* GameController.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameController.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/GameController.framework; sourceTree = DEVELOPER_DIR; }; - 3E6177F01960FEFE00DE83F5 /* fonts */ = {isa = PBXFileReference; lastKnownFileType = folder; name = fonts; path = Resources/fonts; sourceTree = ""; }; - 3E6177F11960FEFE00DE83F5 /* ipad */ = {isa = PBXFileReference; lastKnownFileType = folder; name = ipad; path = Resources/ipad; sourceTree = ""; }; - 3E6177F21960FEFE00DE83F5 /* ipadhd */ = {isa = PBXFileReference; lastKnownFileType = folder; name = ipadhd; path = Resources/ipadhd; sourceTree = ""; }; - 3E6177F31960FEFE00DE83F5 /* iphone */ = {isa = PBXFileReference; lastKnownFileType = folder; name = iphone; path = Resources/iphone; sourceTree = ""; }; 3E92EA801921A1400094CD21 /* Sprite3DTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Sprite3DTest.cpp; path = Sprite3DTest/Sprite3DTest.cpp; sourceTree = ""; }; 3E92EA811921A1400094CD21 /* Sprite3DTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Sprite3DTest.h; path = Sprite3DTest/Sprite3DTest.h; sourceTree = ""; }; 3E92EA841921A7720094CD21 /* Sprite3DTest */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Sprite3DTest; path = "../tests/cpp-tests/Resources/Sprite3DTest"; sourceTree = ""; }; @@ -2127,29 +2027,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 3E6177201960FAED00DE83F5 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 3E61773D1960FBD200DE83F5 /* GameController.framework in Frameworks */, - 3E61773B1960FBC300DE83F5 /* CFNetwork.framework in Frameworks */, - 3E6177391960FBB800DE83F5 /* SystemConfiguration.framework in Frameworks */, - 3E6177211960FAED00DE83F5 /* libchipmunk iOS.a in Frameworks */, - 3E6177221960FAED00DE83F5 /* libcocos2dx iOS.a in Frameworks */, - 3E6177231960FAED00DE83F5 /* libCocosDenshion iOS.a in Frameworks */, - 3E6177241960FAED00DE83F5 /* CoreMotion.framework in Frameworks */, - 3E6177251960FAED00DE83F5 /* libz.dylib in Frameworks */, - 3E6177261960FAED00DE83F5 /* Foundation.framework in Frameworks */, - 3E6177271960FAED00DE83F5 /* AudioToolbox.framework in Frameworks */, - 3E6177281960FAED00DE83F5 /* OpenAL.framework in Frameworks */, - 3E6177291960FAED00DE83F5 /* QuartzCore.framework in Frameworks */, - 3E61772A1960FAED00DE83F5 /* CoreGraphics.framework in Frameworks */, - 3E61772B1960FAED00DE83F5 /* OpenGLES.framework in Frameworks */, - 3E61772C1960FAED00DE83F5 /* UIKit.framework in Frameworks */, - 3E61772D1960FAED00DE83F5 /* AVFoundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; A07A52171783A1D20073F6A7 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -2187,7 +2064,6 @@ 1A0EE31418CDF733004CD58F /* lua-empty-test Mac.app */, 1A0EE41318CDF775004CD58F /* cpp-empty-test iOS.app */, 1A0EE47E18CDF799004CD58F /* lua-empty-test iOS.app */, - 3E6177311960FAED00DE83F5 /* game-controller-test IOS.app */, ); name = Products; sourceTree = ""; @@ -3567,7 +3443,6 @@ 1AC35E0318CEE78300F37B72 /* tests */ = { isa = PBXGroup; children = ( - 3E6176B51960FA6300DE83F5 /* game-controller-test */, 1AC358B618CEC19F00F37B72 /* cpp-empty-test */, 1AC3592118CECEFF00F37B72 /* cpp-tests */, 1AC35D2418CEDE5600F37B72 /* lua-empty-test */, @@ -3861,9 +3736,6 @@ 29B97323FDCFA39411CA2CEA /* Frameworks */ = { isa = PBXGroup; children = ( - 3E61773C1960FBD100DE83F5 /* GameController.framework */, - 3E61773A1960FBC300DE83F5 /* CFNetwork.framework */, - 3E6177381960FBB800DE83F5 /* SystemConfiguration.framework */, 3EA0FB65191B933000B170C8 /* MediaPlayer.framework */, 1ABCA3AF18CDA06D0087CE3A /* libz.dylib */, 1ABCA3A818CD9F130087CE3A /* AudioToolbox.framework */, @@ -3910,67 +3782,6 @@ path = CocoStudioActionTimelineTest; sourceTree = ""; }; - 3E6176B51960FA6300DE83F5 /* game-controller-test */ = { - isa = PBXGroup; - children = ( - 3E6177EF1960FEE300DE83F5 /* Resource */, - 3E6176B61960FA6300DE83F5 /* Classes */, - 3E6176DC1960FA6300DE83F5 /* proj.ios */, - ); - name = "game-controller-test"; - path = "../tests/game-controller-test"; - sourceTree = ""; - }; - 3E6176B61960FA6300DE83F5 /* Classes */ = { - isa = PBXGroup; - children = ( - 3E6176B71960FA6300DE83F5 /* AppDelegate.cpp */, - 3E6176B81960FA6300DE83F5 /* AppDelegate.h */, - 3E6176B91960FA6300DE83F5 /* AppMacros.h */, - 3E6176BA1960FA6300DE83F5 /* GameControllerTest.cpp */, - 3E6176BB1960FA6300DE83F5 /* GameControllerTest.h */, - ); - path = Classes; - sourceTree = ""; - }; - 3E6176DC1960FA6300DE83F5 /* proj.ios */ = { - isa = PBXGroup; - children = ( - 3E6176DD1960FA6300DE83F5 /* AppController.h */, - 3E6176DE1960FA6300DE83F5 /* AppController.mm */, - 3E6176DF1960FA6300DE83F5 /* Default-568h@2x.png */, - 3E6176E01960FA6300DE83F5 /* Default.png */, - 3E6176E11960FA6300DE83F5 /* Default@2x.png */, - 3E6176E21960FA6300DE83F5 /* Icon-100.png */, - 3E6176E31960FA6300DE83F5 /* Icon-114.png */, - 3E6176E41960FA6300DE83F5 /* Icon-120.png */, - 3E6176E51960FA6300DE83F5 /* Icon-144.png */, - 3E6176E61960FA6300DE83F5 /* Icon-152.png */, - 3E6176E71960FA6300DE83F5 /* Icon-40.png */, - 3E6176E81960FA6300DE83F5 /* Icon-57.png */, - 3E6176E91960FA6300DE83F5 /* Icon-58.png */, - 3E6176EA1960FA6300DE83F5 /* Icon-72.png */, - 3E6176EB1960FA6300DE83F5 /* Icon-76.png */, - 3E6176EC1960FA6300DE83F5 /* Icon-80.png */, - 3E6176ED1960FA6300DE83F5 /* Info.plist */, - 3E6176EE1960FA6300DE83F5 /* main.m */, - 3E6176EF1960FA6300DE83F5 /* RootViewController.h */, - 3E6176F01960FA6300DE83F5 /* RootViewController.mm */, - ); - path = proj.ios; - sourceTree = ""; - }; - 3E6177EF1960FEE300DE83F5 /* Resource */ = { - isa = PBXGroup; - children = ( - 3E6177F01960FEFE00DE83F5 /* fonts */, - 3E6177F11960FEFE00DE83F5 /* ipad */, - 3E6177F21960FEFE00DE83F5 /* ipadhd */, - 3E6177F31960FEFE00DE83F5 /* iphone */, - ); - name = Resource; - sourceTree = ""; - }; 3E92EA7D1921A0C60094CD21 /* Sprite3DTest */ = { isa = PBXGroup; children = ( @@ -4159,27 +3970,6 @@ productReference = 1D6058910D05DD3D006BFB54 /* cpp-tests Mac.app */; productType = "com.apple.product-type.application"; }; - 3E6176FF1960FAED00DE83F5 /* game-controller-test IOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = 3E61772E1960FAED00DE83F5 /* Build configuration list for PBXNativeTarget "game-controller-test IOS" */; - buildPhases = ( - 3E6177061960FAED00DE83F5 /* Resources */, - 3E61771A1960FAED00DE83F5 /* Sources */, - 3E6177201960FAED00DE83F5 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 3E6177451960FE1E00DE83F5 /* PBXTargetDependency */, - 3E6177001960FAED00DE83F5 /* PBXTargetDependency */, - 3E6177021960FAED00DE83F5 /* PBXTargetDependency */, - 3E6177041960FAED00DE83F5 /* PBXTargetDependency */, - ); - name = "game-controller-test IOS"; - productName = iphone; - productReference = 3E6177311960FAED00DE83F5 /* game-controller-test IOS.app */; - productType = "com.apple.product-type.application"; - }; A07A517F1783A1D20073F6A7 /* cpp-tests iOS */ = { isa = PBXNativeTarget; buildConfigurationList = A07A52261783A1D20073F6A7 /* Build configuration list for PBXNativeTarget "cpp-tests iOS" */; @@ -4246,7 +4036,6 @@ 1A0EE31818CDF775004CD58F /* cpp-empty-test iOS */, 1ABCA2CC18CD93580087CE3A /* lua-tests iOS */, 1A0EE41918CDF799004CD58F /* lua-empty-test iOS */, - 3E6176FF1960FAED00DE83F5 /* game-controller-test IOS */, ); }; /* End PBXProject section */ @@ -4651,31 +4440,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 3E6177061960FAED00DE83F5 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 3E6177F61960FEFE00DE83F5 /* ipadhd in Resources */, - 3E6177FF1960FF1800DE83F5 /* Icon-152.png in Resources */, - 3E6178051960FF1800DE83F5 /* Icon-80.png in Resources */, - 3E6177F91960FF1800DE83F5 /* Default.png in Resources */, - 3E6177F71960FEFE00DE83F5 /* iphone in Resources */, - 3E6178011960FF1800DE83F5 /* Icon-57.png in Resources */, - 3E6177F51960FEFE00DE83F5 /* ipad in Resources */, - 3E6177F81960FF1800DE83F5 /* Default-568h@2x.png in Resources */, - 3E6177FA1960FF1800DE83F5 /* Default@2x.png in Resources */, - 3E6177FB1960FF1800DE83F5 /* Icon-100.png in Resources */, - 3E6178001960FF1800DE83F5 /* Icon-40.png in Resources */, - 3E6177FE1960FF1800DE83F5 /* Icon-144.png in Resources */, - 3E6177FC1960FF1800DE83F5 /* Icon-114.png in Resources */, - 3E6178041960FF1800DE83F5 /* Icon-76.png in Resources */, - 3E6177FD1960FF1800DE83F5 /* Icon-120.png in Resources */, - 3E6178031960FF1800DE83F5 /* Icon-72.png in Resources */, - 3E6177F41960FEFE00DE83F5 /* fonts in Resources */, - 3E6178021960FF1800DE83F5 /* Icon-58.png in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; A07A518A1783A1D20073F6A7 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -4979,18 +4743,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 3E61771A1960FAED00DE83F5 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 3E6177351960FB4000DE83F5 /* AppController.mm in Sources */, - 3E6177371960FB5E00DE83F5 /* RootViewController.mm in Sources */, - 3E6177331960FB3500DE83F5 /* AppDelegate.cpp in Sources */, - 3E6177361960FB5A00DE83F5 /* main.m in Sources */, - 3E6177341960FB3900DE83F5 /* GameControllerTest.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; A07A51AD1783A1D20073F6A7 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -5387,26 +5139,6 @@ target = 1A0EE41918CDF799004CD58F /* lua-empty-test iOS */; targetProxy = 1ADA8BAF18CF277C00AE24B9 /* PBXContainerItemProxy */; }; - 3E6177001960FAED00DE83F5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "cocos2dx iOS"; - targetProxy = 3E6177011960FAED00DE83F5 /* PBXContainerItemProxy */; - }; - 3E6177021960FAED00DE83F5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "chipmunk iOS"; - targetProxy = 3E6177031960FAED00DE83F5 /* PBXContainerItemProxy */; - }; - 3E6177041960FAED00DE83F5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "CocosDenshion iOS"; - targetProxy = 3E6177051960FAED00DE83F5 /* PBXContainerItemProxy */; - }; - 3E6177451960FE1E00DE83F5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "cocos2dx-extensions iOS"; - targetProxy = 3E6177441960FE1E00DE83F5 /* PBXContainerItemProxy */; - }; A035ACC0178246BD00987F6C /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 1D6058900D05DD3D006BFB54 /* cpp-tests Mac */; @@ -5720,41 +5452,6 @@ }; name = Release; }; - 3E61772F1960FAED00DE83F5 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - CC_TARGET_OS_IPHONE, - ); - INFOPLIST_FILE = "$(SRCROOT)/../tests/game-controller-test/proj.ios/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 5.1.1; - PRODUCT_NAME = "game-controller-test IOS"; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - USER_HEADER_SEARCH_PATHS = "$(inherited) $(SRCROOT)/../cocos/platform/ios $(SRCROOT)/../cocos/platform/ios/Simulation $(SRCROOT)/../external/curl/include/ios"; - }; - name = Debug; - }; - 3E6177301960FAED00DE83F5 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = "iPhone Developer"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - CC_TARGET_OS_IPHONE, - ); - INFOPLIST_FILE = "$(SRCROOT)/../tests/game-controller-test/proj.ios/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 5.1.1; - PRODUCT_NAME = "game-controller-test IOS"; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - USER_HEADER_SEARCH_PATHS = "$(inherited) $(SRCROOT)/../cocos/platform/ios $(SRCROOT)/../cocos/platform/ios/Simulation $(SRCROOT)/../external/curl/include/ios"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; A035ACBD1782469800987F6C /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -5941,15 +5638,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 3E61772E1960FAED00DE83F5 /* Build configuration list for PBXNativeTarget "game-controller-test IOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 3E61772F1960FAED00DE83F5 /* Debug */, - 3E6177301960FAED00DE83F5 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; A035ACBC1782469800987F6C /* Build configuration list for PBXAggregateTarget "build all tests Mac" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/build/cocos2d_tests.xcodeproj/xcshareddata/xcschemes/game-controller-test IOS.xcscheme b/build/cocos2d_tests.xcodeproj/xcshareddata/xcschemes/game-controller-test IOS.xcscheme deleted file mode 100644 index 5cbd917515..0000000000 --- a/build/cocos2d_tests.xcodeproj/xcshareddata/xcschemes/game-controller-test IOS.xcscheme +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cocos/2d/CCFastTMXLayer.cpp b/cocos/2d/CCFastTMXLayer.cpp index 1b456fc69b..0d613a6a5a 100644 --- a/cocos/2d/CCFastTMXLayer.cpp +++ b/cocos/2d/CCFastTMXLayer.cpp @@ -180,7 +180,7 @@ void FastTMXLayer::onDraw(int offset, int count) GL::bindTexture2D(_texture->getName()); getGLProgramState()->apply(_modelViewTransform); - GL::bindVAO(0); + glBindVertexArray(0); glBindBuffer(GL_ARRAY_BUFFER, _buffersVBO[0]); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _buffersVBO[1]); diff --git a/cocos/2d/cocos2d_wp8.vcxproj b/cocos/2d/cocos2d_wp8.vcxproj index ba2f24834b..c6a97f8c94 100644 --- a/cocos/2d/cocos2d_wp8.vcxproj +++ b/cocos/2d/cocos2d_wp8.vcxproj @@ -225,7 +225,6 @@ - @@ -379,8 +378,6 @@ - - @@ -436,7 +433,6 @@ - @@ -595,8 +591,6 @@ - - diff --git a/cocos/2d/cocos2d_wp8.vcxproj.filters b/cocos/2d/cocos2d_wp8.vcxproj.filters index a00fbb84f3..d0f0fce8cb 100644 --- a/cocos/2d/cocos2d_wp8.vcxproj.filters +++ b/cocos/2d/cocos2d_wp8.vcxproj.filters @@ -608,15 +608,6 @@ 3d - - 3d - - - 2d - - - 2d - @@ -1250,15 +1241,6 @@ 3d - - 3d - - - 2d - - - 2d - diff --git a/cocos/3d/CCBundle3D.cpp b/cocos/3d/CCBundle3D.cpp index 30a06fd11a..b7ebddbcba 100644 --- a/cocos/3d/CCBundle3D.cpp +++ b/cocos/3d/CCBundle3D.cpp @@ -610,7 +610,7 @@ bool Bundle3D::loadSkinDataBinary(SkinData* skindata) if (!_binaryReader.readMatrix(bindpos)) { CCLOGINFO("Failed to load SkinData: bindpos '%s'.", _path.c_str()); - return false; + return nullptr; } skindata->inverseBindPoseMatrices.push_back(bindpos); } @@ -651,7 +651,7 @@ bool Bundle3D::loadSkinDataBinary(SkinData* skindata) if (!_binaryReader.readMatrix(transform)) { CCLOGINFO("Failed to load SkinData: transform '%s'.", _path.c_str()); - return false; + return nullptr; } if(index < 0) diff --git a/cocos/Android.mk b/cocos/Android.mk index ba6c634114..0ccd4381a5 100644 --- a/cocos/Android.mk +++ b/cocos/Android.mk @@ -109,9 +109,7 @@ base/CCEventCustom.cpp \ base/CCEventDispatcher.cpp \ base/CCEventFocus.cpp \ base/CCEventKeyboard.cpp \ -base/CCEventController.cpp \ base/CCEventListener.cpp \ -base/CCEventListenerController.cpp \ base/CCEventListenerAcceleration.cpp \ base/CCEventListenerCustom.cpp \ base/CCEventListenerFocus.cpp \ @@ -141,13 +139,6 @@ base/ccUTF8.cpp \ base/ccUtils.cpp \ base/etc1.cpp \ base/s3tc.cpp \ -base/CCController-android.cpp \ -base/CCControllerAxisInput.cpp \ -base/CCControllerButtonInput.cpp \ -base/CCControllerDirectionPad.cpp \ -base/CCControllerElement.cpp \ -base/CCControllerThumbstick.cpp \ -base/CCGamepad.cpp \ base/ObjectFactory.cpp \ renderer/CCBatchCommand.cpp \ renderer/CCCustomCommand.cpp \ @@ -196,8 +187,7 @@ LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH) \ $(LOCAL_PATH)/../external/tinyxml2 \ $(LOCAL_PATH)/../external/unzip \ $(LOCAL_PATH)/../external/chipmunk/include/chipmunk \ - $(LOCAL_PATH)/../external/xxhash \ - $(LOCAL_PATH)/../external/nslog + $(LOCAL_PATH)/../external/xxhash LOCAL_C_INCLUDES := $(LOCAL_PATH) \ $(LOCAL_PATH)/. \ @@ -208,8 +198,7 @@ LOCAL_C_INCLUDES := $(LOCAL_PATH) \ $(LOCAL_PATH)/../external/chipmunk/include/chipmunk \ $(LOCAL_PATH)/../external/edtaa3func \ $(LOCAL_PATH)/../external/xxhash \ - $(LOCAL_PATH)/../external/ConvertUTF \ - $(LOCAL_PATH)/../external/nslog + $(LOCAL_PATH)/../external/ConvertUTF LOCAL_LDLIBS := -lGLESv2 \ diff --git a/cocos/base/CCController-android.cpp b/cocos/base/CCController-android.cpp deleted file mode 100644 index e501c34c82..0000000000 --- a/cocos/base/CCController-android.cpp +++ /dev/null @@ -1,365 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#include "CCController.h" - -#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) - -#include "CCGamepad.h" -#include "CCControllerDirectionPad.h" -#include "CCControllerButtonInput.h" -#include "CCControllerAxisInput.h" -#include "CCControllerThumbstick.h" - -#include "ccMacros.h" -#include "CCEventDispatcher.h" -#include "CCEventController.h" -#include "CCEventListenerController.h" -#include "CCDirector.h" - -#include "jni/JniHelper.h" - - -NS_CC_BEGIN - -enum class AndroidControllerCode -{ - THUMBSTICK_LEFT_X = 100, - THUMBSTICK_LEFT_Y = 101, - THUMBSTICK_RIGHT_X = 102, - THUMBSTICK_RIGHT_Y = 103, - BUTTON_A = 110, - BUTTON_B = 111, - BUTTON_C = 112, - BUTTON_X = 113, - BUTTON_Y = 114, - BUTTON_Z = 115, - BUTTON_LEFT_SHOULDER = 120, - BUTTON_RIGHT_SHOULDER = 121, - BUTTON_LEFT_TRIGGER = 122, - BUTTON_RIGHT_TRIGGER = 123, - BUTTON_DPAD_UP = 130, - BUTTON_DPAD_DOWN = 131, - BUTTON_DPAD_LEFT = 132, - BUTTON_DPAD_RIGHT = 133, - BUTTON_DPAD_CENTER = 134, - BUTTON_LEFT_THUMBSTICK = 140, - BUTTON_RIGHT_THUMBSTICK = 141, - BUTTON_START = 150, - BUTTON_SELECT = 151, -}; - -class ControllerImpl -{ -public: - ControllerImpl(Controller* controller) - : _controller(controller) - , _controllerID(-1) - { - } - - static std::vector::iterator findController(const std::string& vendorName, int controllerID) - { - auto iter = std::find_if(Controller::_controllers.begin(), Controller::_controllers.end(), [&](Controller* controller){ - return (vendorName == controller->getVendorName()) && (controllerID == controller->_impl->_controllerID); - }); - } - - static void onConnected(const std::string& vendorName, int controllerID) - { - // Check whether the controller is already connected. - auto iter = findController(vendorName, controllerID); - if (iter != Controller::_controllers.end()) - return; - - // It's a new controller being connected. - auto controller = new cocos2d::Controller(); - controller->_vendorName = vendorName; - Controller::_controllers.push_back(controller); - controller->_impl->_controllerID = controllerID; - EventController evt(EventController::ControllerEventType::CONNECTION, controller, true); - Director::getInstance()->getEventDispatcher()->dispatchEvent(&evt); - } - - static void onDisconnected(const std::string& vendorName, int controllerID) - { - auto iter = findController(vendorName, controllerID); - if (iter == Controller::_controllers.end()) - { - CCLOGERROR("Could not find the controller!"); - return; - } - - EventController evt(EventController::ControllerEventType::CONNECTION, *iter, false); - Director::getInstance()->getEventDispatcher()->dispatchEvent(&evt); - - Controller::_controllers.erase(iter); - } - - void sendEventButton(ControllerButtonInput* button, bool isPressed, float value, bool isAnalog) - { - button->setPressed(isPressed); - if (!isAnalog) - button->setValue(value); - button->setAnalog(isAnalog); - EventController evt(EventController::ControllerEventType::BUTTON_STATUS_CHANGED, _controller, button); - Director::getInstance()->getEventDispatcher()->dispatchEvent(&evt); - } - - void sendEventAxis(ControllerAxisInput* axis, float value, bool isAnalog) - { - axis->setValue(value); - axis->setAnalog(isAnalog); - EventController evt(EventController::ControllerEventType::AXIS_STATUS_CHANGED, _controller, axis); - Director::getInstance()->getEventDispatcher()->dispatchEvent(&evt); - } - - static void onButtonEvent(const std::string& vendorName, int controllerID, AndroidControllerCode btnCode, bool isPressed, float value, bool isAnalog) - { - auto iter = findController(vendorName, controllerID); - if (iter == Controller::_controllers.end()) - { - onConnected(vendorName, controllerID); - iter = findController(vendorName, controllerID); - } - - auto gamepad = (*iter)->getGamepad(); - auto thiz = (*iter)->getImpl(); - switch(btnCode) - { - case AndroidControllerCode::BUTTON_A: - { - thiz->sendEventButton(gamepad->getButtonA(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_B: - { - thiz->sendEventButton(gamepad->getButtonB(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_X: - { - thiz->sendEventButton(gamepad->getButtonX(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_Y: - { - thiz->sendEventButton(gamepad->getButtonY(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_LEFT_SHOULDER: - { - thiz->sendEventButton(gamepad->getLeftShoulder(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_RIGHT_SHOULDER: - { - thiz->sendEventButton(gamepad->getRightShoulder(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_LEFT_TRIGGER: - { - thiz->sendEventButton(gamepad->getLeftTrigger(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_RIGHT_TRIGGER: - { - thiz->sendEventButton(gamepad->getRightTrigger(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_DPAD_UP: - { - thiz->sendEventButton(gamepad->getDirectionPad()->getUp(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_DPAD_DOWN: - { - thiz->sendEventButton(gamepad->getDirectionPad()->getDown(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_DPAD_LEFT: - { - thiz->sendEventButton(gamepad->getDirectionPad()->getLeft(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_DPAD_RIGHT: - { - thiz->sendEventButton(gamepad->getDirectionPad()->getRight(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_START: - { - thiz->sendEventButton(gamepad->getButtonStart(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_SELECT: - { - thiz->sendEventButton(gamepad->getButtonSelect(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_LEFT_THUMBSTICK: - { - thiz->sendEventButton(gamepad->getLeftThumbstick()->getButton(), isPressed, value, isAnalog); - } - break; - case AndroidControllerCode::BUTTON_RIGHT_THUMBSTICK: - { - thiz->sendEventButton(gamepad->getRightThumbstick()->getButton(), isPressed, value, isAnalog); - } - break; - default: - // CCASSERT(false, "Invalid controller button code!"); - break; - } - } - - static void onAxisEvent(const std::string& vendorName, int controllerID, AndroidControllerCode axisCode, float value, bool isAnalog) - { - // log("vendorName: %s, controller id: %d, axis: %d, value: %f", vendorName.c_str(), controllerID, axisCode, value); - auto iter = findController(vendorName, controllerID); - if (iter == Controller::_controllers.end()) - { - onConnected(vendorName, controllerID); - iter = findController(vendorName, controllerID); - } - auto gamepad = (*iter)->getGamepad(); - auto thiz = (*iter)->getImpl(); - switch (axisCode) - { - case AndroidControllerCode::THUMBSTICK_LEFT_X: - thiz->sendEventAxis(gamepad->getLeftThumbstick()->getAxisX(), value, isAnalog); - break; - case AndroidControllerCode::THUMBSTICK_LEFT_Y: - thiz->sendEventAxis(gamepad->getLeftThumbstick()->getAxisY(), value, isAnalog); - break; - case AndroidControllerCode::THUMBSTICK_RIGHT_X: - thiz->sendEventAxis(gamepad->getRightThumbstick()->getAxisX(), value, isAnalog); - break; - case AndroidControllerCode::THUMBSTICK_RIGHT_Y: - thiz->sendEventAxis(gamepad->getRightThumbstick()->getAxisY(), value, isAnalog); - break; - default: - CCASSERT(false, "Invalid controller axis code!"); - break; - } - } - -private: - Controller* _controller; - int _controllerID; -}; - - -std::vector Controller::_controllers; - -const std::vector& Controller::getControllers() -{ - return _controllers; -} - -void Controller::startDiscoveryController() -{ - // Empty implementation on Android -} - -void Controller::stopDiscoveryController() -{ - // Empty implementation on Android -} - -const std::string& Controller::getVendorName() -{ - return _vendorName; -} - -bool Controller::isConnected() const -{ - // If there is a controller instance, it means that the controller is connected. - // If a controller is disconnected, the instance will be destroyed. - // So always returns true for this method. - return true; -} - -int Controller::getPlayerIndex() const -{ - return _playerIndex; -} - -void Controller::setPlayerIndex(int playerIndex) -{ - _playerIndex = playerIndex; -} - -Gamepad* Controller::getGamepad() const -{ - return _gamepad; -} - -Controller::Controller() - : _playerIndex(PLAYER_INDEX_UNSET) - , _gamepad(new Gamepad) - , _impl(new ControllerImpl(this)) -{ - _gamepad->_controller = this; -} - -Controller::~Controller() -{ - CC_SAFE_DELETE(_impl); - CC_SAFE_DELETE(_gamepad); -} - -NS_CC_END - -extern "C" { - - JNIEXPORT void JNICALL Java_org_cocos2dx_lib_GameControllerAdapter_nativeControllerConnected(JNIEnv* env, jobject thiz, jstring vendorName, jint controllerID) - { - CCLOG("controller id: %d connected!", controllerID); - cocos2d::ControllerImpl::onConnected(cocos2d::JniHelper::jstring2string(vendorName), controllerID); - } - - JNIEXPORT void JNICALL Java_org_cocos2dx_lib_GameControllerAdapter_nativeControllerDisconnected(JNIEnv* env, jobject thiz, jstring vendorName, jint controllerID) - { - CCLOG("controller id: %d disconnected!", controllerID); - cocos2d::ControllerImpl::onDisconnected(cocos2d::JniHelper::jstring2string(vendorName), controllerID); - } - - JNIEXPORT void JNICALL Java_org_cocos2dx_lib_GameControllerAdapter_nativeControllerButtonEvent(JNIEnv* env, jobject thiz, jstring vendorName, jint controllerID, jint button, jboolean isPressed, jfloat value, jboolean isAnalog) - { - CCLOG("controller id: %d, btn code: %d, isPressed: %d, value: %f, isAnalog:%d", controllerID, button, (int)isPressed, value, (int)isAnalog); - cocos2d::ControllerImpl::onButtonEvent(cocos2d::JniHelper::jstring2string(vendorName), controllerID, static_cast(button), isPressed, value, isAnalog); - } - - JNIEXPORT void JNICALL Java_org_cocos2dx_lib_GameControllerAdapter_nativeControllerAxisEvent(JNIEnv* env, jobject thiz, jstring vendorName, jint controllerID, jint axis, jfloat value, jboolean isAnalog) - { - // CCLOG("controller id: %d, axis code: %d, value: %f, isAnalog:%d", controllerID, axis, value, (int)isAnalog); - cocos2d::ControllerImpl::onAxisEvent(cocos2d::JniHelper::jstring2string(vendorName), controllerID, static_cast(axis), value, isAnalog); - } - -} // extern "C" { - - -#endif // #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) diff --git a/cocos/base/CCController-iOS.mm b/cocos/base/CCController-iOS.mm deleted file mode 100644 index 69ecbf88ad..0000000000 --- a/cocos/base/CCController-iOS.mm +++ /dev/null @@ -1,371 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#include "CCController.h" -#include "base/CCPlatformConfig.h" -#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) - -#include "CCGamepad.h" -#include "CCControllerDirectionPad.h" -#include "CCControllerButtonInput.h" -#include "CCControllerAxisInput.h" -#include "CCControllerThumbstick.h" - -#include "ccMacros.h" -#include "CCEventDispatcher.h" -#include "CCEventController.h" -#include "CCEventListenerController.h" -#include "CCDirector.h" - -#import - -@interface GCControllerConnectionEventHandler : NSObject - -typedef void (^GCControllerConnectionBlock)(GCController* controller); -@property (copy) GCControllerConnectionBlock _connectionBlock; - -typedef void (^GCControllerDisconnectionBlock)(GCController* controller); -@property (copy) GCControllerDisconnectionBlock _disconnectionBlock; - -+(GCControllerConnectionEventHandler*) getInstance; -+(void) destroyInstance; -@end - -@implementation GCControllerConnectionEventHandler - - -static GCControllerConnectionEventHandler* __instance = nil; - -+(GCControllerConnectionEventHandler*) getInstance { - - if (__instance == nil) - { - __instance = [[GCControllerConnectionEventHandler alloc] init]; - } - return __instance; -} - -+(void) destroyInstance { - if (__instance) - { - [__instance release]; - __instance = nil; - } -} - --(void) observerConnection: (GCControllerConnectionBlock) connectBlock disconnection: (GCControllerDisconnectionBlock) disconnectBlock { - self._connectionBlock = connectBlock; - self._disconnectionBlock = disconnectBlock; - - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onControllerConnected:) name:GCControllerDidConnectNotification object:nil]; - - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onControllerDisconnected:) name:GCControllerDidDisconnectNotification object:nil]; -} - --(void)dealloc { - [[NSNotificationCenter defaultCenter] removeObserver:self]; - [super dealloc]; -} - --(void) onControllerConnected :(NSNotification *)connectedNotification { - GCController *controller =(GCController *)[connectedNotification object]; - - self._connectionBlock(controller); -} - --(void) onControllerDisconnected :(NSNotification *)connectedNotification { - - GCController *controller =(GCController *)[connectedNotification object]; - self._disconnectionBlock(controller); -} - -@end - -NS_CC_BEGIN - -#define sendEventButton(dstID, srcID) \ -dstID->setPressed(srcID.isPressed); \ -dstID->setValue(srcID.value); \ -dstID->setAnalog(srcID.isAnalog); \ -EventController evt(EventController::ControllerEventType::BUTTON_STATUS_CHANGED, _gamepad->_controller, dstID); \ -Director::getInstance()->getEventDispatcher()->dispatchEvent(&evt); - - -#define sendEventAxis(dstID, srcID) \ -\ -dstID->setValue(srcID.value); \ -dstID->setAnalog(srcID.isAnalog); \ -\ -EventController evt(EventController::ControllerEventType::AXIS_STATUS_CHANGED, _gamepad->_controller, dstID); \ -Director::getInstance()->getEventDispatcher()->dispatchEvent(&evt); - -class ControllerImpl -{ -public: - ControllerImpl(Controller* controller) - : _controller(controller) - , _gcController(nil) - , _lazyRegisterListener(true) - { - - } - - ~ControllerImpl() - { - - } - - Controller* _controller; - GCController* _gcController; - bool _lazyRegisterListener; -}; - -std::vector Controller::_controllers; - -const std::vector& Controller::getControllers() -{ - return _controllers; -} - -void Controller::startDiscoveryController() -{ - [GCController startWirelessControllerDiscoveryWithCompletionHandler: nil]; - - [[GCControllerConnectionEventHandler getInstance] observerConnection: ^(GCController* gcController) { - auto controller = new Controller(); - controller->_impl->_gcController = gcController; - - gcController.controllerPausedHandler = ^(GCController* gcCon){ - - auto iter = std::find_if(_controllers.begin(), _controllers.end(), [gcCon](Controller* c){ return c->_impl->_gcController == gcCon; }); - - CCASSERT(iter != _controllers.end(), "Could not find the controller"); - - auto button = (*iter)->getGamepad()->getButtonPause(); - button->setPressed(true); - EventController evt(EventController::ControllerEventType::BUTTON_STATUS_CHANGED, (*iter), button); - Director::getInstance()->getEventDispatcher()->dispatchEvent(&evt); - - // Reset the pause button status to unpressed. - button->setPressed(false); - }; - - _controllers.push_back(controller); - - - EventController evt(EventController::ControllerEventType::CONNECTION, controller, true); - Director::getInstance()->getEventDispatcher()->dispatchEvent(&evt); - - } disconnection: ^(GCController* gcController) { - - auto iter = std::find_if(_controllers.begin(), _controllers.end(), [gcController](Controller* c){ return c->_impl->_gcController == gcController; }); - - CCASSERT(iter != _controllers.end(), "Could not find the controller"); - - EventController evt(EventController::ControllerEventType::CONNECTION, *iter, false); - Director::getInstance()->getEventDispatcher()->dispatchEvent(&evt); - - delete (*iter); - _controllers.erase(iter); - }]; -} - -void Controller::stopDiscoveryController() -{ - [GCController stopWirelessControllerDiscovery]; -} - -Controller::Controller() -{ - _playerIndex = PLAYER_INDEX_UNSET; - _gamepad = new Gamepad(); - _gamepad->_controller = this; - _impl = new ControllerImpl(this); -} - -Controller::~Controller() -{ - CC_SAFE_DELETE(_impl); - CC_SAFE_DELETE(_gamepad); -} - -const std::string& Controller::getVendorName() -{ - if (_vendorName.empty()) - { - _vendorName = [_impl->_gcController.vendorName UTF8String]; - } - return _vendorName; -} - -bool Controller::isConnected() const -{ - return _impl->_gcController.isAttachedToDevice == YES; -} - -int Controller::getPlayerIndex() const -{ - return _playerIndex; -} - -void Controller::setPlayerIndex(int playerIndex) -{ - _playerIndex = playerIndex; -} - -Gamepad* Controller::getGamepad() const -{ - if (_impl->_gcController == nil) - return nullptr; - if(_impl->_gcController.gamepad == nil && _impl->_gcController.extendedGamepad == nil) - { - CCASSERT(false, "No gamepad was found!"); - } - else if (_impl->_lazyRegisterListener) - { - _impl->_lazyRegisterListener = false; - if (_impl->_gcController.extendedGamepad != nil) - { - _impl->_gcController.extendedGamepad.dpad.up.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ - sendEventButton(_gamepad->getDirectionPad()->getUp(), button); - }; - - _impl->_gcController.extendedGamepad.dpad.down.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ - sendEventButton(_gamepad->getDirectionPad()->getDown(), button); - }; - - _impl->_gcController.extendedGamepad.dpad.left.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ - sendEventButton(_gamepad->getDirectionPad()->getLeft(), button); - }; - - _impl->_gcController.extendedGamepad.dpad.right.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ - sendEventButton(_gamepad->getDirectionPad()->getRight(), button); - }; - - _impl->_gcController.extendedGamepad.leftThumbstick.xAxis.valueChangedHandler = ^(GCControllerAxisInput *axis, float value){ - sendEventAxis(_gamepad->getLeftThumbstick()->getAxisX(), axis); - }; - - _impl->_gcController.extendedGamepad.leftThumbstick.yAxis.valueChangedHandler = ^(GCControllerAxisInput *axis, float value){ - sendEventAxis(_gamepad->getLeftThumbstick()->getAxisY(), axis); - }; - - _impl->_gcController.extendedGamepad.rightThumbstick.xAxis.valueChangedHandler = ^(GCControllerAxisInput *axis, float value){ - sendEventAxis(_gamepad->getRightThumbstick()->getAxisX(), axis); - }; - - _impl->_gcController.extendedGamepad.rightThumbstick.yAxis.valueChangedHandler = ^(GCControllerAxisInput *axis, float value){ - sendEventAxis(_gamepad->getRightThumbstick()->getAxisY(), axis); - }; - - _impl->_gcController.extendedGamepad.valueChangedHandler = ^(GCExtendedGamepad *gamepad, GCControllerElement *element){ - if (element == gamepad.buttonA) - { - sendEventButton(_gamepad->getButtonA(), gamepad.buttonA); - } - else if (element == gamepad.buttonB) - { - sendEventButton(_gamepad->getButtonB(), gamepad.buttonB); - } - else if (element == gamepad.buttonX) - { - sendEventButton(_gamepad->getButtonX(), gamepad.buttonX); - } - else if (element == gamepad.buttonY) - { - sendEventButton(_gamepad->getButtonY(), gamepad.buttonY); - } - else if (element == gamepad.leftShoulder) - { - sendEventButton(_gamepad->getLeftShoulder(), gamepad.leftShoulder); - } - else if (element == gamepad.rightShoulder) - { - sendEventButton(_gamepad->getRightShoulder(), gamepad.rightShoulder); - } - else if (element == gamepad.leftTrigger) - { - sendEventButton(_gamepad->getLeftTrigger(), gamepad.leftTrigger); - } - else if (element == gamepad.rightTrigger) - { - sendEventButton(_gamepad->getRightTrigger(), gamepad.rightTrigger); - } - }; - } - else - { - _impl->_gcController.gamepad.dpad.up.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ - sendEventButton(_gamepad->getDirectionPad()->getUp(), button); - }; - - _impl->_gcController.gamepad.dpad.down.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ - sendEventButton(_gamepad->getDirectionPad()->getDown(), button); - }; - - _impl->_gcController.gamepad.dpad.left.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ - sendEventButton(_gamepad->getDirectionPad()->getLeft(), button); - }; - - _impl->_gcController.gamepad.dpad.right.valueChangedHandler = ^(GCControllerButtonInput *button, float value, BOOL pressed){ - sendEventButton(_gamepad->getDirectionPad()->getRight(), button); - }; - - _impl->_gcController.gamepad.valueChangedHandler = ^(GCGamepad *gamepad, GCControllerElement *element){ - - if (element == gamepad.buttonA) - { - sendEventButton(_gamepad->getButtonA(), gamepad.buttonA); - } - else if (element == gamepad.buttonB) - { - sendEventButton(_gamepad->getButtonB(), gamepad.buttonB); - } - else if (element == gamepad.buttonX) - { - sendEventButton(_gamepad->getButtonX(), gamepad.buttonX); - } - else if (element == gamepad.buttonY) - { - sendEventButton(_gamepad->getButtonY(), gamepad.buttonY); - } - else if (element == gamepad.leftShoulder) - { - sendEventButton(_gamepad->getLeftShoulder(), gamepad.leftShoulder); - } - else if (element == gamepad.rightShoulder) - { - sendEventButton(_gamepad->getRightShoulder(), gamepad.rightShoulder); - } - }; - } - } - - return _gamepad; -} - -NS_CC_END - -#endif // #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) diff --git a/cocos/base/CCController.h b/cocos/base/CCController.h deleted file mode 100644 index 83b8d547ae..0000000000 --- a/cocos/base/CCController.h +++ /dev/null @@ -1,79 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#ifndef __cocos2d_libs__CCController__ -#define __cocos2d_libs__CCController__ - -#include "CCPlatformMacros.h" - -#include -#include -#include - - -NS_CC_BEGIN - -class Gamepad; -class ControllerImpl; - -class Controller -{ -public: - static const std::vector& getControllers(); - - static void startDiscoveryController(); - static void stopDiscoveryController(); - - const std::string& getVendorName(); - bool isConnected() const; - - static const int PLAYER_INDEX_UNSET = -1; - - int getPlayerIndex() const; - void setPlayerIndex(int playerIndex); - - Gamepad* getGamepad() const; - - // For internal use only - inline ControllerImpl* getImpl() const { return _impl; }; - - Controller(); - virtual ~Controller(); - -private: - static std::vector _controllers; - - std::string _vendorName; - int _playerIndex; - Gamepad* _gamepad; - - friend class ControllerImpl; - ControllerImpl* _impl; -}; - - -NS_CC_END - -#endif /* defined(__cocos2d_libs__CCController__) */ diff --git a/cocos/base/CCControllerAxisInput.cpp b/cocos/base/CCControllerAxisInput.cpp deleted file mode 100644 index e2d7865d46..0000000000 --- a/cocos/base/CCControllerAxisInput.cpp +++ /dev/null @@ -1,52 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#include "CCControllerAxisInput.h" - -NS_CC_BEGIN - -ControllerAxisInput::ControllerAxisInput() -: _value(0.0f) -{ - -} - -ControllerAxisInput::~ControllerAxisInput() -{ - -} - -float ControllerAxisInput::getValue() const -{ - return _value; -} - -void ControllerAxisInput::setValue(float value) -{ - _value = value; -} - - -NS_CC_END \ No newline at end of file diff --git a/cocos/base/CCControllerAxisInput.h b/cocos/base/CCControllerAxisInput.h deleted file mode 100644 index 2f6298b95b..0000000000 --- a/cocos/base/CCControllerAxisInput.h +++ /dev/null @@ -1,55 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#ifndef __cocos2d_libs__CCControllerAxisInput__ -#define __cocos2d_libs__CCControllerAxisInput__ - -#include "CCPlatformMacros.h" -#include "CCControllerElement.h" - -NS_CC_BEGIN - -class ControllerAxisInput : public ControllerElement -{ -public: - float getValue() const; - -protected: - ControllerAxisInput(); - virtual ~ControllerAxisInput(); - - void setValue(float value); - - float _value; - - friend class Controller; - friend class ControllerImpl; - friend class ControllerDirectionPad; - friend class ControllerThumbstick; -}; - -NS_CC_END - -#endif /* defined(__cocos2d_libs__CCControllerAxisInput__) */ diff --git a/cocos/base/CCControllerButtonInput.cpp b/cocos/base/CCControllerButtonInput.cpp deleted file mode 100644 index f234df1974..0000000000 --- a/cocos/base/CCControllerButtonInput.cpp +++ /dev/null @@ -1,69 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#include "CCControllerButtonInput.h" - -NS_CC_BEGIN - -ControllerButtonInput::ControllerButtonInput() -: _value(0.0f) -, _isPressed(false) -, _isPrevStatusPressed(false) -{ - -} - -ControllerButtonInput::~ControllerButtonInput() -{ - -} - -float ControllerButtonInput::getValue() const -{ - return _value; -} - -bool ControllerButtonInput::isPressed() const -{ - return _isPressed; -} - -bool ControllerButtonInput::isPrevStatusPressed() const -{ - return _isPrevStatusPressed; -} - -void ControllerButtonInput::setValue(float value) -{ - _value = value; -} - -void ControllerButtonInput::setPressed(bool isPressed) -{ - _isPrevStatusPressed = _isPressed; - _isPressed = isPressed; -} - -NS_CC_END \ No newline at end of file diff --git a/cocos/base/CCControllerButtonInput.h b/cocos/base/CCControllerButtonInput.h deleted file mode 100644 index ff6c1a723d..0000000000 --- a/cocos/base/CCControllerButtonInput.h +++ /dev/null @@ -1,63 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#ifndef __cocos2d_libs__CCControllerButtonInput__ -#define __cocos2d_libs__CCControllerButtonInput__ - -#include "CCPlatformMacros.h" -#include "CCControllerElement.h" - -NS_CC_BEGIN - -class ControllerButtonInput : public ControllerElement -{ -public: - float getValue() const; - bool isPressed() const; - bool isPrevStatusPressed() const; - -protected: - - ControllerButtonInput(); - virtual ~ControllerButtonInput(); - - void setValue(float value); - void setPressed(bool isPressed); - - float _value; - bool _isPressed; - - bool _isPrevStatusPressed; // Whether previous status is pressed - - friend class Controller; - friend class ControllerImpl; - friend class ControllerDirectionPad; - friend class ControllerThumbstick; - friend class Gamepad; -}; - -NS_CC_END - -#endif /* defined(__cocos2d_libs__CCControllerButtonInput__) */ diff --git a/cocos/base/CCControllerDirectionPad.cpp b/cocos/base/CCControllerDirectionPad.cpp deleted file mode 100644 index d5671bb481..0000000000 --- a/cocos/base/CCControllerDirectionPad.cpp +++ /dev/null @@ -1,74 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#include "CCControllerDirectionPad.h" -#include "CCControllerAxisInput.h" -#include "CCControllerButtonInput.h" - -NS_CC_BEGIN - -ControllerDirectionPad::ControllerDirectionPad() -: _up(new ControllerButtonInput()) -, _down(new ControllerButtonInput()) -, _left(new ControllerButtonInput()) -, _right(new ControllerButtonInput()) -{ - _up->setCollection(this); - _down->setCollection(this); - _left->setCollection(this); - _right->setCollection(this); -} - -ControllerDirectionPad::~ControllerDirectionPad() -{ - CC_SAFE_DELETE(_up); - CC_SAFE_DELETE(_down); - CC_SAFE_DELETE(_left); - CC_SAFE_DELETE(_right); -} - -ControllerButtonInput* ControllerDirectionPad::getUp() const -{ - return _up; -} - -ControllerButtonInput* ControllerDirectionPad::getDown() const -{ - return _down; -} - -ControllerButtonInput* ControllerDirectionPad::getLeft() const -{ - return _left; -} - -ControllerButtonInput* ControllerDirectionPad::getRight() const -{ - return _right; -} - - - -NS_CC_END \ No newline at end of file diff --git a/cocos/base/CCControllerDirectionPad.h b/cocos/base/CCControllerDirectionPad.h deleted file mode 100644 index d7dbe3041a..0000000000 --- a/cocos/base/CCControllerDirectionPad.h +++ /dev/null @@ -1,61 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#ifndef __cocos2d_libs__CCControllerDirectionPad__ -#define __cocos2d_libs__CCControllerDirectionPad__ - -#include "CCPlatformMacros.h" -#include "CCControllerElement.h" - -NS_CC_BEGIN - -class ControllerAxisInput; -class ControllerButtonInput; - -class ControllerDirectionPad : public ControllerElement -{ -public: - ControllerButtonInput* getUp() const; - ControllerButtonInput* getDown() const; - ControllerButtonInput* getLeft() const; - ControllerButtonInput* getRight() const; - -protected: - - friend class Controller; - friend class Gamepad; - - ControllerDirectionPad(); - virtual ~ControllerDirectionPad(); - - ControllerButtonInput* _up; - ControllerButtonInput* _down; - ControllerButtonInput* _left; - ControllerButtonInput* _right; -}; - -NS_CC_END - -#endif /* defined(__cocos2d_libs__CCControllerDirectionPad__) */ diff --git a/cocos/base/CCControllerElement.cpp b/cocos/base/CCControllerElement.cpp deleted file mode 100644 index fd480bfa7a..0000000000 --- a/cocos/base/CCControllerElement.cpp +++ /dev/null @@ -1,63 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#include "CCControllerElement.h" - -NS_CC_BEGIN - -ControllerElement::ControllerElement() -: _isAnalog(false) -, _collection(nullptr) -{ - -} - -ControllerElement::~ControllerElement() -{ - -} - -bool ControllerElement::isAnalog() const -{ - return _isAnalog; -} - -void ControllerElement::setAnalog(bool isAnalog) -{ - _isAnalog = isAnalog; -} - -ControllerElement* ControllerElement::getCollection() -{ - return _collection; -} - -void ControllerElement::setCollection(ControllerElement* collection) -{ - _collection = collection; -} - - -NS_CC_END \ No newline at end of file diff --git a/cocos/base/CCControllerElement.h b/cocos/base/CCControllerElement.h deleted file mode 100644 index 95f0bfd841..0000000000 --- a/cocos/base/CCControllerElement.h +++ /dev/null @@ -1,64 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#ifndef __cocos2d_libs__CCControllerElement__ -#define __cocos2d_libs__CCControllerElement__ - -#include "CCPlatformMacros.h" - -NS_CC_BEGIN - -/** - Every controller element knows which collection it belongs to and whether its input value is analog or digital. - */ -class ControllerElement -{ -public: - /** - Each element can be part of a wider collection of inputs that map to a single logical element. A directional pad (dpad) - is a logical collection of two axis inputs and thus each axis belongs to the same collection element - the dpad. - */ - ControllerElement * getCollection(); - - /** - Check if the element can support more than just digital values, such as decimal ranges between 0 and 1. - */ - bool isAnalog() const; - -protected: - - ControllerElement(); - virtual ~ControllerElement(); - - void setAnalog(bool isAnalog); - void setCollection(ControllerElement* collection); - - bool _isAnalog; - ControllerElement* _collection; -}; - -NS_CC_END - -#endif /* defined(__cocos2d_libs__CCControllerElement__) */ diff --git a/cocos/base/CCControllerThumbstick.cpp b/cocos/base/CCControllerThumbstick.cpp deleted file mode 100644 index 6b971ad10c..0000000000 --- a/cocos/base/CCControllerThumbstick.cpp +++ /dev/null @@ -1,66 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#include "CCControllerThumbStick.h" -#include "CCControllerAxisInput.h" -#include "CCControllerButtonInput.h" - -NS_CC_BEGIN - -ControllerThumbstick::ControllerThumbstick() -: _axisX(new ControllerAxisInput()) -, _axisY(new ControllerAxisInput()) -, _button(new ControllerButtonInput()) -{ - _axisX->setCollection(this); - _axisY->setCollection(this); - _button->setCollection(this); -} - -ControllerThumbstick::~ControllerThumbstick() -{ - CC_SAFE_DELETE(_axisX); - CC_SAFE_DELETE(_axisY); - CC_SAFE_DELETE(_button); -} - -ControllerAxisInput* ControllerThumbstick::getAxisX() const -{ - return _axisX; -} - -ControllerAxisInput* ControllerThumbstick::getAxisY() const -{ - return _axisY; -} - -ControllerButtonInput* ControllerThumbstick::getButton() const -{ - return _button; -} - - - -NS_CC_END diff --git a/cocos/base/CCControllerThumbstick.h b/cocos/base/CCControllerThumbstick.h deleted file mode 100644 index 83d5649b9f..0000000000 --- a/cocos/base/CCControllerThumbstick.h +++ /dev/null @@ -1,61 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#ifndef __cocos2d_libs__CCControllerThumbStick__ -#define __cocos2d_libs__CCControllerThumbStick__ - -#include "CCPlatformMacros.h" -#include "CCControllerElement.h" - -NS_CC_BEGIN - -class ControllerAxisInput; -class ControllerButtonInput; - -class ControllerThumbstick : public ControllerElement -{ -public: - ControllerAxisInput* getAxisX() const; - ControllerAxisInput* getAxisY() const; - - ControllerButtonInput* getButton() const; - -protected: - - friend class Controller; - friend class Gamepad; - - ControllerThumbstick(); - virtual ~ControllerThumbstick(); - - ControllerAxisInput* _axisX; - ControllerAxisInput* _axisY; - - ControllerButtonInput* _button; -}; - -NS_CC_END - -#endif /* defined(__cocos2d_libs__CCControllerThumbStick__) */ diff --git a/cocos/base/CCEvent.h b/cocos/base/CCEvent.h index 4bc129c052..a2c9a4d2d7 100644 --- a/cocos/base/CCEvent.h +++ b/cocos/base/CCEvent.h @@ -49,9 +49,6 @@ public: ACCELERATION, MOUSE, FOCUS, -#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS) - GAME_CONTROLLER, -#endif CUSTOM }; diff --git a/cocos/base/CCEventController.cpp b/cocos/base/CCEventController.cpp deleted file mode 100644 index 19f34ce560..0000000000 --- a/cocos/base/CCEventController.cpp +++ /dev/null @@ -1,70 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#include "CCEventController.h" - -NS_CC_BEGIN - -EventController::EventController(ControllerEventType type, Controller* controller, ControllerElement* element) -: Event(Type::GAME_CONTROLLER) -, _controllerEventType(type) -, _element(element) -, _controller(controller) -, _isConnected(true) -{ - -} - -EventController::EventController(ControllerEventType type, Controller* controller, bool isConnected) -: Event(Type::GAME_CONTROLLER) -, _controllerEventType(type) -, _element(nullptr) -, _controller(controller) -, _isConnected(isConnected) -{ - -} - -EventController::ControllerEventType EventController::getControllerEventType() const -{ - return _controllerEventType; -} - -Controller* EventController::getController() const -{ - return _controller; -} - -ControllerElement* EventController::getControllerElement() const -{ - return _element; -} - -bool EventController::isConnected() const -{ - return _isConnected; -} - -NS_CC_END diff --git a/cocos/base/CCEventController.h b/cocos/base/CCEventController.h deleted file mode 100644 index c87a8c9418..0000000000 --- a/cocos/base/CCEventController.h +++ /dev/null @@ -1,66 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#ifndef __cocos2d_libs__EventController__ -#define __cocos2d_libs__EventController__ - -#include "base/CCPlatformMacros.h" -#include "base/CCEvent.h" - -NS_CC_BEGIN - -class ControllerButtonInput; -class ControllerAxisInput; -class ControllerElement; -class Controller; - -class EventController : public Event -{ -public: - enum class ControllerEventType - { - CONNECTION, - BUTTON_STATUS_CHANGED, - AXIS_STATUS_CHANGED, - }; - - EventController(ControllerEventType type, Controller* controller, ControllerElement* element); - EventController(ControllerEventType type, Controller* controller, bool isConnected); - - ControllerEventType getControllerEventType() const; - Controller* getController() const; - ControllerElement* getControllerElement() const; - bool isConnected() const; - -protected: - ControllerEventType _controllerEventType; - ControllerElement* _element; - Controller* _controller; - bool _isConnected; -}; - -NS_CC_END - -#endif /* defined(__cocos2d_libs__EventController__) */ diff --git a/cocos/base/CCEventDispatcher.cpp b/cocos/base/CCEventDispatcher.cpp index e7bc3ae889..5ee33beaa5 100644 --- a/cocos/base/CCEventDispatcher.cpp +++ b/cocos/base/CCEventDispatcher.cpp @@ -31,9 +31,7 @@ #include "base/CCEventListenerKeyboard.h" #include "base/CCEventListenerCustom.h" #include "base/CCEventListenerFocus.h" -#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS) -#include "base/CCEventListenerController.h" -#endif + #include "2d/CCScene.h" #include "base/CCDirector.h" #include "base/CCEventType.h" @@ -96,11 +94,6 @@ static EventListener::ListenerID __getListenerID(Event* event) // return UNKNOWN instead. CCASSERT(false, "Don't call this method if the event is for touch."); break; -#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS) - case Event::Type::GAME_CONTROLLER: - ret = EventListenerController::LISTENER_ID; - break; -#endif default: CCASSERT(false, "Invalid type!"); break; diff --git a/cocos/base/CCEventListener.h b/cocos/base/CCEventListener.h index d890c6938d..ef4370289b 100644 --- a/cocos/base/CCEventListener.h +++ b/cocos/base/CCEventListener.h @@ -55,9 +55,6 @@ public: MOUSE, ACCELERATION, FOCUS, -#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_IOS) - GAME_CONTROLLER, -#endif CUSTOM }; diff --git a/cocos/base/CCEventListenerController.cpp b/cocos/base/CCEventListenerController.cpp deleted file mode 100644 index cb3c137800..0000000000 --- a/cocos/base/CCEventListenerController.cpp +++ /dev/null @@ -1,122 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#include "CCEventListenerController.h" -#include "CCEventController.h" -#include "CCControllerButtonInput.h" -#include "CCControllerAxisInput.h" -#include "ccMacros.h" - -NS_CC_BEGIN - -const std::string EventListenerController::LISTENER_ID = "__cc_controller"; - -EventListenerController* EventListenerController::create() -{ - auto ret = new EventListenerController(); - if (ret && ret->init()) - { - ret->autorelease(); - } - else - { - CC_SAFE_DELETE(ret); - } - return ret; -} - -bool EventListenerController::init() -{ - auto listener = [this](Event* event){ - auto evtController = static_cast(event); - if (evtController->getControllerEventType() == EventController::ControllerEventType::CONNECTION) - { - if (evtController->isConnected()) - { - if (this->onConnected) - this->onConnected(evtController->getController(), event); - } - else - { - if (this->onDisconnected) - this->onDisconnected(evtController->getController(), event); - } - } - else - { - switch (evtController->getControllerEventType()) { - case EventController::ControllerEventType::BUTTON_STATUS_CHANGED: - { - auto button = static_cast(evtController->getControllerElement()); - - if (this->onButtonPressed && button->isPressed() && !button->isPrevStatusPressed()) - { - this->onButtonPressed(evtController->getController(), button, event); - } - else if (this->onButtonReleased && !button->isPressed() && button->isPrevStatusPressed()) - { - this->onButtonReleased(evtController->getController(), button, event); - } - - if (this->onButtonValueChanged) - { - this->onButtonValueChanged(evtController->getController(), button, event); - } - } - break; - case EventController::ControllerEventType::AXIS_STATUS_CHANGED: - { - if (this->onAxisValueChanged) - { - auto axis = static_cast(evtController->getControllerElement()); - this->onAxisValueChanged(evtController->getController(), axis, event); - } - } - break; - default: - CCASSERT(false, "Invalid EventController type"); - break; - } - } - }; - - if (EventListener::init(EventListener::Type::GAME_CONTROLLER, LISTENER_ID, listener)) - { - return true; - } - return false; -} - -bool EventListenerController::checkAvailable() -{ - return true; -} - -EventListenerController* EventListenerController::clone() -{ - return nullptr; -} - -NS_CC_END \ No newline at end of file diff --git a/cocos/base/CCEventListenerController.h b/cocos/base/CCEventListenerController.h deleted file mode 100644 index af44711d5d..0000000000 --- a/cocos/base/CCEventListenerController.h +++ /dev/null @@ -1,65 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#ifndef __cocos2d_libs__EventListenerController__ -#define __cocos2d_libs__EventListenerController__ - -#include "base/CCPlatformMacros.h" -#include "base/CCEventListener.h" - -NS_CC_BEGIN - -class Event; -class Controller; -class ControllerButtonInput; -class ControllerAxisInput; - -class EventListenerController : public EventListener -{ -public: - static const std::string LISTENER_ID; - - static EventListenerController* create(); - - /// Overrides - virtual bool checkAvailable() override; - virtual EventListenerController* clone() override; - - std::function onConnected; - std::function onDisconnected; - - std::function onButtonPressed; - std::function onButtonReleased; - std::function onButtonValueChanged; - - std::function onAxisValueChanged; - -protected: - bool init(); -}; - -NS_CC_END - -#endif /* defined(__cocos2d_libs__EventListenerController__) */ diff --git a/cocos/base/CCGameController.h b/cocos/base/CCGameController.h deleted file mode 100644 index df195a6bf8..0000000000 --- a/cocos/base/CCGameController.h +++ /dev/null @@ -1,39 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#ifndef __cocos2d_libs__CCGameController__ -#define __cocos2d_libs__CCGameController__ - -#include "CCControllerElement.h" -#include "CCControllerButtonInput.h" -#include "CCControllerAxisInput.h" -#include "CCControllerDirectionPad.h" -#include "CCControllerThumbstick.h" -#include "CCGamepad.h" -#include "CCController.h" -#include "CCEventController.h" -#include "CCEventListenerController.h" - -#endif /* defined(__cocos2d_libs__CCGameController__) */ diff --git a/cocos/base/CCGamepad.cpp b/cocos/base/CCGamepad.cpp deleted file mode 100644 index 9502689772..0000000000 --- a/cocos/base/CCGamepad.cpp +++ /dev/null @@ -1,146 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#include "CCGamepad.h" -#include "CCControllerDirectionPad.h" -#include "CCControllerButtonInput.h" -#include "CCControllerThumbstick.h" - -NS_CC_BEGIN - -Gamepad::Gamepad() -: _controller(nullptr) -, _directionPad(new ControllerDirectionPad()) -, _buttonA(new ControllerButtonInput()) -, _buttonB(new ControllerButtonInput()) -, _buttonX(new ControllerButtonInput()) -, _buttonY(new ControllerButtonInput()) -, _buttonSelect(new ControllerButtonInput()) -, _buttonStart(new ControllerButtonInput()) -, _buttonPause(new ControllerButtonInput()) -, _leftShoulder(new ControllerButtonInput()) -, _rightShoulder(new ControllerButtonInput()) -, _leftThumbstick(new ControllerThumbstick()) -, _rightThumbstick(new ControllerThumbstick()) -, _leftTrigger(new ControllerButtonInput()) -, _rightTrigger(new ControllerButtonInput()) -{ - -} - -Gamepad::~Gamepad() -{ - CC_SAFE_DELETE(_directionPad); - CC_SAFE_DELETE(_buttonA); - CC_SAFE_DELETE(_buttonB); - CC_SAFE_DELETE(_buttonX); - CC_SAFE_DELETE(_buttonY); - CC_SAFE_DELETE(_buttonSelect); - CC_SAFE_DELETE(_buttonStart); - CC_SAFE_DELETE(_buttonPause); - CC_SAFE_DELETE(_leftShoulder); - CC_SAFE_DELETE(_rightShoulder); - CC_SAFE_DELETE(_leftThumbstick); - CC_SAFE_DELETE(_rightThumbstick); - CC_SAFE_DELETE(_leftTrigger); - CC_SAFE_DELETE(_rightTrigger); -} - -Controller* Gamepad::getController() -{ - return _controller; -} - -ControllerDirectionPad* Gamepad::getDirectionPad() const -{ - return _directionPad; -} - -ControllerButtonInput* Gamepad::getButtonA() const -{ - return _buttonA; -} - -ControllerButtonInput* Gamepad::getButtonB() const -{ - return _buttonB; -} - -ControllerButtonInput* Gamepad::getButtonX() const -{ - return _buttonX; -} - -ControllerButtonInput* Gamepad::getButtonY() const -{ - return _buttonY; -} - -ControllerButtonInput* Gamepad::getButtonPause() const -{ - return _buttonPause; -} - -ControllerButtonInput* Gamepad::getButtonSelect() const -{ - return _buttonSelect; -} - -ControllerButtonInput* Gamepad::getButtonStart() const -{ - return _buttonStart; -} - -ControllerButtonInput* Gamepad::getLeftShoulder() const -{ - return _leftShoulder; -} - -ControllerButtonInput* Gamepad::getRightShoulder() const -{ - return _rightShoulder; -} - -ControllerThumbstick* Gamepad::getLeftThumbstick() const -{ - return _leftThumbstick; -} - -ControllerThumbstick* Gamepad::getRightThumbstick() const -{ - return _rightThumbstick; -} - -ControllerButtonInput* Gamepad::getLeftTrigger() const -{ - return _leftTrigger; -} - -ControllerButtonInput* Gamepad::getRightTrigger() const -{ - return _rightTrigger; -} - -NS_CC_END diff --git a/cocos/base/CCGamepad.h b/cocos/base/CCGamepad.h deleted file mode 100644 index 472fdb08e4..0000000000 --- a/cocos/base/CCGamepad.h +++ /dev/null @@ -1,122 +0,0 @@ -/**************************************************************************** - Copyright (c) 2014 cocos2d-x.org - Copyright (c) 2014 Chukong Technologies Inc. - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#ifndef __cocos2d_libs__CCGamepad__ -#define __cocos2d_libs__CCGamepad__ - -#include "CCPlatformMacros.h" - -NS_CC_BEGIN - -class ControllerButtonInput; -class ControllerDirectionPad; -class ControllerThumbstick; -class Controller; - -class Gamepad -{ -public: - /** - A profile keeps a reference to the controller that this profile is mapping input from. - */ - Controller* getController(); - - // API for Standard / Extended Gamepad - - ControllerDirectionPad* getDirectionPad() const; - - /** - All face buttons are required to be analog in the Extended profile. These must be arranged - in the diamond pattern given below: - Y - / \ - X B - \ / - A - */ - ControllerButtonInput* getButtonA() const; - ControllerButtonInput* getButtonB() const; - ControllerButtonInput* getButtonX() const; - ControllerButtonInput* getButtonY() const; - - // Select button - ControllerButtonInput* getButtonSelect() const; - - // Start button - ControllerButtonInput* getButtonStart() const; - - // Pause button - ControllerButtonInput* getButtonPause() const; - - // Shoulder buttons - ControllerButtonInput* getLeftShoulder() const; - ControllerButtonInput* getRightShoulder() const; - - // API for Extended Gamepad only - - /** - A thumbstick is a 2-axis control that is physically required to be analog. All the elements of this directional input are thus analog. - */ - ControllerThumbstick* getLeftThumbstick() const; - ControllerThumbstick* getRightThumbstick() const; - - /** - If Trigger button supports analog inputs, it could be used as acceleration and decelleration in a driving game for example. - */ - ControllerButtonInput* getLeftTrigger() const; - ControllerButtonInput* getRightTrigger() const; - -protected: - - Gamepad(); - virtual ~Gamepad(); - - friend class Controller; - Controller* _controller; - - ControllerDirectionPad* _directionPad; - - ControllerButtonInput* _buttonA; - ControllerButtonInput* _buttonB; - ControllerButtonInput* _buttonX; - ControllerButtonInput* _buttonY; - - ControllerButtonInput* _buttonSelect; - ControllerButtonInput* _buttonStart; - ControllerButtonInput* _buttonPause; - - ControllerButtonInput* _leftShoulder; - ControllerButtonInput* _rightShoulder; - - ControllerThumbstick* _leftThumbstick; - ControllerThumbstick* _rightThumbstick; - - ControllerButtonInput* _leftTrigger; - ControllerButtonInput* _rightTrigger; -}; - -NS_CC_END - -#endif /* defined(__cocos2d_libs__CCGamepad__) */ diff --git a/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimeline.cpp b/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimeline.cpp index 7ec73711d8..5ec1b1ca83 100644 --- a/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimeline.cpp +++ b/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimeline.cpp @@ -102,16 +102,10 @@ void ActionTimeline::gotoFrameAndPlay(int startIndex, bool loop) void ActionTimeline::gotoFrameAndPlay(int startIndex, int endIndex, bool loop) { - gotoFrameAndPlay(startIndex, endIndex, startIndex, loop); -} - -void ActionTimeline::gotoFrameAndPlay(int startIndex, int endIndex, int currentFrameIndex, bool loop) -{ - _startFrame = startIndex; - _endFrame = endIndex; - _currentFrame = currentFrameIndex; - _loop = loop; - _time = _currentFrame*_frameInternal; + _startFrame = _currentFrame = startIndex; + _endFrame = endIndex; + _loop = loop; + _time = _currentFrame * _frameInternal; resume(); gotoFrame(_currentFrame); @@ -141,19 +135,6 @@ bool ActionTimeline::isPlaying() const return _playing; } -void ActionTimeline::setCurrentFrame(int frameIndex) -{ - if (frameIndex >= _startFrame && frameIndex >= _endFrame) - { - _currentFrame = frameIndex; - _time = _currentFrame*_frameInternal; - } - else - { - CCLOG("frame index is not between start frame and end frame"); - } -} - ActionTimeline* ActionTimeline::clone() const { ActionTimeline* newAction = ActionTimeline::create(); diff --git a/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimeline.h b/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimeline.h index 211f1d290a..e14f8e82b6 100644 --- a/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimeline.h +++ b/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimeline.h @@ -75,14 +75,6 @@ public: */ virtual void gotoFrameAndPlay(int startIndex, int endIndex, bool loop); - /** Goto the specified frame index, and start playing from start index, end at end index. - * @param startIndex The animation will play from this index. - * @param endIndex The animation will end at this index. - * @param currentFrameIndex set current frame index. - * @param loop Whether or not the animation need loop. - */ - virtual void gotoFrameAndPlay(int startIndex, int endIndex, int currentFrameIndex, bool loop); - /** Goto the specified frame index, and pause at this index. * @param startIndex The animation will pause at this index. */ @@ -113,8 +105,6 @@ public: * or it will play from start frame again. */ virtual int getEndFrame() const { return _endFrame; } - /** Set current frame index, this will cause action plays to this frame. */ - virtual void setCurrentFrame(int frameIndex); /** Get current frame. */ virtual int getCurrentFrame() const { return _currentFrame; } diff --git a/cocos/editor-support/cocostudio/Android.mk b/cocos/editor-support/cocostudio/Android.mk index 192f0e8f46..de25e273e2 100644 --- a/cocos/editor-support/cocostudio/Android.mk +++ b/cocos/editor-support/cocostudio/Android.mk @@ -57,8 +57,8 @@ WidgetReader/TextReader/TextReader.cpp \ ActionTimeline/CCNodeReader.cpp \ ActionTimeline/CCActionTimelineCache.cpp \ ActionTimeline/CCFrame.cpp \ -ActionTimeline/CCTimeLine.cpp \ -ActionTimeline/CCActionTimeline.cpp +ActionTimeline/CCTimeline.cpp \ +ActionTimeline/CCActionTimeline.cpp \ LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/.. \ $(LOCAL_PATH)/../../../external diff --git a/cocos/platform/android/ControllerDelegate/.classpath b/cocos/platform/android/ControllerDelegate/.classpath deleted file mode 100644 index 51769745b2..0000000000 --- a/cocos/platform/android/ControllerDelegate/.classpath +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/cocos/platform/android/ControllerDelegate/.project b/cocos/platform/android/ControllerDelegate/.project deleted file mode 100644 index 6711d455fd..0000000000 --- a/cocos/platform/android/ControllerDelegate/.project +++ /dev/null @@ -1,33 +0,0 @@ - - - libcontrollerdelegate - - - - - - com.android.ide.eclipse.adt.ResourceManagerBuilder - - - - - com.android.ide.eclipse.adt.PreCompilerBuilder - - - - - org.eclipse.jdt.core.javabuilder - - - - - com.android.ide.eclipse.adt.ApkBuilder - - - - - - com.android.ide.eclipse.adt.AndroidNature - org.eclipse.jdt.core.javanature - - diff --git a/cocos/platform/android/ControllerDelegate/.settings/org.eclipse.jdt.core.prefs b/cocos/platform/android/ControllerDelegate/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index b080d2ddc8..0000000000 --- a/cocos/platform/android/ControllerDelegate/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,4 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.source=1.6 diff --git a/cocos/platform/android/ControllerDelegate/AndroidManifest.xml b/cocos/platform/android/ControllerDelegate/AndroidManifest.xml deleted file mode 100644 index d1f4a837d8..0000000000 --- a/cocos/platform/android/ControllerDelegate/AndroidManifest.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/cocos/platform/android/ControllerDelegate/ant.properties b/cocos/platform/android/ControllerDelegate/ant.properties deleted file mode 100644 index b0971e891e..0000000000 --- a/cocos/platform/android/ControllerDelegate/ant.properties +++ /dev/null @@ -1,17 +0,0 @@ -# This file is used to override default values used by the Ant build system. -# -# This file must be checked into Version Control Systems, as it is -# integral to the build system of your project. - -# This file is only used by the Ant script. - -# You can use this to override default values such as -# 'source.dir' for the location of your java source folder and -# 'out.dir' for the location of your output folder. - -# You can also use it define how the release builds are signed by declaring -# the following properties: -# 'key.store' for the location of your keystore and -# 'key.alias' for the name of the key to use. -# The password will be asked during the build when you use the 'release' target. - diff --git a/cocos/platform/android/ControllerDelegate/build.xml b/cocos/platform/android/ControllerDelegate/build.xml deleted file mode 100644 index e7b47db095..0000000000 --- a/cocos/platform/android/ControllerDelegate/build.xml +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cocos/platform/android/ControllerDelegate/proguard-project.txt b/cocos/platform/android/ControllerDelegate/proguard-project.txt deleted file mode 100644 index f2fe1559a2..0000000000 --- a/cocos/platform/android/ControllerDelegate/proguard-project.txt +++ /dev/null @@ -1,20 +0,0 @@ -# To enable ProGuard in your project, edit project.properties -# to define the proguard.config property as described in that file. -# -# Add project specific ProGuard rules here. -# By default, the flags in this file are appended to flags specified -# in ${sdk.dir}/tools/proguard/proguard-android.txt -# You can edit the include path and order by changing the ProGuard -# include property in project.properties. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# Add any project specific keep options here: - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} diff --git a/cocos/platform/android/ControllerDelegate/res/.gitignore b/cocos/platform/android/ControllerDelegate/res/.gitignore deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cocos/platform/android/ControllerDelegate/src/org/cocos2dx/lib/GameControllerDelegate.java b/cocos/platform/android/ControllerDelegate/src/org/cocos2dx/lib/GameControllerDelegate.java deleted file mode 100644 index 68d486d3e6..0000000000 --- a/cocos/platform/android/ControllerDelegate/src/org/cocos2dx/lib/GameControllerDelegate.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.cocos2dx.lib; - -import android.content.Context; -import android.view.KeyEvent; -import android.view.MotionEvent; - -public interface GameControllerDelegate { - - public static final int THUMBSTICK_LEFT_X = 100; - public static final int THUMBSTICK_LEFT_Y = 101; - public static final int THUMBSTICK_RIGHT_X = 102; - public static final int THUMBSTICK_RIGHT_Y = 103; - - public static final int BUTTON_A = 110; - public static final int BUTTON_B = 111; - public static final int BUTTON_C = 112; - public static final int BUTTON_X = 113; - public static final int BUTTON_Y = 114; - public static final int BUTTON_Z = 115; - - public static final int BUTTON_LEFT_SHOULDER = 120; - public static final int BUTTON_RIGHT_SHOULDER = 121; - public static final int BUTTON_LEFT_TRIGGER = 122; - public static final int BUTTON_RIGHT_TRIGGER = 123; - - public static final int BUTTON_DPAD_UP = 130; - public static final int BUTTON_DPAD_DOWN = 131; - public static final int BUTTON_DPAD_LEFT = 132; - public static final int BUTTON_DPAD_RIGHT = 133; - public static final int BUTTON_DPAD_CENTER = 134; - - public static final int BUTTON_LEFT_THUMBSTICK = 140; - public static final int BUTTON_RIGHT_THUMBSTICK = 141; - - public static final int BUTTON_START = 150; - public static final int BUTTON_SELECT = 151; - - void onCreate(Context context); - void onPause(); - void onResume(); - void onDestroy(); - - boolean dispatchKeyEvent(KeyEvent event); - boolean dispatchGenericMotionEvent(MotionEvent event); - - void setControllerEventListener(ControllerEventListener listener); - - public interface ControllerEventListener { - void onButtonEvent(String vendorName, int controller, int button, boolean isPressed, float value, boolean isAnalog); - void onAxisEvent(String vendorName, int controller, int axisID, float value, boolean isAnalog); - - void onConnected(String vendorName, int controller); - void onDisconnected(String vendorName, int controller); - } -} diff --git a/cocos/platform/android/ControllerMoga/.classpath b/cocos/platform/android/ControllerMoga/.classpath deleted file mode 100644 index 51769745b2..0000000000 --- a/cocos/platform/android/ControllerMoga/.classpath +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/cocos/platform/android/ControllerMoga/.project b/cocos/platform/android/ControllerMoga/.project deleted file mode 100644 index 277e4ef529..0000000000 --- a/cocos/platform/android/ControllerMoga/.project +++ /dev/null @@ -1,33 +0,0 @@ - - - libcontrollermoga - - - - - - com.android.ide.eclipse.adt.ResourceManagerBuilder - - - - - com.android.ide.eclipse.adt.PreCompilerBuilder - - - - - org.eclipse.jdt.core.javabuilder - - - - - com.android.ide.eclipse.adt.ApkBuilder - - - - - - com.android.ide.eclipse.adt.AndroidNature - org.eclipse.jdt.core.javanature - - diff --git a/cocos/platform/android/ControllerMoga/.settings/org.eclipse.jdt.core.prefs b/cocos/platform/android/ControllerMoga/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index b080d2ddc8..0000000000 --- a/cocos/platform/android/ControllerMoga/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,4 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.source=1.6 diff --git a/cocos/platform/android/ControllerMoga/AndroidManifest.xml b/cocos/platform/android/ControllerMoga/AndroidManifest.xml deleted file mode 100644 index 59280ad35d..0000000000 --- a/cocos/platform/android/ControllerMoga/AndroidManifest.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/cocos/platform/android/ControllerMoga/ant.properties b/cocos/platform/android/ControllerMoga/ant.properties deleted file mode 100644 index b0971e891e..0000000000 --- a/cocos/platform/android/ControllerMoga/ant.properties +++ /dev/null @@ -1,17 +0,0 @@ -# This file is used to override default values used by the Ant build system. -# -# This file must be checked into Version Control Systems, as it is -# integral to the build system of your project. - -# This file is only used by the Ant script. - -# You can use this to override default values such as -# 'source.dir' for the location of your java source folder and -# 'out.dir' for the location of your output folder. - -# You can also use it define how the release builds are signed by declaring -# the following properties: -# 'key.store' for the location of your keystore and -# 'key.alias' for the name of the key to use. -# The password will be asked during the build when you use the 'release' target. - diff --git a/cocos/platform/android/ControllerMoga/build.xml b/cocos/platform/android/ControllerMoga/build.xml deleted file mode 100644 index 83af41e723..0000000000 --- a/cocos/platform/android/ControllerMoga/build.xml +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cocos/platform/android/ControllerMoga/libs/com.bda.controller.jar b/cocos/platform/android/ControllerMoga/libs/com.bda.controller.jar deleted file mode 100644 index f71dbece3486a143c4fe6feba4152a71587ebba6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30211 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ౖz!nQ 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 diff --git a/cocos/platform/android/ControllerMoga/proguard-project.txt b/cocos/platform/android/ControllerMoga/proguard-project.txt deleted file mode 100644 index 07cce2d791..0000000000 --- a/cocos/platform/android/ControllerMoga/proguard-project.txt +++ /dev/null @@ -1,23 +0,0 @@ -# To enable ProGuard in your project, edit project.properties -# to define the proguard.config property as described in that file. -# -# Add project specific ProGuard rules here. -# By default, the flags in this file are appended to flags specified -# in ${sdk.dir}/tools/proguard/proguard-android.txt -# You can edit the include path and order by changing the ProGuard -# include property in project.properties. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# Add any project specific keep options here: - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} --libraryjars com.bda.controller.jar --dontwarn com.bda.controller.* --keep class org.cocos2dx.lib.*{*;} \ No newline at end of file diff --git a/cocos/platform/android/ControllerMoga/res/.gitignore b/cocos/platform/android/ControllerMoga/res/.gitignore deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cocos/platform/android/ControllerMoga/src/org/cocos2dx/lib/GameControllerMoga.java b/cocos/platform/android/ControllerMoga/src/org/cocos2dx/lib/GameControllerMoga.java deleted file mode 100644 index c08bfb988f..0000000000 --- a/cocos/platform/android/ControllerMoga/src/org/cocos2dx/lib/GameControllerMoga.java +++ /dev/null @@ -1,191 +0,0 @@ -package org.cocos2dx.lib; - -import org.cocos2dx.lib.GameControllerDelegate; - -import android.content.Context; -import android.os.Handler; -import android.util.SparseIntArray; - -import com.bda.controller.Controller; -import com.bda.controller.ControllerListener; -import com.bda.controller.KeyEvent; -import com.bda.controller.MotionEvent; -import com.bda.controller.StateEvent; - -public class GameControllerMoga implements ControllerListener, GameControllerDelegate { - - private static final String mVendorName = "Moga"; - - private float mOldLeftThumbstickX = 0.0f; - private float mOldLeftThumbstickY = 0.0f; - private float mOldRightThumbstickX = 0.0f; - private float mOldRightThumbstickY = 0.0f; - - private SparseIntArray mKeyMap = null; - - public GameControllerMoga() { - mKeyMap = new SparseIntArray(20); - mKeyMap.put(KeyEvent.KEYCODE_BUTTON_A, GameControllerDelegate.BUTTON_A); - mKeyMap.put(KeyEvent.KEYCODE_BUTTON_B, GameControllerDelegate.BUTTON_B); - mKeyMap.put(KeyEvent.KEYCODE_BUTTON_X, GameControllerDelegate.BUTTON_X); - mKeyMap.put(KeyEvent.KEYCODE_BUTTON_Y, GameControllerDelegate.BUTTON_Y); - - mKeyMap.put(KeyEvent.KEYCODE_BUTTON_L1, - GameControllerDelegate.BUTTON_LEFT_SHOULDER); - mKeyMap.put(KeyEvent.KEYCODE_BUTTON_R1, - GameControllerDelegate.BUTTON_RIGHT_SHOULDER); - mKeyMap.put(KeyEvent.KEYCODE_BUTTON_L2, - GameControllerDelegate.BUTTON_LEFT_TRIGGER); - mKeyMap.put(KeyEvent.KEYCODE_BUTTON_R2, - GameControllerDelegate.BUTTON_RIGHT_TRIGGER); - - mKeyMap.put(KeyEvent.KEYCODE_DPAD_UP, - GameControllerDelegate.BUTTON_DPAD_UP); - mKeyMap.put(KeyEvent.KEYCODE_DPAD_DOWN, - GameControllerDelegate.BUTTON_DPAD_DOWN); - mKeyMap.put(KeyEvent.KEYCODE_DPAD_LEFT, - GameControllerDelegate.BUTTON_DPAD_LEFT); - mKeyMap.put(KeyEvent.KEYCODE_DPAD_RIGHT, - GameControllerDelegate.BUTTON_DPAD_RIGHT); - - mKeyMap.put(KeyEvent.KEYCODE_BUTTON_START, - GameControllerDelegate.BUTTON_START); - mKeyMap.put(KeyEvent.KEYCODE_BUTTON_SELECT, - GameControllerDelegate.BUTTON_SELECT); - mKeyMap.put(KeyEvent.KEYCODE_BUTTON_START, - GameControllerDelegate.BUTTON_START); - mKeyMap.put(KeyEvent.KEYCODE_BUTTON_THUMBL, - GameControllerDelegate.BUTTON_LEFT_THUMBSTICK); - mKeyMap.put(KeyEvent.KEYCODE_BUTTON_THUMBR, - GameControllerDelegate.BUTTON_RIGHT_THUMBSTICK); - } - - public void onKeyEvent(KeyEvent event) { - boolean isPressed = event.getAction() == KeyEvent.ACTION_DOWN; - int keycode = event.getKeyCode(); - boolean isAnalog = false; - - if (keycode == KeyEvent.KEYCODE_BUTTON_THUMBL - || keycode == KeyEvent.KEYCODE_BUTTON_THUMBR) { - isAnalog = true; - } - - if (mKeyMap.get(keycode, Integer.MIN_VALUE) != Integer.MIN_VALUE && mControllerEventListener != null) { - mControllerEventListener.onButtonEvent(mVendorName, - event.getControllerId(), mKeyMap.get(keycode), isPressed, - isPressed ? 1.0f : 0.0f, isAnalog); - } - } - - @Override - public void onMotionEvent(MotionEvent event) { - if (mControllerEventListener == null) { - return; - } - float newLeftThumbstickX = event.getAxisValue(MotionEvent.AXIS_X); - if (newLeftThumbstickX != mOldLeftThumbstickX) { - mControllerEventListener.onAxisEvent(mVendorName, - event.getControllerId(), - GameControllerDelegate.THUMBSTICK_LEFT_X, - newLeftThumbstickX, true); - mOldLeftThumbstickX = newLeftThumbstickX; - } - - float newLeftThumbstickY = event.getAxisValue(MotionEvent.AXIS_Y); - if (newLeftThumbstickY != mOldLeftThumbstickY) { - mControllerEventListener.onAxisEvent(mVendorName, - event.getControllerId(), - GameControllerDelegate.THUMBSTICK_LEFT_Y, - newLeftThumbstickY, true); - mOldLeftThumbstickY = newLeftThumbstickY; - } - - float newRightThumbstickX = event.getAxisValue(MotionEvent.AXIS_Z); - if (newRightThumbstickX != mOldRightThumbstickX) { - mControllerEventListener.onAxisEvent(mVendorName, - event.getControllerId(), - GameControllerDelegate.THUMBSTICK_RIGHT_X, - newRightThumbstickX, true); - mOldRightThumbstickX = newRightThumbstickX; - } - - float newRightThumbstickY = event.getAxisValue(MotionEvent.AXIS_RZ); - if (newRightThumbstickY != mOldRightThumbstickY) { - mControllerEventListener.onAxisEvent(mVendorName, - event.getControllerId(), - GameControllerDelegate.THUMBSTICK_RIGHT_Y, - newRightThumbstickY, true); - mOldRightThumbstickY = newRightThumbstickY; - } - } - - @Override - public void onStateEvent(StateEvent event) { - if (mControllerEventListener != null) { - switch (event.getState()) { - case StateEvent.STATE_CONNECTION: - switch (event.getAction()) { - case StateEvent.ACTION_DISCONNECTED: - // disconnected from controller - mControllerEventListener.onDisconnected(mVendorName, - event.getControllerId()); - break; - case StateEvent.ACTION_CONNECTED: - // connected to controller - mControllerEventListener.onConnected(mVendorName, - event.getControllerId()); - break; - case StateEvent.ACTION_CONNECTING: - // attempting to connect to controller - break; - } - break; - case StateEvent.STATE_POWER_LOW: - if (event.getAction() == StateEvent.ACTION_TRUE) { - // controller has entered low power state - } else { - // controller has entered normal power state - } - break; - } - } - } - - private Controller mController = null; - - public void onCreate(Context context) { - mController = Controller.getInstance(context); - - mController.init(); - mController.setListener(this, new Handler()); - } - - public void onPause() { - mController.onPause(); - } - - public void onResume() { - mController.onResume(); - } - - public void onDestroy() { - mController.exit(); - } - - private ControllerEventListener mControllerEventListener; - @Override - public void setControllerEventListener(ControllerEventListener listener) { - mControllerEventListener = listener; - } - - @Override - public boolean dispatchKeyEvent(android.view.KeyEvent event) { - return false; - } - - @Override - public boolean dispatchGenericMotionEvent(android.view.MotionEvent event) { - return false; - } - -} diff --git a/cocos/platform/android/ControllerNibiru/.classpath b/cocos/platform/android/ControllerNibiru/.classpath deleted file mode 100644 index 51769745b2..0000000000 --- a/cocos/platform/android/ControllerNibiru/.classpath +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/cocos/platform/android/ControllerNibiru/.project b/cocos/platform/android/ControllerNibiru/.project deleted file mode 100644 index c540b70b88..0000000000 --- a/cocos/platform/android/ControllerNibiru/.project +++ /dev/null @@ -1,33 +0,0 @@ - - - libcontrollernibiru - - - - - - com.android.ide.eclipse.adt.ResourceManagerBuilder - - - - - com.android.ide.eclipse.adt.PreCompilerBuilder - - - - - org.eclipse.jdt.core.javabuilder - - - - - com.android.ide.eclipse.adt.ApkBuilder - - - - - - com.android.ide.eclipse.adt.AndroidNature - org.eclipse.jdt.core.javanature - - diff --git a/cocos/platform/android/ControllerNibiru/.settings/org.eclipse.jdt.core.prefs b/cocos/platform/android/ControllerNibiru/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index b080d2ddc8..0000000000 --- a/cocos/platform/android/ControllerNibiru/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,4 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.source=1.6 diff --git a/cocos/platform/android/ControllerNibiru/AndroidManifest.xml b/cocos/platform/android/ControllerNibiru/AndroidManifest.xml deleted file mode 100644 index d1f4a837d8..0000000000 --- a/cocos/platform/android/ControllerNibiru/AndroidManifest.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/cocos/platform/android/ControllerNibiru/ant.properties b/cocos/platform/android/ControllerNibiru/ant.properties deleted file mode 100644 index b0971e891e..0000000000 --- a/cocos/platform/android/ControllerNibiru/ant.properties +++ /dev/null @@ -1,17 +0,0 @@ -# This file is used to override default values used by the Ant build system. -# -# This file must be checked into Version Control Systems, as it is -# integral to the build system of your project. - -# This file is only used by the Ant script. - -# You can use this to override default values such as -# 'source.dir' for the location of your java source folder and -# 'out.dir' for the location of your output folder. - -# You can also use it define how the release builds are signed by declaring -# the following properties: -# 'key.store' for the location of your keystore and -# 'key.alias' for the name of the key to use. -# The password will be asked during the build when you use the 'release' target. - diff --git a/cocos/platform/android/ControllerNibiru/build.xml b/cocos/platform/android/ControllerNibiru/build.xml deleted file mode 100644 index 5e73af0ac0..0000000000 --- a/cocos/platform/android/ControllerNibiru/build.xml +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cocos/platform/android/ControllerNibiru/libs/nibiru_lib_2_1_7.jar b/cocos/platform/android/ControllerNibiru/libs/nibiru_lib_2_1_7.jar deleted file mode 100644 index 9cd732aa00ad9c702e1b8b1a611602d8d11077bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190102 zcmbTd1#n!;vLz~JW@ffp3>GspGc&cAY)Q7L#mvlX$zrg;Vz8JjW@cvkI_KOsciu!? zzdzF*6}@A3bjQxjRVyo3Whu)+LSccyy}wPq7K(%YZ!fI(YXu2)5rB-MB(s8uqKu@3 znmUt$FEC&l$`vu~Z@cpOw??d@N{<-}7 zw`PtG%s?Ac8y9zGdmB?`Ge@ACi=(~0g$uLT|GHGOaPhD)v!GG}{_pqxx+QPp>Sh77 zaA7jDH*t04yK$Togn@yfgaLZMczD2|c)%!1!r(;Fjj~9>kc_vr%~0%R_HJ&@m`cLX zzwz%qx5ei_XJ*diug}zuY^&#tY{skS5=g?FY(MM2w2c&wH5~mU}o{}fiN98{-l=cTF^9`cIgnPn|3@s zz)#T&@*G4N>>0GG5aajB5EbZ^TeP+JKvq=jqf+aSCqWLs6_};9EwkDL21Es5tmp2u zwX6&W>{&Rzc!af#D)1S<#*Qak2>S2wt#*EL_~yRInGU%WRny4JO-TD=fn4q zj0ys%8Y;HdDDOnqNLF&YY|sDp!)sgmRi z$7a=_B}0cEc5lypa29exhcfZWg9q8C4r&O&AM*ta6suuB9keA?4^odg@)m%dJx}lh z?e|~GvyTV20*H5@s6Tbvd(S^MTSN0LSRj#L|g%qFC;FX zKZOx;e{4;D>jW9(7R2*mIW_`uWubVfm+5GFB)y;wM1KX(Dzi_IGMP zLf_qN{NttY>~KT9?xdbgL&>DF33O2+| zMGUcR?WYM<X>3r^BgKR5BFl%DlEjVYhqp z3P4vf#T)uNJ)6<~hh7IPZLCY$|cY-xo|c62*)3BXt;Xya;I;DIlPE_!<62{%CMR&Ess%zMa+=8 zzuS-U7>AC|BXMYVQ-!Ouim)u2-^<(1wU>2{sUz_S(Bo@+nlL<75!2iz;R@i;2@G-9 zy{K8==-ozMvSvLK#?)~ZYh)x!eQZGNo>qJX9sP;o3zZnRc3rSKa;xiA(RHvu=nD z$MeKt#38>~~V`lfC z62^PB!0~|5l!O5wE9Lwj^uPUId4l3)J$_`{ey(<=4a4rQoT9MI@N(5@>&q4)r+TFt zfrk%Oi!qFGTOD7@Lv=K2P4-b$LiQCXzXo>~N*u#*$85fSvuZeE9gt)A7fpMoXvRM`WahQKi+t@o;1p7N{ zzA5^hI+b>^_G&dFdu=2vgQiz&IJiH0j!^n93o%gk3}Tcy1xB1>^@ zH@nE&4SijNQuM%3CrNe%8&%E^Op(H0`qJXnwkFM?c{49@OJnqOZC!PT$8Cm?@~lv_ z4g(R8UXG4%_bcnOA>!VCGeTsI)s(_8waAQ8t{tg&6?57U zD|9%wUw;k!37O{Rs;WfFM*l}=vkj7u8_Jpsr%9?VCL1+P&X`G* zd|dD2Oq=2*sP?x<@5yJkP2^83y{OfTh1fA}FGp*lu*kF8Qa zJ4Y(QL4rAIT{pc`qmn9CKj73K!7J85`sL2(Vn5%X>G_xTth;j-@84)d=5jAn|A*|~VBnV+qn4~FU z2cT^IcvU7pktoC@?S#A6bQkBp6_{BUra`+IpfJLRKFU?IE?z(1i;0vRX3R6INx}cw z8tybNnwkEHw-~x#W(7@XQZ$;iWa7qSAA7*oa}my0I0kjU$9#qob+4TV3k zhVR|4e4l@l2J$k(%ayR~A4x;}>YX$Q)?xkwY2YvfjYjo^Q&#T@RIk$SYxvbt-_KXU$&;NXSMVuseA|}# zAXioiMAWlMW82lhqLsbF9iL6!xGV0Cd7d;O1t8gG)2iPsIytkiWaZ1_z(%Sdz0sGE zu^6gu{8H2|^lIc5w@V5FUxbGQ;e&*GYzAZooCn}U>|P-LEP!kNwBxHRT`u zV@+l953MGt8#zuXW4)~e%p@t!)BNzy;N61)Y3{ATp9UZM4{lOKgb8}nj~+8NDbUmT zVLaebp+uod8u^@ymF<~AI^*LlZ7;iyojw2Lxf>WCHv+Ra)$4P|=2pjJ0G7?GJL~lc zVBcx*r-~pț$HrkJ7a3OEsH1) z7;L-SZ{$aZOce$V^OBe(k;jh;5KiGHQtIvGZ?t;!?9cxuETCxfsGhD7S59<##Cx7U z1d&N-3&NcK@IMJ>HTq$|zP9>Vdc9z_GRB1edPhckJw2x-#Qj4-ju zXGgZR)dVf*c8<=qE-&r5hlsL|#ip?lfo8&*x~o4Ph|*bSb={B0so<+Il=K(p+RX$_ z?aN+9n{32-Hg7mN8y~lE0?w2OhiYzRUMASeMjmPoZS+E&$P_?9drK5}ineQeG&Yoe z8K%8@$<`B4wgx8gNr|`mwS|(>VozuV0w$^cqCxXHS9Jvb_s$H+Y=4m6!Mk1_L6?aWDQvcYgUaF#M6_zqC z8JQghaZdOb7+3SdxcDK!z&zepF#oR^-ufRXW~n819Y>CM@O-Etjeukhg9 z(DJ`xStuyO$)W2~F`V>-bvq*iLbTPZ!=Dg-vwSxuZo;xR73p#{$7<`W4*+ zJ^cJ+s(spKK0tv)iwN5`rjelc`S2*+;-a?9N$a9k&3;oap6faT}pDc<#r}k%Qs2NG;k-@_mHcM@>WlGd+uP0*(=?}2swd* zL^|xM&IOK|vU-)2jx8R9=LSXVKh*|@nti^exy-Xv-oNxYeM~Kgj-C=C6ID<^mMMtc z? z;0w0{%XTp3ff%PMWJj_3mERTa0Zz+G7cM1wAdIGpBRBK_AYJ5E9Oh4X-Ht8C&QFFE zSeCd&QoP6$#3{+DNb$g@1CMhkM41P87B%7zr!HK~7uTDSs58q6cF5O?j{U>k({>Zed7EX>XZW10AKsPGZe}Enpr=SGEiUwNy z(Ro?)749D05l;lA!jPN>WNaF6v1KgE@16palK9(AEAmZNiHhI_{FQF&SeBm-HbdTu z*Y{D8@8#ad8`ddQfzX1`j*Ee-oa=X8b?gvDm>bE5LCI;hz*%cUc6Gv%(Tvwrr54H- z0-n87Z7-7ylcvc%TkCouH@9_tr!DveAQMFeqRf<{yU$LD6jE3f2?9*39TaMV3Eg!f zt^0b#WEz~~O)UAB@&UX_lcjL%Y!Ra-XL1b`xz zv83i{nq!4vgah}t%|lou3FavrT1ll2MAbu2OuQ*sej>si(wZ13_jHr6j&6zq&~&-5 zN*F(7&T>YVUolu8hV9^ZlUNXxFk zG4E{GY)nPJ=jTV_PC;ITbOc?5MFil7<^p3Q2?Plf+3rMF<7S2tP7}?bvh7$&@(?5h zf5ZS5PLEsgmyR0=3_A*t6@;bi6XDc zCAFCB8DdjDY5M8>-EqwZbbrl(-ts}HxP=Nue&WqTdF_loKZQ9eIlkDguwmk9 z?wyYp2N}76f>@7#{x9BbfLSR}nG-I2H+!gw*UBpe0ZOtZMh;3PcT zx8u&(>Q6{~$#?xuCvhh~If*`-YiAQaW^XyI;hn3EqkgtpM#lGeL!6s8ql@%5ez* zJXb?~HET_@E_)OZZ9TbokJwD^@2*qI52+Z3t9{ubwBBFz&4T_zTqLJ}gumFT$(#?V- z&a6ylZ+{Mdg4Oj)Qinm~@M~{2Ohhq44c3$&5hQ7+6uB;paaV-W-59S>b`#%MZ)~!*_G7Hbur6o@A_Rx#`TvDw~$;2>|KJvce6Rl z)utFclPzXrQ6S_z_?A?SQEvFMW(A59I>T3*&T((v5F%Md=rB^rAs&g%__dk;vc24B zlqBbUdab;V|2zTzyeKvKFM(z|aR8e`#t9k^5!rRDy!{HQ_ z_sU#R-0x;t8UeE2EC_8Tj8o}Gq1sYibp2d+RB6*ok4;skO^f+_DsY#b)*|%g^9r%f z1a#8hZ0@cZbWYkL7;uliq_W>8V#$tD50o(?a1g&0XKP<6HC*vpo8YNr2aoZ0mJ}R5I3y`LzQI#c7 zV$@0(ZIZ`oYy)C2IJQ&DGipVl3v4nyhsaqBoQ3epld#O+lv3l@qPpkif1J^?W3!P0 zz%=DGaJW-%YWE`*#nIyz|Hec={uVX{I>)9q59q>(!M9Yxkj=~m1ZL6JN-YO{Y*J)W ziSh77@Tn44N|#EE7Y03`r%PYLooy0>mVb^bu6ZN1@7wyiC8e1;6}+c6DeHbWP5~pL z4w}F-_}Qcic%YhDq>5Z*;Lf+}tFkc0bk|hsYyK<*^O8`tO5aZL8_MF_xM&;oSkits zy6$4%qDKeswWwj*OZ_KOR$kKHpb(R2%W#%MKAS zZjex$HnX6ayh$bp)&#hR5@F}Dj z9!08GgtvSQbW+%8qI(%4w7Mjf;P8AL6PvZ;5o;@t?AwQ@ab_d%`tyliP?#PK5vBrW zlR~}x@(_7MErlex|im zyU|Ih2U4H5@F+?vDC^TWA}Y~Ns~?98#F~4Xa-Rww6q}29D=YO9JnAyw0Z3L*b2g-F zMD3p~6j>Cnl5uYN=?3Vi6d8;O*KmZiIjGf2#OvPE>u|)HJ^Q9dzg6@7`5vBp8s11Q zAdL!shFaU8ufQFGmFO3Fp8G9H&`wz)+Amrw@IkkD?+G2CNOlA_-SfmHZuKhr_8erWkl@Gs4ExA;akb zos>D+F&h0Jjw|aNs|{-AXi{s0HZu*f$Q&KzjTf%c;1O<3Jpz`=ueG{;)#DTRzPXt$ z)d(5yVp{&p8*P35teyZy7@_5_b;=%&PxQ*^oQ~J{L zpcT6Xw*iWKg8mCxNOA6|@b7$_`$s9y#d0tJoZ^f~~nqkBA`_0B*$qRa^AqkiWq)q!f zKNcsYa@K_MV0!Cws&pzOD7(`9W^vpksY-2*(W4@lLSi2H8){;Cd-gh{L$47P{8Q3{@F;TbUb`fZu+!3M6h6X=ViLkq9vAPy|?M(t+ zCz9)2=mq#|;E$9iQj~h}BS{RhkVXu%yfAl9MTK&&&3fN)dh!Pk<6}HSOT5hvxK6?E zT#vu6bn2{-<*ZS9T!>ovP%a*SZ3&=9h9|!6@#49#s$tTzu2LT=+97sJJEDfiNTxgW zAU}klje7E8p&=~THrJlOm&-Su`(;RJ=go~;qt2^~3K&dbm@{t@3>}$U4E^5EtPjsI z)-Dp0KNa)Ezv&1Oalxy%!A3Q~L5*G19k&*0b3X#>x5~^pqVx^g)_lQ}EQ@g^jax1$ z4Kv%Gxj;4}ja8}n#oMh-s#Xryb0R{10`*%-x!^~1FFej*jW|j}G;ie^@jCZkKtra5 zAH#bG+UOrC?9VdyzX+^I8{SJ@3;We^ceE{SDDe2RsCL2-m5DYam9QLnVj(=4e?NWY zCEHaxlDy@V4#bRsirsAEqAs9PV_7-kS8@=CY|V`FQAfk6?p(QhnOs96SN7FvMp}?O zWZn?>Tl?8^-HPj&fa59u#br+kI3qfz$Fo7dr-hGF|G4?Hem}GMvugjD`Lkg^srj=? zKReqi)z&!ME5()${+FZ+ZhW)auZ%&AZ006$!BmJ9jP|v$7A8&I_roropeB~(t*@A* zPGpFFFi{(pARveY1lB`{w>o%E18OCr3mJ!pcQk8`+GtnQp6o-j@`CNjQmnnuq%~je zMKj;G*f;Z{?IA`Yb?c6vV-3RVMtZ`#{-HJ?aO6e&I)5|3)y%< z=m>bi7wkKy1{EL;;DNAw2-nolAv4v^#UdH*(X*A$sXB_+=|QAhgb02CmpJ7Qg&iPL@&W(JeyWY-CpqbB)`LEhTL$LHadk_q}A;X>4 zStUL?Yoe!l>7yeER)ym8XN1MjQ6NHw5BAGQY_qsB36_NV5Se})a}q@le%1~Wkw}cU zQ~`}Mqx0@_oteg~O1srQWX(;jIz{vib9ue_u%}- z`qfMMiu-KZ=R*7ARG!2mq~NV81v#6Yd&B+~0>P5chM^MO1a@ezK$kG?hj5Ac7r2xB zrXya5pY(!jKK77>;}kD><7my1=B{aKG72$>Jxy`H)I%`QScE-Xi? zT{&d+5A>2J6M!td!OmQS`h4FRm2PJ{jK8)S$iezH@WlNNc_C=OQV;|eSy8fqS4pZw zEuSpKp;oOB_Iq5_PY1QN)8?1G!bjLd4;*S~y+xGxW|uvbdIXPcyMfh#t!O zf$4^UnnucML;3kJLsR-*LzRxmnj>-e;yc4H?}PO0U#fD;1u&PVaxnTzVRG;r z&I%(sqD(4Z=)TQ-KJhLff`y<k@^oV{;BshKamt8C&)!jCiJZ zShz0k65f2tL(>8LNTlkK48qRUG)&ZRr%)9%y}V-9PklcQ?2HlfoUkqPPjsBK46Hd(+ugl?JcHo5isj65#Te;cCajSz8F;^j778h-H1H#Bi`Uj$Wj`c|2)bHrAk_nGi7moRz~VHjsYhj#3UB-G+Fh1fxx!0o z2VnSIF(iI|+vdc)E4@NdbtE~drig=+eV>sT6?@Xt97Kz)zLlU3ckAsIn990XU@)%IAtG&VtJ9CSd%hcnq)(~F{F(by2>RM&BW9*FZsDt!1h;LXo!3o3w4m13unz3aUT*1 z%%o2&g@TU3xP*}fR(n>D{zp+Wo;0I&9izNh?itK2jk0>J&Pxav!%cxn5dGGy`B$3j znxnL=5V7J5>TM>gjsW+hG|fdR@;PMFC>cG@JdP_FKb({P*fo*M<7d^XKIq~Kg&!3K zgMe04#mktn@A5qaOv(j&93%vv*@`#`r=Yd_pcRu}_!;p($qQMg({Y)VYlUo>I#Yy? zZy6?h7?4j)YPKD*P>EDZAD*puy{#JwJq4j}d#&u;%sBlz3~^c^JLJQ(Fv=d0_qSQ- z62;n#f=`a8k|VU)xp!u+bYFIj^$M%mnWtyGYIJ>cVI04n@EWZGAE_!3)E;`BWxXTg z&%&h0kjU^N$YJ5sN=+N0H^bg()vP0P_+pZO*by@x=_<-b=*t!srb;iDESqM?kT_qV zW=U^vmO3!?iM!x(urXnmxiHK&i9|#9m9rz&(tB0qs^LyUl>4T_zVn(Rg2N?Yh(cvz z(sdpE(R^x8k89xV?>ZYTFTX((;eA^b_fK^;#~&rqe|IR#S$O|9O*<*hKn_9#3$$i4 zds8tZe-d~az)?^MOd`X994ZAu9N2mg+goJ$FN~fW%_b?&pzcdaSaDzEx7n=wjPQ+T zvS&U#e|iCP3U|P?z$Bz$ped)}s$=;_(zY9v1SWNra-ZUr-vGBdxHmC@5BeyTc2-o& z)qT}QXU;qmzX-J%s)5ZO!E3gRlofI^tLapU^Oq`xIS53RrVx)EZL$u!g%>i+fO% z>Omt4LXvvxx>Ljp2hPaoTXVkJC{3Nku@n}0@y?|yIY&Z`W|;&F_LCJ{Ojil(gi#cv z@~3wB4+9@uhtAvq$uAmuLq!m-de>ClpEWamWNu*e1ik#4;$^jga>oIlE zjF&IuUsc5c^m^f6nl{59HEp*4%YglBuT2}#N6iXbs7WRxBu(f_H4`JYrcus@?9Vi-uF0D|aN}Lc z%uwVm8S@9O@Z4onHQD?+3)vXpS$oSo<3HtDdvKYab|e*q0ds}!3qT5m6L$&K4%H5m zr&g6O43eggW22Z3O~gE)!62IwqmnL+krs*rryz*q6#tC@kB(1O8#kyR&V{}ZX>Knc zlp%4S57#PwpAEN$y8%nFOxtaUjuPgi9Yje%guMZd9v$YSAB0K4PuDGjPJ*$K2p1FX zq#MLe!B5k@MUjcU0gs-IwUG(;69>8r=4V~knZtP|@~d&6(Birhm)9iBTV0nPm)8=E zSxfGhAYMKW(NyW6L9{r!ICpU%MQzxiB}I-$C&fKgoD%v2e;o72^`3JbSPtRPLAbaW z%!eRIz;Db2Ve_C+rlox_?r-j$rp=S!B)Z<~W+=@#f_q=7S){2XsT9pq2d${)A)7E3 zB)3W6G0xfHZ+jf6?y=+6x;?49a3ra{NIDeFKg4BWw1L4=d%*+AT{57)_%q9#Yu%Sa zeeX=6_KI5nX?;V(PYM4OC5VUuM;%U69qwUYICjEcS-2Xl9Zt9w@wjx02hu0+uaW02;wGBxcTQQ zF+#5?9e{+^fF#Ct;}!ZxD^pe#R&HT2{ZV$g{bj!iV5UM+#X-V7rE5aQLP2eMyCtt8 zqU_4eJ*C4jUV*40tz0?yI6sVY+On*;rDfY3JG%F9334)*Kvy`t)*fM{u+cK! zyf)cRQ9+J{O`G)hr}}*-U+JSVRLSlOYbq?&f}7JBwv)o6x9Z6yi}2GEodOu-hvW1x z9fNQ3)C;#q5{5D(hI_{vV*YUtUIbT1nGF4RHh~Nz(o$KjmAn{{*BEr)Tv0ZdI1i)p z^|0m-Go8(HnpyCsx^N(BiiR0Opqi$EKZKC9N3(D^Ra?+|G>!w z%Mrps4capBpJ3VC47+ivqG&B82$jmmbCfYwme4?wf}@qRMF^QK6@+C7J6|6h=J#vz ztg&+6LdZeg;*!VW+$6IICs-b4@d3?D?_RknF1O7r9ir#bi7m3xM%bT<>sTfGW;K7O z5^G$Z-gJJVp=ns2n>fg5UTJcZurnK`a`6eRMeIMRRp(|j+&nGX32KGhH5QadK&&)r~dO^-f_cjR5 zdS$G;IGeZov2K)!6t;4c(Pwmv^*FaJIVqxZN>wB2Iyvy#!OEiJ<0^K5Yg4D8DH@Y^ z-(E|E+@T;u3U3ONaTzyP+th%pIcg2RA^?*8PIr35#Nw=Z!{pzCKwY2t_rPVE>8J9~MbSV&xm}2qmBG=-%cJYc@t$O(wQQ zf`_W|Y3Y}f!2TQWfh<0u2?`D;0FRHX^4u0`kO#s$Z z^kHArZuKp~0?U5X15rpqa1Rgth%EoXWEL1a$Z7xyvR~7xYRKwros24Vv zjpTmIK@z=I3iHwTGMG#QU-smiAujMStHhsE;kC&9W`YpWNVzsddrRcK5H`hV7%2rU zyCp)EQmX^*o8grto^#=GDPP0jQ^@@0gXGYK%)2c@mD0~SdQnrWu`iSqv_+po;rA#7 zZM#u=rQ|>2UZ5)A898o9(a2-_F^IigA-ymw%m>`#Ze7+*NAOpjTx)(GK6lUl*q(I6 zAHvfScl3yxx>dpVB3Y0FHE6Y|GmqSqzxRZ`5}AEar^0`Du6NnySE0Xqv$xpx%HOhl z)HF2R_Bl_2iK>!_${lRhh4g@P>hAMPKL7g7u=gdIY6g)g!!H5p6BlmP5dBCFBPJ1s zp(1I-?XrEh1$3t;RAFOgjy1>Usr($4OwBSw3b2qPFeroMmvx1+2d=ZS9txGqu^AGr z9Y1S#jgt@$tsB36C*q)^TQRGtONDy^Jsfh{vz98~^_5ZE=bZ$Jm0z~xxQ*4ilS|OC zB_VR3z5pt`KTqk809Ug)-mEmQq6=FDTD_&Fh`!_(jkv1rW__Mt2KOu+0X#ZB^Uoov z*}Q@qnY=J&nzMZugh2Ll@#idLo2b)flx?8C1JlouPV?oHt+ss8{)WLP zp>nqXo7z=khYQW-sJoEo&9SmDRik!r7lI%8nj7I8tc23zfvHf{uaoss#(JKj&^6N9ak2@f);YbnhW?QVm7qQ)I|{#$EjIuR#j7#qVFe}Hy8tAHj7 zwp5H4u2kj#x~)7MvY81OlW!-cH&+_u31slI%&r$ zxkVprIPNdMF-2&kj{yKy`P`@d3H)}){AoR!Ta{U@?m-t&lonUA3LX5Ie|;L6*Z=t_KyV7S^B(63?KN^C z#R|5`(9#R`uk~{vgO<_yd%+Wi_ossA&#JuTzcznV*WO#xuwH>pDw@0}ctR)Y$`g~| z8qdUiP?M?9gOPZc+Xq#ELhav0AK2UOW6&_S>QG}tG0c3fyMDs?Dvvu1BO%ZL7d*$> z_Xh5=TCZ*f2FAgPo#gsUBU$l5k+qQ@*s3h!Ks02`xqALVB;f53k67kTsv@um3?P== z{2&$VEj$%ga$^iDjnsWDXPHimeWbD}ZR+k4bU`!e6o$>*6o#Z4Z^I_YwT98;qc)bk z%u!fC3CXJEU?`o10OP3M>kl1IJ7BfRC*WxP^C!If>^-Pm`y~gh*NQEdnVLZR<7MX~ zpjV3jXl$v@ng^as1bI_7^Lam};nn_#^!IvsNV?_5vIWXh7&p7gN{Obew}L2>>-*~` zWFRxI$Z$ibhLE6RaH@lmaG?12=Inu31NUzH4{k5K2UIz5TQ)QIXf;YIBMu1Z!F0uy z7dYGkhDMwf4V(iAs8w8|bL>_DUmdv)1R$(d9C=QLl8P}U1wKyhrIVv}uK{K)_qkD` z>mh7(aUZ7-K7=XcWhM01ihEGh>O4+TsQl)+l-$pbBW4jKv)aZNq;HLlnqlIFHuoeG z^j_{PE8Mi0A=c)cqOh^qAl{xKQH)HO{ZyZAyNy*ZdVFo$UNc>C(}yzmXf_aUc4TvB zYGv?Qe|GwN9Cl?Lp94739=uKU*?QrQrJnDX{Ej2Xt~qBK8G>S}uy3lbqC6G^XUgM_ z*A(9R!mKjf@ec@(IG4QbgM@T2Wz!L}V(w4-#Xsy$JX!O(h4Ps+UILY76iiskh7+*a z&FNaM9P<6{2c2%oe9%i0&WW568j3DIy8#p&O-k`pP!SF{x2LW@n9p-TCvB3K~~4sthZ3 z3u6iNRA3=ez;)!%G2<#M%gXx%!Jgdh#9_3y#`;t{v>sR+!( z5_s<3;hm{?>ig#73t1giNvDbR?ZY5F9UWacoM}86z8IJq6ny|k7l#N92n~Z^H*U5% zloMG_`**d!4sr&RcL0V6ejQSm=|KRw+Bf&8jy%Mk(|zRe9S^IJL+G3zs8^}vx;0Qu zEltB{Ws&g{{?oSXL8vje;}uA#2wLo&;eudLp6rv?pV)8}c)_D;5>N(QU z?z@UfP#kM{98PXC5188kwC_3R&1Is9jky5bKU?P_0uO)3L>OX6+k}!wG;EV&GAa1w zD0871QZ%OgeaXlIL&%i{$zDi;sIHg=}o+ynB1tDO9^jLDaj65D$@tkw`Q{4=s=0X)%naf-zG zFjzn$&pDM1ARZmFv}|oSVZ94=Jp^M731M`@`>M@xJ!Sju>{J7C5slsh zc}wzc(%w#E6;U$Yq>|8c29R6DR+7%j-E zYyLTb0zzd%%wKU6nZo*OKmc94L*+#N7Gu_z!Zuw55;D}_kAV__O%EPc9CdF^KRlUJ)^Zf+=dy1S!C)b#!1^()r&JI%3ESqE|fRu^=)UKKHLp9#-_rP?p4Dj zp^VB9=d%ysn^-0(OKTj_0OQp~KmI2#SLlrg9M zCamhGMI)daxPv41`f5fv3fqePlq6VsN}_AAjq(@&`kz?lb-z16;Eyh1`J;=Jfd8}z z|Mw#*fQTA|_a0&BwL|YRsEZFXmR-LM(NIvTs+Be=cwBVCRL=dCG`QXrFO5yj5ycboaUrH`G1-{-HxdlB#BKgXZpkH-C*g8m76 zl2R+ed)PCFm+nE&UybADiRKx&Gy{yu;gV(ex4Wt1(5?)0;Sv14l2TVuaB=bWjiK-z zAFrP7efUbg$aTm?z@^K?q0Qu`jXbl?;v|$h;Qfmof5>z^Dbg#`$|CLqHG<$vy_||V z8xAGR3aTd3Z*9xkOcuOpA4_n2K~=% zMHc_n>X@W%pf>%UZkJFgPDJS$G|-{NrS&){{7ldjMT-=@yW{W&QtB6M3dl|3zg|K< z!}E6r_81w%p!+)Y<7Qou9(+7p;mGIL=19wI|9rO4YISyddv)h|2Cgrm(-jo3gm6li zs>-qw4F|J?KCl3Vr$~h+784X1q=um=_mMJBOEf3w3SM`T*@P^NZp=ASWT!b89i9h1 zh1!}3nkP#< zA)m-p>fFxksa;a`K%_-M(w3vUE?$J&LFK{TrFfh#!T}QD@ z7R!UBjh0<9CxLdL^?}n$r*5?TpvpE`2U)y1+5%pSQue@FHZ9Kusz{>V%a{qlbM#wS z_atBZY1i*WRT&)He9nXK?kRQyZ_XzhqD>0vjR#7TN!Y|E|tIQCMF&rt$aBaQsQz(G@EJYOh#+X%v9x9-mVx0=2tNM{G_Q+>YbNuZELDhmS zyE>|62m6b_^(caz5pJTuZCl<`v#7vO>9mfP_$`4B`eXm#cNoei~KD$@J5R!jBaO? zHDRTrlaGGg9V$v`X!L&LCf^ltLgV z!~eGNUJL0K>f!# zZ$ZWOztF9!ptSVfj%h}l8UzT!g4k*0nCSISciE@bU`7v-E{hcwW#ArI=%%Rquz;fR z1qUNX;2QQ?N+Zhw?b>`M>GtF}gS)P7>gncbKnbiBj{neG7N;$ z#0}#`(b?`{w(!(UFcV2*cus$XHXN@APJb92sPt6K`R)(?4vYwGVo~c{=~7=VQma?@ zC3g8I%D=~(pjG&x;b&3PL|b4CJ_46y=UgOCEK?>vOU5Uh@Pk6wT9o7LF~g&_s(ihV z3#J&J#Od5dgfWV5-LNv$4-&@N_&6a0_H6+PibTa_^6(YoJ|Wead~|s?qzM=}uIU$g zEj{P;Ef0^M1K2|WnV6wZ@JSvZ8Qb_CwW}y)9z^DDGL##c>NTMR70FUT6Z`2dtN>Jj$V5tXR3WcsH{yU3>|w3KSQ#UBSE zSN^TqQD;Ub&vIu7tHiP~7szvh7npZm8>TZoT?l6WD*_Q3(d8q}c$MAz_kX8$-$po@ z#CQ6_{bR%0|3qPI|8RPi)`KUe2G*;gET02!5u&zcgK%8EL{EOMIy!wYj9$2dHU)6n zJROCK-I;A=*{Kg&L_z|+cjX77^t359Rz1UM>%h;Rwd>rwF?sG*vz48l z(F67~QrK#^pB9_W@XXR)D&2AzhRNsQL0Z&q(q3xadKjz8=g~o))IN+Gh3}Lm7Wb17& z)ZYmX0t*~7W}#|3-_&K+`DRvXp*>#hPu}Z9+!KXl0+W;%NB(P~Hm$rl79Nf*4?@fR>CgCB#k*if#n;d(yLGjGw6n38E_HET#BpbqYv+Hm)<^3!ek z*8kcU$%sTvy(2$OaLz2ll=lsKvheAj*+Vii4vC!h67NrGTmJ5p66xsF8tLd<5_#s7 z5qahu6G=M3v?X)*f+xP}JlRd>s;l_K7! ze6(c?->hrHonCnpUe=q?c+&=c zqzS;#0DK{<64z*?t3v(2$~m8{>@d2}aafIhccdF=$@OHW8`zFG9jcQ1Yt?&#J-4+6&z`zD#pHU#_LeBJ3CQ zcH2g4lZNNxu3{gkeocJOnfbX|=SPA@XD+5I9)&#o*I8Y804kKMB*4?3zC#3{KKJcN z7IMMK(_o)4uLV@2$z@j)npNd0IaP9Fu3vSK-k`t!9FFXM)8H;q0Xdr_ar7NQ6C3(4 z;`b~}1OqqhVPIW&>CX?5q5mIk?-(SDwsnbalq<{jF59+k+qSJ;%Cc>{cGlT|Ed7l8f}5s6>Re=SF8vSy~fSeB0Z^|Ov=Cc zIFg=N!bv1we-I@+rJjyfc<_zYp5*N*v7|$TsXX&GZMZ~yAy3+>V5TmS!p=?;N(z&# zdbF`Rt(r*?Z5V5Nk;O{6&q$Z9oxjvp)Vv?xCqTMr<|OHm#ltPy-l8rrmZ+-*vbOGw z0X7ZFbkMTQK7W83$W)iQ$Ve>SQW-&7agWKITHv5oIGEs)=+8=Ds^Q|tW(rB&5iMU# z5@`~TGun@-#F3h`LzT3sw}L$*AYWurN2Zq-ndL&2Q?88*a*cm|{g@^AAPmRtSsmXj z3$HBZc;F^E#zEgy4^0WX)->wn6{(4hGj-?mRWhHx>6Yxk#n8Uwxj;~RJzOC9kRd8} z_Ir`%k09*LJVQ0=BMRkN7+%LHgGGKR`#WtBC}SKmCz3i(du=!p;JP|mCB#BOwHKaA z8_P}R6{4xyY$Paof{UIG9FzcP9<*vp5_yGGZXOoewbu07m<*1KHa5RJ)J>+dNnq>t z>7a0wnR(}}C#lK3G?%QaK^fC|;-A4KHZF?A% zqp#MhmDIoi>V~By^hDU)cXScr_P%2v_5KH`(4DqtIUY>59B#J6XKeY}_$z5K)SWO<{A^TMu9VjpaAkx2% zk1~j-@V-587k!m7K4&la%k zPXhmdL~#y?pC|GRJ_wX!hl=j|BozFYg}y}j5pv!Iov;nCFZ9U>$*T1u^U-s@V;e># zS4q;!MjsJ=6j98un$tTSA?_y0Y-Lv)48~o~e)bwghPrTL)E#Q$qX!T2|$P(GFU z)PKDfDJ9W_ukRCttQXdwI3OU0ktqdQP%aA~wA-vTP|$>xN1iOKOJNfYe^ zUu>tN-vO+f1LdZr57sWU4#&q=R`9xbeL<%K)DQ-Vq{JY^no04=@QHT(0>vQ}5f6yQ zCEd>akyJrTXpnQIf!~vjk@J*+fh1oizG;BeLpKxU2>ulPsS1RSWH8dA68Tz*ya!l^ z0?tt9sP?ddfj%Oyqn+W~P(bWO`9oAvrif(wW86}PEiN*7fyG1rH=uqpK^7@-~mFUl9n8cTmg5jL#hmvK+{Q%DV zG!dytM@nnQ_&nu~U#?5$1Xb}>H+Fy2`y?(GVoc1%H*BCSEV<&dX05Erg?~T3^P&jD zWw3ZGh!Ne@W2)tKZ!|D~$cAxmo^0hKZ0OMMauix};A`I+CA$L;UTMC@n$UGkU0I^` zF#p-kYs@PxG9g~D8?3EQNzH6M$svwwgrRJ~l4mng6Y)stIX;BU%yk+MOXm_kh{@8~ zh6F>^llzubxaOlMS$K;a3Lc%Bi*GvsAl|8&Hgc*M;YEs)0*Xf!G(48aG;&do=3_7c z!}8C^6|iZVaRJ`91U1m3*8Yxt6L7o$4oxKR?*+ zdKhHo6Rb`py^Ndcj#O$GQPp+l)CAGAV;RuHdPYb4sYMw7o@2 zBwwLklvn}V0vqh!1-b(LJ9+Efz~3ODe#%2aU9B0p#uXvu_n!>!7VHE+_8H-+-rxOY z6D5k3ya@kE*ULXI)Bk-n2LGQkv%im*2BeqL!U8X;dpv6@mmUe07#PM6gA^hm`Muse zKO#gi27JiCpOQKzI&o+ujC)jHwKUqq%1fM83CL^;8|MYmL6A|J1S}gC{)DeeudS|X zYwif%WIAr8CyS$hV|l&qddPCTXnDx+{KIZa(*Am-IQ6aj+iR86rN@_2if?*DH|K7- zIJC8U11?(nLy0a{)rR>vZD-5YL%5tLE?%oqAGLd3##V7P>Vv2ln#Nkxdzct&Mp~4H zZ4swNTC{t{3_3J>C=5E}hQSeK5t$6n#;*wx*-2L(7`%jgrpB)s5!uOCU>HrqkJcD) zBW`Mg7sHR*7`jPUo-FXZrW|#!oo`Sd?P<=JSJtnLG0rs$;EhQ29upUF#6 zU>DtM@{S>RLT@sT99T4aPKG{D`=6gsZd+eXuhda5#nHO=0J_F(CqEr`z}e}rd`2$i zVaJ2A8D7(NxIt<8g7j$w$@{*6s_rO(em^o|)8vPtm9IvdQl<-$hPtN@oG#W&!S@eG zX%E96h41?fHCUt3145%%jc19xK77NnqX5cknCP#1({71gIUtGB4vR+aM%X7UwKi(U z*hdX$+GU6G32kY*x^(%o(F5KZAMAQ{d~vYJ4S2Xd26t6}x2nZ@x)}Ger988DzH3Fqs54Z_ zY(oX+#kt>Ekio;8`a$`!AukDBg&D8ggwYC-iR}OlQSNr^gu)TMHK00lmsnJkPHV*E zHl(N?+*AbFDuV@?--z5ZgnD!Y`EE=1j;%e&;7w%AJ!Aqf71|oi>^oZ7GeTHP4 z>Tb+ks#dF1Ko;a&g(bPlf?Ls`jF%v^f`25=*S;%=Z?tRh*lt`=CXw9g@tKX*Euv3w zG^%KCG|yGcvyeL1(I=C9&S=|gsxeN_qfk{>7yNnL!^EoGHt`50F61l|@o@63$Wy-= zLc@Gf8yC`oBcaXZC!~K*NvW+Sifo7`)y9M&B`}m8DL<7sdE4m>i`gs{MMB~4P;3@s z!UkB#?+}YDG4!w{o(jYYag|=F7n76=hu@$2NL%sR<`GldZ*=vnFIEqP9>z7V#>?Vo zvmFvCD&X}woPY;KQ}He+le%sNeYBBjc<+=}ZkB+zHn<6E<54r=>Aj6C`oyhqw$#Y( zj2^jiY z6bDqv2=dO1SStH+VQ*-ih1(@WQfG(>mm1-OHzih}RmKYcIx($eJH8@@a7_AT zV{^sqX>odD$tA7)YmA$T?rkl9h$~l!E`)9+!x*8!c;_eZC$eqKw=e}XDDxR(erD7; z1EPAG`6{rxpQOFX9Ndmcy)gbK*%qk*Vu9_->4EHb@Ss!|nqDhHatTRY(KoFMDR$RI;O-|5o4hF?>tB~}xpz`;Q zP_=a=$RRFm3edTqq(#AGxQ{TdV!*GmY$uRGd$QW&}c$ zE8<-~91&en`k;LhKo1}oPy`H55UGy>XaYn9ssI-N*e9>n085Njj3bx??>L3%h$l$g zPk|{&o$!2}$t3&LxMaYN46_>E9}zO1#NL?AUJ!F6{XvlR-8$J`T|2~gc4X4X=1wY% z#g*i56oRDRw@mn^*?xjD@fyQUP9p=pYmkw&lMqf1OixVr_$8uJcmq@MB4 zjvn)B0jS~fPWo+kW*)Ax?c!Snpyo$MGvD*01d=n#gH@*Ys!(-mm@*(h-C}VqJKwku!=`x^qEK?TCMLl7Y0vVOdFmtF0LmD z5g|qm!tkaUL|O`nv0C4Nkm zin8$D@v*)QyUx>)dK7HJwSb!QM5fUXzc!xcH%P#?cqX`-IDncp<|@@7MAH+cB;wC! zB^U<6{T}Sk|B**l9pUM$-fu#UDkHRVUW71F-Fd98d{tB;GL#n{66sC~i%COjn+MLH zHq<|sBM@52%(A$qZC-Dv&cskgT??rn9wKalN*NN{R$w$n64#$>96qo>Mm>yl?shm9 zInWn-CFIGK;p8u65T8DfZ$XAy5VC?P^XPem&xsWK1%_P+JvF1UF572B-;w1Sha_8e zQRD_khJoX^3VBDU&+)n&a|Wo+bD2{@NpU=Em70YiO!^WlE!n_Vxw9tEzx{i^3TjsTN z;qcdnVl!LD2k`Ly(jy0ukokv!*1r0Ouns_dVZax1MLzg zLVay@#k0C;h0k&U@Eg|d-I&1g|LbI{(8Bgu0GR=w$2zsfFE=yzw8a&p@AqZ~esf%I zpC#6}g>-t5On}b;7&=o`Z}9}KKbS2~1}n&hjyZ$}y1!1bDTI?>$L1`4bMKlCFGOVO z%g)!?vY8cO(c4g+rZdXINfg=M&jfE;>!cvQ=?uje)_#Xqjzu{W4)F=KTd8&hXuW+6 z+xP4Cg&1q3-5l;uO@z^RE-29Yd+6qFEl)r5BJ;xFZvAzBm&$s)&g!Lf^;WpXC=E9T zBW%Bn=x&k#RbX8Zax(dED@6&NnKyCrSsh!1D1@ApZ$ClgR=RZ$(#LG`{>$<$My67p6Dcpt8NsYGdiuIngCTq&*YoUhlmYL{|E!L^OlL#x(t_n?&6t~HGr`r zK)BM}(9aN?H#+GZc8W21l0i2iz-E3DcCndt;cFBhi}c6$gY-E{bBChlR&X;8jOLXI zoTg**K@K#di0M|TR(77nU_Efs-}+7X0ll$AM(qN&cfk9BhdxOghuz>E3=W5UPoI}v zobBNWlJIR@le55^cp3?4o++KxO}i9iBg%7stQ0mrL2TC%PXR*5H^=@y&z2xrS?OHN*BxS>S;Ba9y(WE0pxS_dwQM4@6sG%Ee9`uNmF zB1X!Qi~*^1y;1QZ?h&Gu0K4DRPt}*5=P|bTwC%|_0{!j$NATk~{ww$?4_M={F18$! zy;d)4&3pa`0reJG`)ME+t-<<+VISFGD~*P9>KstG4+wU6Ncg?yJQD14LAIKet3n3` ztdz74oe%KrRFF_?H=MZiuZ?rmB{q2$B#9Zzypy5OiWw<{J5#?%(e{`4&rcHEcp$8U zbCR}h@tae0-|?G&hPL0J&c5$n{t~R7EigkBCZg3D$RO1>C5dqN7tKYPJm9@d<;<3p zjd9J=KVw~3o*K#L$A7Dh+Q4WVk{~01jLu90;hFe-Ow@e&paMe6m@ncp!;+#z#0_yz z;DD&VoHf&D%0IYIxSvAfwN8jO5Xz4%!{{R@Xb9y37C4krDdc<3pR^939eNJZQa$aEvFCt@i? z%Gj^NW4EyHLglm3W35d6X2_jTF*CVLvt~wI53q0+*cXm&`p=&YCk9d8X}mUD z>*gtK87jE~KH@`u+lu^hz}J1EAY@c_dwOeanZ*OHHT6hQIuC%6h-ngFYxAY^rn}rI z4<5+8b~C7^n^!`oQjZhg-$*s13|g?(HwY9{mpxm-T(M7(LC$jl$GDTpSEp{OX) z%3HcpDCp7^w7DcI$s326D;AR2J2cTkW$Z5&2TXof_m6)h&PL=#5rf9HLBjIn9 z=N*CeWe7zBCjfQ|=Ql?fL?UrQ)YXMOGdW%QwHFh+rK3X1n9P^laMa{7PFh(d|oGB$rBv4SicIVLBhTDvdN`t1W)1=++!9lOKR*7P9&=F zaX}MtVOLvI``vQ z2~&l-&0DW7gm#2vc$yptH3(2OQJ*uvRJE}W%48mSM@^_f+0>OJtcj1m#sCOd*`7c@ zm!M2i{ZmcxpC`Qd4GsSnA#hNv=D&o%LmzWxr@uahzyh@R1y9ur<%l8Z5F&SoVzPCo zdX#&BaT}4XvaG;79zHw@jy7>PVkSEp#{Ml1dX75&Jg&@N3QP?2kr-fPT`B(LMd+G zYuxcp=(T;En(wv5`Ve)i{W+<`q#>c7QF(ZGC=dj=`^bHU6r2fH8fclRyHHVj_VxzW zBf@DLJ`zU7=CGQm<;zwNAC;P`+vf38$dGeCyz1r=1aFMUZO0PH1M5} z11oC+))6U?5c%&nOK!j@!AkxT0b38E@;iNsfXl8P|1x_fEWJ3D{Oqfs{^J}l**}(j z|0_g)kKn1CI)098d|2zG1Fg*kCH+v-RH)2RG2Nl5_0p0Mtw7hlQKO8psE_utkdGu4 z6O8te?tVu>7UnY^EG5W?i5S0>=6zH>%Kpk2c4%c2Z$N2ga?Lr#eYoy8wb9Y_c6X!w zWz23v90Y(E5U>prinwh-x&l2Hu1_1MQ_zlnx66z{YSd1#=Zs-H?4~%V$*>t~uQE8q zz!PiFKPWr}yb=8{`{;a4G3~pk_7zSEG66aRPBB>MtW4Y{gHzp-aszhUfi!rZhR=kj zm_V0L>l1psQFT>6Q*;8Jag!QEX#h1q{xgMV0aEjf_h@flFC89-gxoDe#2~_nm z&cA%QavSrsv)2Yxmyo6h!^*6I-ek`N@^=p~%6pZc+R9=i*RCm%B~DPf(Y_5twL0;w zJXFfw0)u%xFw17tJ+_W>xi!8+yJs0BmnuBOsb8^gr-0t9K(w!j9zCi!PKCob&4U9w zbZ8CsM7%t-t{*p(cu@TS)DX$0FRg)f-2l*VVsEI%cn+VAhhxAPoPu*U9T(~}Di)}i zdZ|KYS+3$X>61KI-V0+B{4W%GPn6DGu0>CBO_lh!!dWPS8>F$8U2)V9UraiO$i0 z-_K_ZeUV+ZzMOitt}r|eN1E6Pa$rV@!O&dXvdtvwzKF%=}_5@OqSxnr|60x5%ai?7qP+F;QY^BH`yGekr78Dfq|_K&NnA__*u>74K*k3ymP9fr9lEiMbW?1**tF zzx`i9?l~|7!f@6kFu+)IPP($xgrWjE_e`ggk_3N)v27l1nOMpXW2a*r#tr*I3sKxr zNp9)>W+7TfoYH;x2~i-b)ADc#N}|!bd_^+yhJ9p{#H7^xd9A~5%~CBKWD}=A=S-kE zW@21TkgfQUx5v_la$4%{G?-ldn!E*#wg4pKYI`;eZ;xo z5rbSDl5o;9Iu`98W|27rQV5$v;RNGQ2qbRcb!Ngnov>ZuxJnq7R)CTlvOEv0a5BH= z0J43@Gc*JO0)b!8lwtF2S><*cfYM13&W`e#$v-y8BgE|jYTt&qAKyWY#^c1}E{S&u zGO~NGg!_^5?v|u0UZBq=*Kk}oWJ|(EDQ=Ckt3L!}JwtW&I!h*h8@t(gb)3{5QzV~E z(%US=8*-Ip7#b~DGEU?^6>j#SRBmYb2Bo`C+2{xbNqM2v_`#pYZaISz=kgq^L%I~c zjh|+$1JL9c zQNC?1zAj>zy0@;(WCz2=>Ml*J+KrU3)U0hdS>vSvhduC6omOzOoRqB-oT8I9ej(&} z?89i>T$)5rFXIG`ctF#9wxQ_>?)ZFStDh)3xqD2d(xj@}zy9o?1hX+1=P=%32boCJ zpet(bt+PjCUe!h4()uEY5_gnGyi3|&ZC&=fIJuG3roGxq@yt5y%j|j(u@%pC+8#L# z^Ji30p*u;7DiOK%X}dN0WOw(4j08q|MQCty-54FmRc_@l+a6lh-mq5f&x3J|e_PA| zL)UmaV>pm1>A8dIvk%_yuL%JKsa}!6CUkMIra`cJViyIu#yTBjUC4$2V?pECkv8^B zGzaRx2!Z*7!=5ZEbWcI##<^cnXvyT|;V*Z)$_jH7>d&s@3-mv+gn#y-koju~nz)Uf z^M6`l{|8&J70~hjrIYxhpRamN@(1_CAJ~T4$^J8o+g~T*WGCNmbMxxbZ{>JC*}_fs z*1v2+{&K<&{NLJ!m@!phltuF2n6Mo%e%gj?YM|Y#vFQivSJCg!E{r--qo^foarRy? zCC4rl5-rF$a~}r{0YbAJKm%6h{;~~up1u0C4OwGE*d$NJ=Z#S~%9{GO6E;fAxnk%> zp~qXX-IzR*q(@_Mani*~Qod11;svyI=Fkb>rflE4)NqXc$A{fpOzx48c7Lf#{KX>C z8!ot@Mp!V?uO~v-n4DC`is@o>BPNek6f#PABjosB?Bk{qa#Xp%*WG3jHz)EX+|FL~ zhC?y#foYV+7)?H70fOOm4CgJq{x6Wk*P+cD9##lK7gEMzkxPGdiuIZ8+T}he1Ia&9 zhJO|%{AaxWO&uZ?*K9uBRk_pC9qr>tVv4LaB!2MGfHv*OP!J*C;pY{W2#IlV+?P4f zyZml0eI|bu#O33o@C)2dl->PGf10v5UC^84vUHfi&X~3E`gr$5`IAHg@dObQQH5wd z!A{bjKwr5xEzlG359yB`e>EDC9y-b-14R4%c(I%qAw+i!Rk=8O6jq~k5#>P~s$sXE zV+^>vh=R=;r*sKr4blsxe^kiSh_jWpuraHi58Fp@}LRJ=OOX4zq+y6lwC?~+=# zQ1}5Yj3$7fP)PKoNogsZtT>kKBYN4V*yyRZAlsEneN7(ar8Cwr<6FQXAAMw2-b&Kx za?uFR@6=$hH`RAtEp@|`8FyXB2wdCvD7q61Fi4E!Pa|p!PEm0DXC#ka~8ARgMplB+%_eN_?UZp|DO|{bM506rIr-c>Wy(hGJ)`=QIX#A)Fw4oTp(3M#6$Fd_=Ninzv)M ztQ*NNs3BJ#@61K67KmcY8W83_PoKYXk9RbEFR@RACjX;!@t<#%|EVq!GX86a;{Pz% zACu_gLk51(ThFC8HZ&f1y*qqzUYN zZRgWpAH~kyRQt0jBf<^rSd5XBrQE7hGSjv{56fB75m`)*E66;4nT?LZP-wgc2{5

!CCyJDIj}3vF|60ty$D&_o4wM7G$q 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

- - - - - - - - diff --git a/tests/game-controller-test/proj.android/.project b/tests/game-controller-test/proj.android/.project deleted file mode 100644 index 3c19f99f27..0000000000 --- a/tests/game-controller-test/proj.android/.project +++ /dev/null @@ -1,43 +0,0 @@ - - - GameControllerTest - - - - - - com.android.ide.eclipse.adt.ResourceManagerBuilder - - - - - com.android.ide.eclipse.adt.PreCompilerBuilder - - - - - org.eclipse.jdt.core.javabuilder - - - - - com.android.ide.eclipse.adt.ApkBuilder - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - full,incremental, - - - - - - com.android.ide.eclipse.adt.AndroidNature - org.eclipse.jdt.core.javanature - org.eclipse.cdt.core.cnature - org.eclipse.cdt.core.ccnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - - diff --git a/tests/game-controller-test/proj.android/.settings/org.eclipse.jdt.core.prefs b/tests/game-controller-test/proj.android/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index b080d2ddc8..0000000000 --- a/tests/game-controller-test/proj.android/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,4 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.source=1.6 diff --git a/tests/game-controller-test/proj.android/AndroidManifest.xml b/tests/game-controller-test/proj.android/AndroidManifest.xml deleted file mode 100644 index ee6c0a0fb3..0000000000 --- a/tests/game-controller-test/proj.android/AndroidManifest.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tests/game-controller-test/proj.android/README.md b/tests/game-controller-test/proj.android/README.md deleted file mode 100644 index 312835611a..0000000000 --- a/tests/game-controller-test/proj.android/README.md +++ /dev/null @@ -1,87 +0,0 @@ -## Prerequisites: - -* Android NDK -* Android SDK **OR** Eclipse ADT Bundle -* Android AVD target installed - -## Building project - -There are two ways of building Android projects. - -1. Eclipse -2. Command Line - -### Import Project in Eclipse - -#### Features: - -1. Complete workflow from Eclipse, including: - * Build C++. - * Clean C++. - * Build and Run whole project. - * Logcat view. - * Debug Java code. - * Javascript editor. - * Project management. -2. True C++ editing, including: - * Code completion. - * Jump to definition. - * Refactoring tools etc. - * Quick open C++ files. - - -#### Setup Eclipse Environment (only once) - - -**NOTE:** This step needs to be done only once to setup the Eclipse environment for cocos2d-x projects. Skip this section if you've done this before. - -1. Download Eclipse ADT bundle from [Google ADT homepage](http://developer.android.com/sdk/index.html) - - **OR** - - Install Eclipse with Java. Add ADT and CDT plugins. - -2. Only for Windows - 1. Install [Cygwin](http://www.cygwin.com/) with make (select make package from the list during the install). - 2. Add `Cygwin\bin` directory to system PATH variable. - 3. Add this line `none /cygdrive cygdrive binary,noacl,posix=0,user 0 0` to `Cygwin\etc\fstab` file. - -3. Set up Variables: - 1. Path Variable `COCOS2DX`: - * Eclipse->Preferences->General->Workspace->**Linked Resources** - * Click **New** button to add a Path Variable `COCOS2DX` pointing to the root cocos2d-x directory. - ![Example](https://lh5.googleusercontent.com/-oPpk9kg3e5w/UUOYlq8n7aI/AAAAAAAAsdQ/zLA4eghBH9U/s400/cocos2d-x-eclipse-vars.png) - - 2. C/C++ Environment Variable `NDK_ROOT`: - * Eclipse->Preferences->C/C++->Build->**Environment**. - * Click **Add** button and add a new variable `NDK_ROOT` pointing to the root NDK directory. - ![Example](https://lh3.googleusercontent.com/-AVcY8IAT0_g/UUOYltoRobI/AAAAAAAAsdM/22D2J9u3sig/s400/cocos2d-x-eclipse-ndk.png) - * Only for Windows: Add new variables **CYGWIN** with value `nodosfilewarning` and **SHELLOPTS** with value `igncr` - -4. Import libcocos2dx library project: - 1. File->New->Project->Android Project From Existing Code. - 2. Click **Browse** button and open `cocos2d-x/cocos2dx/platform/android/java` directory. - 3. Click **Finish** to add project. - -#### Adding and running from Eclipse - -![Example](https://lh3.googleusercontent.com/-SLBOu6e3QbE/UUOcOXYaGqI/AAAAAAAAsdo/tYBY2SylOSM/s288/cocos2d-x-eclipse-project-from-code.png) ![Import](https://lh5.googleusercontent.com/-XzC9Pn65USc/UUOcOTAwizI/AAAAAAAAsdk/4b6YM-oim9Y/s400/cocos2d-x-eclipse-import-project.png) - -1. File->New->Project->Android Project From Existing Code -2. **Browse** to your project directory. eg: `cocos2d-x/cocos2dx/samples/Cpp/TestCpp/proj.android/` -3. Add the project -4. Click **Run** or **Debug** to compile C++ followed by Java and to run on connected device or emulator. - - -### Running project from Command Line - - $ cd cocos2d-x/samples/Cpp/TestCpp/proj.android/ - $ export NDK_ROOT=/path/to/ndk - $ ./build_native.sh - $ ant debug install - -If the last command results in sdk.dir missing error then do: - - $ android list target - $ android update project -p . -t (id from step 6) - $ android update project -p cocos2d-x/cocos2dx/platform/android/java/ -t (id from step 6) diff --git a/tests/game-controller-test/proj.android/build-cfg.json b/tests/game-controller-test/proj.android/build-cfg.json deleted file mode 100644 index 98dbc8533f..0000000000 --- a/tests/game-controller-test/proj.android/build-cfg.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "ndk_module_path" :[ - "../../..", - "../../../cocos", - "../../../external" - ], - "copy_resources": [ - { - "from": "../Resources", - "to": "", - "exclude": [ - "*.gz" - ] - } - ] -} diff --git a/tests/game-controller-test/proj.android/build.xml b/tests/game-controller-test/proj.android/build.xml deleted file mode 100644 index 51485f002d..0000000000 --- a/tests/game-controller-test/proj.android/build.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tests/game-controller-test/proj.android/jni/Android.mk b/tests/game-controller-test/proj.android/jni/Android.mk deleted file mode 100644 index 9aff92cd27..0000000000 --- a/tests/game-controller-test/proj.android/jni/Android.mk +++ /dev/null @@ -1,21 +0,0 @@ -LOCAL_PATH := $(call my-dir) - -include $(CLEAR_VARS) - -LOCAL_MODULE := game_controller_test_shared - -LOCAL_MODULE_FILENAME := libgame_controller_test - -LOCAL_SRC_FILES := main.cpp \ - ../../Classes/AppDelegate.cpp \ - ../../Classes/GameControllerTest.cpp - -LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \ - $(LOCAL_PATH)/../../../../external - -LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static - -include $(BUILD_SHARED_LIBRARY) - -$(call import-module,.) -$(call import-module,audio/android) diff --git a/tests/game-controller-test/proj.android/jni/Application.mk b/tests/game-controller-test/proj.android/jni/Application.mk deleted file mode 100644 index f0582bf96e..0000000000 --- a/tests/game-controller-test/proj.android/jni/Application.mk +++ /dev/null @@ -1,14 +0,0 @@ -APP_STL := gnustl_static - -# add -Wno-literal-suffix to avoid warning: warning: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wliteral-suffix] -# in NDK_ROOT/arch-arm/usr/include/sys/cdefs_elf.h:35:28: when using ndk-r9 -APP_CPPFLAGS := -frtti -std=c++11 -Wno-literal-suffix -fsigned-char - -APP_DEBUG := $(strip $(NDK_DEBUG)) -ifeq ($(APP_DEBUG),1) - APP_CPPFLAGS += -DCOCOS2D_DEBUG=1 - APP_OPTIM := debug -else - APP_CPPFLAGS += -DNDEBUG - APP_OPTIM := release -endif \ No newline at end of file diff --git a/tests/game-controller-test/proj.android/jni/list.sh b/tests/game-controller-test/proj.android/jni/list.sh deleted file mode 100644 index b29f678cb8..0000000000 --- a/tests/game-controller-test/proj.android/jni/list.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -append_str=' \' - -list_alldir() -{ - for file in $1/* - do - if [ -f $file ]; then - echo $file$append_str | grep .cpp - fi - - if [ -d $file ]; then - list_alldir $file - fi - done -} - -if [ $# -gt 0 ]; then - list_alldir "$1" -else - list_alldir "." -fi diff --git a/tests/game-controller-test/proj.android/jni/main.cpp b/tests/game-controller-test/proj.android/jni/main.cpp deleted file mode 100644 index feab560c09..0000000000 --- a/tests/game-controller-test/proj.android/jni/main.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include "AppDelegate.h" -#include "platform/android/jni/JniHelper.h" -#include -#include - -#include "cocos2d.h" - -#define LOG_TAG "main" -#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG,LOG_TAG,__VA_ARGS__) - -using namespace cocos2d; - -void cocos_android_app_init (JNIEnv* env, jobject thiz) { - LOGD("cocos_android_app_init"); - AppDelegate *pAppDelegate = new AppDelegate(); -} diff --git a/tests/game-controller-test/proj.android/ndkgdb.sh b/tests/game-controller-test/proj.android/ndkgdb.sh deleted file mode 100644 index 69b42f795f..0000000000 --- a/tests/game-controller-test/proj.android/ndkgdb.sh +++ /dev/null @@ -1,47 +0,0 @@ -APPNAME="GameControllerTest" -APP_ANDROID_NAME="org.cocos2dx.game_controller_test" - -if [ -z "${SDK_ROOT+aaa}" ]; then -# ... if SDK_ROOT is not set, use "$HOME/bin/android-sdk" - SDK_ROOT="$HOME/bin/android-sdk" -fi - -if [ -z "${NDK_ROOT+aaa}" ]; then -# ... if NDK_ROOT is not set, use "$HOME/bin/android-ndk" - NDK_ROOT="$HOME/bin/android-ndk" -fi - -if [ -z "${COCOS2DX_ROOT+aaa}" ]; then -# ... if COCOS2DX_ROOT is not set -# ... find current working directory - DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -# ... use paths relative to current directory - COCOS2DX_ROOT="$DIR/../../../.." - APP_ROOT="$DIR/.." - APP_ANDROID_ROOT="$DIR" -else - APP_ROOT="$COCOS2DX_ROOT/samples/$APPNAME" - APP_ANDROID_ROOT="$COCOS2DX_ROOT/samples/$APPNAME/proj.android" -fi - -echo "NDK_ROOT = $NDK_ROOT" -echo "SDK_ROOT = $SDK_ROOT" -echo "COCOS2DX_ROOT = $COCOS2DX_ROOT" -echo "APP_ROOT = $APP_ROOT" -echo "APP_ANDROID_ROOT = $APP_ANDROID_ROOT" -echo "APP_ANDROID_NAME = $APP_ANDROID_NAME" - -echo -echo "Killing and restarting ${APP_ANDROID_NAME}" -echo - -set -x - -"${SDK_ROOT}"/platform-tools/adb shell am force-stop "${APP_ANDROID_NAME}" - -NDK_MODULE_PATH="${COCOS2DX_ROOT}":"${COCOS2DX_ROOT}"/cocos2dx/platform/third_party/android/prebuilt \ - "${NDK_ROOT}"/ndk-gdb \ - --adb="${SDK_ROOT}"/platform-tools/adb \ - --verbose \ - --start \ - --force diff --git a/tests/game-controller-test/proj.android/proguard-project.txt b/tests/game-controller-test/proj.android/proguard-project.txt deleted file mode 100644 index f2fe1559a2..0000000000 --- a/tests/game-controller-test/proj.android/proguard-project.txt +++ /dev/null @@ -1,20 +0,0 @@ -# To enable ProGuard in your project, edit project.properties -# to define the proguard.config property as described in that file. -# -# Add project specific ProGuard rules here. -# By default, the flags in this file are appended to flags specified -# in ${sdk.dir}/tools/proguard/proguard-android.txt -# You can edit the include path and order by changing the ProGuard -# include property in project.properties. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# Add any project specific keep options here: - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} diff --git a/tests/game-controller-test/proj.android/project.properties b/tests/game-controller-test/proj.android/project.properties deleted file mode 100644 index 572f7c30de..0000000000 --- a/tests/game-controller-test/proj.android/project.properties +++ /dev/null @@ -1,13 +0,0 @@ -# This file is automatically generated by Android Tools. -# Do not modify this file -- YOUR CHANGES WILL BE ERASED! -# -# This file must be checked in Version Control Systems. -# -# To customize properties used by the Ant build system use, -# "ant.properties", and override values to adapt the script to your -# project structure. - -# Project target. -target=android-10 - -android.library.reference.1=../../../cocos/platform/android/java diff --git a/tests/game-controller-test/proj.android/res/drawable-hdpi/icon.png b/tests/game-controller-test/proj.android/res/drawable-hdpi/icon.png deleted file mode 100644 index 8aa4767c2fbfed5ac39e5f9e8f3e05ee520d9619..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12200 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 B4<`Ts diff --git a/tests/game-controller-test/proj.android/res/drawable-mdpi/icon.png b/tests/game-controller-test/proj.android/res/drawable-mdpi/icon.png deleted file mode 100644 index 3780aac46c76a83b9231a2cd5f0234c3658d561e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7590 zcmV;X9a-XuP)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z000uvNkl~07-|sGO?^WGWt0lQ*NpxE_vJ4o!Ap;o$kafRNjaG?6ChMlA^8JL2ozHc!G@9KMUvfGZ0+hzQmfb3 zZ@JrVnLqC9mRP*Tx9V5-zW46C_ndpq`JV4N=ZcMg^!KPRz#(?3YU$tjJze*pL;zS` z&1N0K^AJIZOH-W500Dy6Ym+#PURwD_(`Y{`B!^5CZ}^%&&^H2rdv&rS zBtj{YsSDWo70SDB#TkojH$l998XyGzx}K42e);}%`tql6?z^h%z5il+;kw~(heHEf z(HdthIQQz7wa7}1_~cP$zW5pR+!cyryHMS|*eC*P!SU*^`z!ZxV8QFElu_y(da?c! z)%)R3eXel*@cW!L`AM&3vlbBqc-0!spZtL3@Bba`@u%@OY^Jzv3}*}&^SW8X8H=hG zE2b5Ns_$d}?yFu`br5U+iC1-~YK`RLB(|elqy+1_ zq)@8QC28(DuU&eaHONv0v2Fuh)hb{7uV3Z^_uj*mKm2{Be(y8r`Vy*ITRr`CFoQ!D zg3!ZQ=d#X|Q4&1$>P+n%NDo!(COUnB)`6drwOaIab@8YF`!ArUhwpy<>rBjEX3Ky2 z3c=PLn0g)T>*7*Q_3Zt`J{kBmR)ZH12$1>F%RPCaJiMMh+D8v_;d7rvKlud4TKq8N z!3Q4TO>cTLjY@?R-~SE^`=6k)>n((vN3cnp-|salA*8^iX+!mV@L%l{fnRgR=C*a< zoXd}eM7-1uq=#4QqVePtoPXrw+(gQ~@Bim4)$3HsWp2LZ7DhL3rnjq`+6^~w?1z8P z+)sZ@dDmMAH*dwp(LX5$T%0yk_iuh|pYVfP4pm(B(N)+JE?4506%hhit{z)$d}HS{-u@X-~Td7$x4mr=wU8=;bF$A1^(i%|Avw4w-L2l?A^PU-Me=) zHaZHx(8vg3tHoU-BYf(se@r+(!^H1>hUDTDvQ&BP@C~T0_dT>v_(4rrn|r+D>b|qC zB8NlZP_=IKr76yR;bFG4miV)8e3Luwyp!44S$cYU*tv5jLI|Xk00cpRQ;L~m$JjAC zN_f*v9R90s(4Ly0>+SDC1|iN`gzxi8;ao_Gjnjtey6?e#!t-l6eYi&2)i_vnEep$IQ*mQ7V;?Qc|u|m|t3A`SfXS zyzMrkbpt&2KmP<57O36%PHY@uqc$S&UlGja3M37QHefQW*4U04*^VpO&T?8~jRq${ z`po{-*NFe&@Awa&|2!YuyLT;QeBWPt>a(-6JpAy(JoeaQxfOh$k!{=1QliJl`Ot?x z#9JSHkoo`hN3@PSMRNW$_3!^JP8(3_6+^gZjX|V34^ri>2Cwa`Yra#Z3a!IWvhe5s zo%jF7JNcb`kKmjmOVewB6~ZuNa&nSGhYq2&=GI$pWq5d)^#cR+ZP>u{>C+6JI>m48 zdxWWHk8tt7eUakk>xfP~M|ID82{vuPwp*_NVjZ5-c>p5>SlJO==1I*-unMe0sv^3+ z%%yMrDMQlmyI=Y*bai#nXf)QIh69w8XstPY<_ur?%2)Ayk3-KqLtk$%LEtmk-_P{) zG;?RqGSc7Ayw1>0#d$wa63@7-`KlPD8F{CuEJg$#CcT9 zut5FECuscTAM)=%`&l0R$VaI!E#WB-ha-s-taBJ+iP{l8Jw4oV%bVD-eH(>BVU2bx zrI?wSp_QhH*;xi}dm9r=OI$j12%JL{3RG{u8==%o2DDHT8^xomA6h{sp!3jZ@X2eO1bB>KeL$q2=mX?<3?(M}| zN4wR=_k3!V3aQq#h((0V*THVP9+Tg6k zCNbI6`CKvO(?0PmJa>=}eCW5>x^*inD|N11xx!~3d4$Iv`!2O=g(OW#l7u8pSXy2t zOH;JbtgO^Y(u63EFxJrB-GgwB*g2A^3D$dxoA0}yx8HLQh57=`L;Ddz=5F+I3eZ6x zvTIPtI?#s3KYo|!xq}G5$nxVqWb;5D@44?j;;2p3j`+b3f5`s*`-!56dcBS@hBQe@ z;*>1S&|2sFM3ck`Nt}?z38hjI>G`CYCUuY=JjkXv;>~y8P51isG!Fh0r_-D=zo-=i z&Vjd*=djk%Xsn>MrVxfial|*j@eNiQ4c>a|TL{AfNfKkNMG8Tvd~}wQ;3#+1 z@X`Xd-DYU_ZjK&!ie%y(-rxoh=}TAoPHS9d@@nZCH*%R?%ZS;Tae8VM-tdM|mY3=@ zn=N|#dKnuVW%lwVN~JPNO4{uoGQPjrwJ#?14 zm^GHz7}CW>`bI_wN&)ey6E7bJ&fz&@5ZYiR2$|OePUh&N(}clFnbZ&HU$>5d!9f-l z7tuPSTCHNSBx#0{lFVqF$@x^`B}`0Ca`&D+?Ao=9BuiOZT*UJ|>MM1kILg_qr^s}c zKRjzlS5_$W_Tu>g$@B$q`SsjOCo+wd8A1w>DyKhEgOHdcWoW}7ciwX!r%s{cnZ=>045=Cu7TcA)VFflPnyWPebix3iP zE!tX=W|P1VQGS44T)-KdTj1B_1F=dav_XgrDHTYEvkECRC=aVV8toQ)_S}VahNqu- zhOryQNZai^2b_F?^XJZxLTyLWPx;21yii z`)#-L{E6q;G(3z{it%Tj=E&1eVvWTQe6C!YVP^6?H@tB-Tet0?TCHM?A&Mdd0?!XP zcls1Zj~rs^{5k6NIu^&3*-Naf)Y-aiJ3*$g+8~QXY#iaV&NK3hz~~wm5*U!z5I6_I z3y`H6%{bxG#Y>Fcu#@XYMu?(_rNu>_KX#0Asf+l1g`I%`>9Y03YZsU}~xSW0q0kbpHluKoXYBjXUI?X|IO>y#)7SK2pPD+H72-is- zzCjf$#MW{7@&IxpHZS>5DUrpLm{`OP9&gj8d_{@TOtbb@#Biut0ARV6qGowGlx#WE$anI4SZ6 z`|A|2+JMyvl`~LhCBiyvrcq%9=Y?FEoh8dMq9`Jb6Rgfyt~Ypm|3Q}PD{B|4uQa$a zKZo!63~tx}RRIpNB;xG3v;5yDe$K+;(%SiPlF(>H$gxp2Rm#L^N)$z8^%cCa9jJ9f z5J$N7A}IB%4F(6&=??!f9RjCKrxs3;F+FjfIF3n@giLFkfbrueenEIdUg$TQ zEq;FBNv5Z#aoS+5VSav&pC5cG7rt}e>Xv0G7bYjk(i9Q+H0pJ-BtZy8}&RIA;lwbDeCDm2<{(#+62@DrvU`6%u2 zr;){4hivA}XV-Bj=NwWv3&vuzYuIRJv1ta*L#^A){PGGHE}RDk))-Q)bKxKts#3$d z>uw7F@*%{IF`N_3&dw4gF~(Tt=jYKzBZjvS?)@;qyYGeGe(=0CK?INpxOD6|HBX@y z=MZ6muKPZWES7QYxFegv8MD?3m1`!kHveIbN@Tb!Ay|Js2|mY;K8w~FX_is0U&4Rm&1>!;g&?R_ zs9(O!=BUliZQBq)>Fw{OaKkN_W&>w(s^c;ZX_g;rbBzM4WudX4H8#z#afDYJg5F_H z96!eF>?}rGy1RQ=KR9^xe?fo@3n;0eSOh8Q?(N1IOA^OaD%Cv8hXqs+APPmCAFL&* zO1Vs>TEiEDzP^4YE}TdAuc!On58$#48^^f|X|uLpb$1nPyJH{HtNl8nXE^++$39NItG$WdvX64AUG`{^elvb9wd(Yhzf{R&#S~bbm&p)SC{sW4G&+mfIJ}7@PS~<}3!`H@ zu*PDulr0;F*!#f;xap0%n4Fp-O;e24G*%jnj*hZ^V34JSIgHL2>|e+3TXwT$cq2N^ zSO`Oo9)6lAg>@hMJl?<%E{?9j{%d=;dC_GX&4#Gl`?+c1l{UWQU{6R8g6PV-feb^kD_3T`SJnZuAOi|-*h9NM z$HDzSLkhvxt=BVmWscd)vxGrFyB)Exv`DR5rBp6*`N}L(NPN#{Zhnq5P4R*N1-K+Z z7K*g``Z;s_D2t~~QG4GfD8K2Q*r?rU`lwE0t+Qmu3R2)y4yP)({`P%B1+|xLNIHWI z%Xs};i05aRIz5ijhH9mX0HQbn;YgE|g{380jTTY6jdhkrqd}6S2qDmMj7?HpR~HNA z3TKW!Oa07QYVUc7$~!;U>5ybsd$PD|JSRUE&ViJeX0xG!ZLd%P0Bcai8veSiB+Vr* zojcCr{2Ufgp33J|QV>Nk&1Mq^c~>IK5Y`}!K@>~Gef?aDT1*~3M7-FbcJIe2-Elv{ zSX>t86C!?TR`)4Q;IB&i5gAf#d%CSMyP;bc#Oi1Tfn5m=blA{B}B1^ER+#pF(1qNUj7P$>d+0D z_kx5p5CrJO#n^LE<2#i4b|d7keZ{~T4QU&fwQyOCOCnqrVbch*2yBL58^B5r(^{n6 zZqshHUgS*yg(}rhJ%h+XiR|Ke#KJ{nsf;OBkfj=`Tt$>>$Vv^bRK@vz#{x1BUTaal zk4-i4$>)FMkv6{WS_{7|ssm%#UwuzP2$8c#TexaQXOYh0go6y6b;xQT6swRXI30J) zZFARC3aNaAUxYA3_ywGh2<0KXB0_}-Rmk@uKnM?Rbymr9o{EZZ&!DKj_w??q0GvzdE z*U0hP&lT}K@B(BIB7zX%2Z$gXMR_z_X8y`P}8UIC00;FiT6{RAF$+#u5L20MMxTe0jB%hyVZp07*qo IM6N<$f;Hs7tN;K2 diff --git a/tests/game-controller-test/proj.android/res/layout/main.xml b/tests/game-controller-test/proj.android/res/layout/main.xml deleted file mode 100644 index 0a25388295..0000000000 --- a/tests/game-controller-test/proj.android/res/layout/main.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/tests/game-controller-test/proj.android/res/values/strings.xml b/tests/game-controller-test/proj.android/res/values/strings.xml deleted file mode 100644 index 63456db0ee..0000000000 --- a/tests/game-controller-test/proj.android/res/values/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - GameControllerTest - diff --git a/tests/game-controller-test/proj.android/src/org/cocos2dx/game_controller_test/AppActivity.java b/tests/game-controller-test/proj.android/src/org/cocos2dx/game_controller_test/AppActivity.java deleted file mode 100644 index 2675ce468b..0000000000 --- a/tests/game-controller-test/proj.android/src/org/cocos2dx/game_controller_test/AppActivity.java +++ /dev/null @@ -1,102 +0,0 @@ -/**************************************************************************** -Copyright (c) 2010-2014 cocos2d-x.org - -http://www.cocos2d-x.org - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -****************************************************************************/ -package org.cocos2dx.game_controller_test; - -import java.util.ArrayList; - -import org.cocos2dx.lib.Cocos2dxActivity; -import org.cocos2dx.lib.GameControllerHelper.ControllerListener; - -import android.bluetooth.BluetoothDevice; -import android.os.Bundle; -import android.util.Log; - -public class AppActivity extends Cocos2dxActivity { - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - //The standard controller,without doing anything special. e.g: Amazon Fire TV - - //Automatic adaptation for connect controller. - //Supported Platform: Nibiru / Moga / Ouya TV - //mControllerHelper.setControllerListener(controllerListener); - mControllerHelper.connectController(); - - //Manually specify an adapter. - //setGameControllerInstance(new GameControllerNibiru()); - //setGameControllerInstance(new GameControllerMoga()); - //setGameControllerInstance(new GameControllerOuya()); - } - - ControllerListener controllerListener = new ControllerListener() { - - @Override - public void onDownloadConfigStarted() { - Log.w("controllerListener", "onDownloadDepsFinished"); - } - - @Override - public void onDownloadConfigFinished(boolean isSuccess) { - //If download failed - Log.w("controllerListener", "onDownloadConfigFinished:" + isSuccess); - } - - @Override - public void onControllerDiscoveryStarted() { - Log.w("controllerListener", "onControllerDiscoveryStarted"); - } - - @Override - public void onControllerDiscoveryFinish(ArrayList devices) { - Log.w("controllerListener", "onControllerDiscoveryFinish"); - } - - @Override - public void onDownloadDepsStarted() { - Log.w("controllerListener", "onDownloadDepsStarted"); - } - - @Override - public void onDownloadDepsProgress(int bytesWritten, int totalSize) { - Log.w("controllerListener", "onDownloadDepsProgress"); - } - - @Override - public void onDownloadDepsFinished(boolean isSuccess) { - Log.w("controllerListener", ""); - } - - @Override - public void onInstallDriver(String filePath) { - Log.w("controllerListener", "onInstallDriver"); - } - - @Override - public void onConnectController() { - Log.w("controllerListener", "onConnectController"); - } - }; -} diff --git a/tests/game-controller-test/proj.ios/AppController.h b/tests/game-controller-test/proj.ios/AppController.h deleted file mode 100644 index 3d51064ca0..0000000000 --- a/tests/game-controller-test/proj.ios/AppController.h +++ /dev/null @@ -1,33 +0,0 @@ -/**************************************************************************** - Copyright (c) 2010 cocos2d-x.org - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -@class RootViewController; - -@interface AppController : NSObject { - UIWindow *window; - RootViewController *viewController; -} - -@end - diff --git a/tests/game-controller-test/proj.ios/AppController.mm b/tests/game-controller-test/proj.ios/AppController.mm deleted file mode 100644 index c91d512703..0000000000 --- a/tests/game-controller-test/proj.ios/AppController.mm +++ /dev/null @@ -1,138 +0,0 @@ -/**************************************************************************** - Copyright (c) 2010 cocos2d-x.org - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ -#import -#import "AppController.h" -#import "cocos2d.h" -#import "AppDelegate.h" -#import "CCEAGLView.h" -#import "RootViewController.h" - -@implementation AppController - -#pragma mark - -#pragma mark Application lifecycle - -// cocos2d application instance -static AppDelegate s_sharedApplication; - -- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - - // Override point for customization after application launch. - - // Add the view controller's view to the window and display. - window = [[UIWindow alloc] initWithFrame: [[UIScreen mainScreen] bounds]]; - CCEAGLView *eaglView = [CCEAGLView viewWithFrame: [window bounds] - pixelFormat: kEAGLColorFormatRGBA8 - depthFormat: GL_DEPTH_COMPONENT16 - preserveBackbuffer: NO - sharegroup:nil - multiSampling:NO - numberOfSamples:0]; - - // Use RootViewController manage CCEAGLView - viewController = [[RootViewController alloc] initWithNibName:nil bundle:nil]; - viewController.wantsFullScreenLayout = YES; - viewController.view = eaglView; - - // Set RootViewController to window - if ( [[UIDevice currentDevice].systemVersion floatValue] < 6.0) - { - // warning: addSubView doesn't work on iOS6 - [window addSubview: viewController.view]; - } - else - { - // use this method on ios6 - [window setRootViewController:viewController]; - } - - [window makeKeyAndVisible]; - - [[UIApplication sharedApplication] setStatusBarHidden: YES]; - - // IMPORTANT: Setting the GLView should be done after creating the RootViewController - cocos2d::GLView *glview = cocos2d::GLView::createWithEAGLView(eaglView); - cocos2d::Director::getInstance()->setOpenGLView(glview); - - cocos2d::Application *app = cocos2d::Application::getInstance(); - app->run(); - return YES; -} - - -- (void)applicationWillResignActive:(UIApplication *)application { - /* - Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. - Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. - */ - cocos2d::Director::getInstance()->pause(); -} - -- (void)applicationDidBecomeActive:(UIApplication *)application { - /* - Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. - */ - cocos2d::Director::getInstance()->resume(); -} - -- (void)applicationDidEnterBackground:(UIApplication *)application { - /* - Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. - If your application supports background execution, called instead of applicationWillTerminate: when the user quits. - */ - cocos2d::Application::getInstance()->applicationDidEnterBackground(); -} - -- (void)applicationWillEnterForeground:(UIApplication *)application { - /* - Called as part of transition from the background to the inactive state: here you can undo many of the changes made on entering the background. - */ - cocos2d::Application::getInstance()->applicationWillEnterForeground(); -} - -- (void)applicationWillTerminate:(UIApplication *)application { - /* - Called when the application is about to terminate. - See also applicationDidEnterBackground:. - */ -} - - -#pragma mark - -#pragma mark Memory management - -- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application { - /* - Free up as much memory as possible by purging cached data objects that can be recreated (or reloaded from disk) later. - */ -} - - -- (void)dealloc { - [super dealloc]; -} - - -@end - diff --git a/tests/game-controller-test/proj.ios/Default-568h@2x.png b/tests/game-controller-test/proj.ios/Default-568h@2x.png deleted file mode 100644 index 66c6d1cead373b45218424f6a82f370897e443e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 193731 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 rl1x2wVl_d2iNrP@5dKH{FnYp=n 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

&Id6RHa1Z{?Js3FCg( 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

!h=Vm?0>qLxkIbhLT0x}PNf+ZUhQl$ngMh) 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 diff --git a/tests/game-controller-test/proj.ios/Default.png b/tests/game-controller-test/proj.ios/Default.png deleted file mode 100644 index dcb80725de2af2f0c1e44128f707f06578c71ab5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 89508 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�R{{Rr7^J=%M7dfl>RAy8 z0Br9lJ9tlL5sHHxXSFR}ynMO1NF0&`xrWnp9CG2DE&{lkALwIKWE9}K!|(nh4NGJa zR%#Hxy{_I)VHh?benD zvi+Rwaf=z;Y(AC|_ICIil^AIKAAs>qqXtefhsE5s+<$-8W$+l68U%GKgdaD-FRKiw zQpZ=_dx8QUk&Z^RIeK;Q*6HzaCH;#RViFh|KRx+=Ch64Le_Q)Byg7-@n>P9DK=9dN z5fp;{mXO$Hi~dKcPbK(y2~MkqV2eA9U9rN<}zWzVMVKlxnm7r@d+heh$$A`O`1=Cjm*@T}ExQGscKvu?5(4qfoo#ng z4nd&u?6#dlS_biMZp3i(5c4ko9+0aoVL;_`X_>J;o9>@fZd>TQ^b{^sx8@S@prh$T z3&BL3Ro$VG7!>FF-~W3Yy8I6#E%^TwnI-#H&NS_m_JP znB8BGtlrU-WRXva_d;FZgK$ZcVg%Y3N^Lg)pz;b#xZu}>~`W}1fKdp!0{R7f++?1cZcyau; zhm!#*=~!C%4Lyi`dt${SIs_B*Yj^-6015wrYfp3k8~kz2vw}>Y*JZ?QeQxS5C!1f` zkA~E^vjrUC_S>`EiAjxF+3RUE$R~~=N~6H!)3ASGbWhf<`Mw$~CqCl(>6k{73FhE) zs2hOT4Ukm+WW&ihNJ9Y9^Es}6r1iULU3>aRwijUDuRy+!n>3w(@&?SOoHKcCg1=rj z{Sl4cMk$p74P?GBXxCWSpXIh+2qv)#1cA2iI*@R@tB#dgFq^qk4Go(UAsd+js0TX{*6EK=8kLR_o6%!6LjqU z06Yg5NE{etgjiX7TDgFMk!v0IGwfAue6Wk}zFTj~$5b5#7yE!Oi%P#iiDH`MkPph# z>i)uhVG70bZ`IRc(XIqH;_a~yd>*Jm`^y0ikAFv%*I*6cn1e|DVh+jN-VQ5?1x9`M z-y9>_L|vYVd!fAbf{T|0d#`b>EeCkm%wAH>-*{+j-MyhfoB}*y>G)bY2xeN5bdIRd zb?CU;iI0!}?ssHjGh3dXk)cy<+?U#MSqSLIg8vxa4Iqr0*DAWzr4L%JC?o)@pGJ+A z7EzuQk|`Wr%{yb+wo!#B<%_3&I4{2HCfxu1uU{q9fi(b3>>BaQD_w6Mgn6%1L0ylUNUc6}1`8k^HJ zxDvugedR5`5~Ky;GA6A^lkEivD}K)IWc953b0H0aVOP|&<`XnyffZ$NdjvWFXwzhtpl`Sl| zw@zC6Ui0V1LlFSFOoF=ack5JKou2Z@Xtz`UmK*B7wyTh*-Uo>zg#%pl;Xhf0>pS3; z81wi!A(8c1`U1++h(c5~+UJFYAa%A#rEmHP)!MB33`KGI+!5PNxc&v%M_*t+c@eL7I5aFys>xEn&h|N- zzDOR2K=na@BYnDGHGxU@FPIK3&e3#A;F0gwYRme?%m9JwWZ3730iex`6h#Tfr}quqqc81V|K-FL~D;146?U$s&wkD9W4jvCE35w;Zakz z?dE6)UIg41b3cX|rkNPtFCu~NpYI#otAf>)6Zn$j{_yPd=x~7k@q&myJ@gL}8+WT{ z!W4@mDDQ6kCjm-d9?UOm3d(T&u=>#9W;0imT?alNt?CK>uU@FaoFB%2bKD|5rri(s z_Q)qn&Z@J|9>0(j#$oTBXb0v9VdFU7$xBX=QJ-A!OXgAh?q7U=l<)Ta#evh6<8Ny+ zVtUF4x*$jOzoAcp)q2lJFIgnRH4El&&_6_Ap|%9;<}cW;xeW9+e#n6SGui|G)_3v< zN+{2mzMer7CV$ak>nSpr&MUAxZ9U!`LgGHQSdS-p8OOLp)F?yD&)?&*>UE02Ewa7r z!tDq1sYFhLkEeHgJvxN$r*hGHF_?d{vF5d+(cCZ@mNX>|h7$>8p!8bn+IWY)qoSb; zlK(P}ZLH0cq8Z*5Akg_*5bO^|;w2TG4g3?V7PHrE{_Zxd@g$0g%<1g01dPNXwP>!ZCV{PwBlTi;R8OO!>haT z<6CqEEb9s%k<*P!EmHk7xxb-W*q?))O^IAt^(l*zYPgA_F`2`hK1>p~AY*hGVlVS5 z64&nJw$C2;!B5klK7D#hi|ZH4tN@ILtylnD-2|M5$Q4)x9C4e(LWd3n%VeG%oCILS znag;rB%^T{wq9!kdI>@9y!F$ljUhXEtg$tZps3%IM{dN6FLY*_mcMrb?RQanj;!U0*`un>jW9dz!7MP%n#1N0>_FO*wChQl-mBsnOI*T;p_0ly_SF7W+Kr6MjbFY7Aud-`bddHMnP`7}%A zv5W#rOia{HA?o_>_eyy&ZF15q1TCb0el^jOR!U(yPwZp@6jD%-`ZNyz6}PcpoZI2- zc?&RycUG_bb~zWm+2MRF6X?fZ=sU>Q_+HO6CrV(I$j(Xv8Z^&~#CTURFr@cI1Kq|c z9a8dxJL0{pB}#;p<0Uw9w(Ii690PNOLyjNa_G>~AAze$-5PBd3`IwAmfCkMX&CON6 zaEFtnrKPoXjW7o~S_oRe1Hj4ZtNdcYWHdA%YX2y&1hjF>Fj+CMf35_yDXF7IM@B|W zYX7Ec4~G`}711jHD-ZwUxv9v=T9_zvZd%i6I;?HyQ*Qpkf>c>n^Kp1Z?KuCPv^iKE zl1%AI&}^yoCTXia6ePucROwcns8f?&2YEiE0%H1{10(r3h?SBltxJnqGIfjxe`p1x zR1oke@|>$Jmg05)xC9GH!5DK21k-k z=cRJ$%7I+)6+pDgn8FUv0;}a|#)^vP%5~fp_lp~gi&YHjt*@GQQ;aF>5glVSVcG9p z$p7nuQE|vwLI4?G4U(568z{?4r>YRo5~dIdg<{dP%5JL`^_f5xH0M{U+`OJ2r_jzu z1$8ehIglamcO8vDwyz5sLKR(hW)H>iR!MIz7Y%R2X38|Tz08Mn_^!Yp9y#PB4RUg8 z%Tyo`?}v7HM2nD@G%})m76@&O06+4uh~Oob8x9JmwkE&W!}FKw7eC%tp&=(9j(t6O zf0WCnI5oEFULaaWLz@JrWv*?aC{;!o^D zIiVB-e^^4k^Loj$oI{!efi)%eTaEo8WdH===K%vVn&5p!mBn99GAV`V zModgXfM!3KZjnO$8{A^`CAX`8_qpB=F7iu$n4AreCB$oC z)#?X3V@JnRcI0*PSf(&q7vLWQ$bLV!;|x%7!H5Cm;Kk!vwwSQpqUj*@!Y4&Gue}Ma z9E&o|Dxq+SF?rfhGIHu?QevcjrIVJD-WST=)(3r>2x9Gx`*}tA@)gIsZCz>(X;uq( z)6l3Ar;%$OMICv>ge8MCMOppF=|3&=j6F=4?Awc$6=Eg2yoc|t zcb;m9?gzLXXtn8kF1GUfyHx_p{g5m4R&n*{QrQdp6qS*!A`j)YfVJ?!T+Hr(mq;#j z;reJ-@JG$aX7|8IQzOHE}*qvXHDL*7roVd&9Z(L>LS7 zC~QazqTNdY6k1UKg@1%Eh*EVRQxQs6Gto@{@-rbzs46s`2tgD*(Tkvcr4sYBT6LD$ zK3UK+u5^rS1vh9vV^JNvJhM96&u#cj$)8E^gyk%(ND!{4&QwL44 z;EQsnHOO;sJ#QgBJ+<>_+be|>BjT6M+)%0>eLnGvKUR(KW;9YRaV`4a`L1e=>@o=j zIPI($_u>|NZY${*f0bD>>uyI8WUqKrr;@B-{h!IlR-HC)Q<1rr4XTW_je4ZTILS~0 z|GVfZj>F~&2KvA%|6`lk#hZ>@2|&Dd0X(yc`cKoJ09P$vxb5!?k7cj9tt|!=s_XMq zECNX+45=jR;jr3fHsS{@?J<KXJe~dCi>*VY( zrw16x=uh={wB|I^=Ts4{rn#pIb~hZ z8fez5!>Q+ME$l5jXTYbFc?v%BvBK1pXQ#7c=H}$89Jmo?74^{*?`s$1%F`eU??5kD zL3xw5zc#W@nV!o^(G3?yj}SwD@o2#V{ZYSkuMmnR>!t2CWT!78&%nAjt7~xaU!sV| zW|-H>`ufD>rFzwgZbeY0L$jH?`?awDrtpuXWB0Fn2^<#MISjGDBD7mAPA<;(1o=i7 z8U1&b4c8-bPX@-T*sR|63k#CJuo?Su^#;9O2Msh4{z48Ujb*2F6;2l{t}#7b#@$Yg zxIw<8DaKoK=*KIau_0xECnY_{;F2V@6Qan1>dL+$29cwp&{;7=EePoxel7zp;>h<~ zS7eTvXB5$mv1TSu^?f0)a0BDxL~z7OG8-M3;Ha%wSw<;ooe*xdJ9t}-+U13 zpEp23>KvAJ`dz`EmSOt7lkfTY`IF^+GTc)*DHzFzE{=X(UWRt1r|-k{AKFicWbhq$_ll1dmw_p%R{K-m% zf|~lk^=y>IiTKZ*e% z21zVJl(WPXVA^Z2Mr4BYmMGP`Qq^dd{(;2LHo);9MkAwLIb+dol|rRbbNoZ^JjqkB z|5h4DnWI7w-^n>JN|8Bm!H@_ihO^JCWts8fyg8bygA65hzZp#?1vo%CE(PTJ-GYwLp`Od9mS z?rtFU^RNWS_Lpdw*T@0DPy|5aF%Y%PFe@nV+hd26$N*fMoI(uQb`dccheBVNRKGJQ zmzkD<8fZqUr>e6GpEqBsb@tra>ug9ORO5hY~4guxtwS;XqrO<6@!koFst_)zAu`jlhUi#2VgK7ifm|v5y7t! z_hG<^!*_z^NSuZ5X8W9Ubx9RZr;pqn{gqL70mok-uYm;xXDkH_?xHkJwNr}Hq30_A zyZicrqT{xYyW<~uJpMC%Zs5T+B_q=#J%~x|X=G~ZX=#~uQ^u+NLB7rv(T6=-pH3qso#WHuO}Wo+$#!)%63*O`I!DPbqa9O~?*$UViLkJ{ ze?2oh1IYS}jlt6a_^|*SRorcn?j_V+h9wMJqk*?=)Sw~Dl&~LSQ_g{Qe#V4^x z7cKqCQlkSbX9cPd5&9C(N4o08N0ovEnd02f-aPQ7dPmw62^1%CR%$&`m#$w6?Vy@uNZ^_0M!>$%&1Zu8#qYkgnTQa~D{1RoWJBKGSPvp7+7;mYnjrVx5pzI*5^{ogs`bgn;Md@k3D-))w7RI{kC6Uw9<73bxx z2HyJ=T{0iVmQEQ%>hMS6Fq&tTS@J>wMVF3^iCwYF25)t!6ul~hJ`UhC2E4gaOe4l) z)p(;63a?P&@ymroc(jg^MNscmg-z0JK%O}8S1!>zFwtq=us zS~4J&mc4ui#hN1pT6z=QY33mv^m!ndxVLBN%M|`l(ffxOwQjbO>qT3&Oww-tf;i;y zBbIC^&^D-h4-87BeF?)nIYhdZGDyXxm*wz5!GiPTQ8vmSKkjJTXFOwg99~-Ma63%V zZ*|xAyPD~|Y%$Ep$;ko3(`4j54dN_B`De1P?Gmu)>Lw|R);bgG5_hx_ThUzOHE*(e zhy*BFs*@lXGO?p_*<{4QqAlXqCRe!!QF(%NK&IzXH2ZmpSk^9?}SDRi4fcLi& zSFb8P{Puci5L1A^8cf<|1PJQh{=R;!jP%rRT^$F$QTe#T)6>$@va{=FnH2d1#M^)y z9B#}NOTPfydJqf$5@i*CB0;~y_il(e*S8lCY-FOl~^(G z6&D<%#Kse|hGY*6099TcI*M(aY$g^I)7Kp@(jaFe!7Iu8md`piJ3XiQXd$)zex?dY z5p_OZRrx*HIr!+NY)=TkprbDZ66KzIfJ^9o885$dEQE^nnN4Q&!q?s19S$VV9ai|n z#eEN~igSHVngKRr{?$CSm?lW@y1aIrl9F6tk+L5(E$U&gGP||GwizxDZZUCoMg`$7 zkV;V`7A@S~&W~re>Y!C5&Stv;ukr#Hm&_#a=Ul-&>iQ^0p*CL)ZZds<{F{Q~KR@&u z&RH;jL8WQAAf#rl|3S$Gs);Qe!PW0LrZIcz$3L=!GGC)TM>XM51YrbX$EmbVzr2f| z;_&M^G(>ix;XN+Rb=+^TSBY$IC0>+kqSNHz2Rg2`->kSFRsc9j5h!U{CWI)8B~v;q@#xOPxGq;989lX z_6z%Ovl}Xkv8M3jR-4ZNsbKr&n+^smg_8UrwnE}ZW>a2!?OfIWr0BxpV$In{YBC+# z_N(od3h_<9Yk8%hM`6-!nW9DH1tx}PwA z;J3>Njp1znAGkv4(-N^ilz1O8LP)*BsH#=YE>Xas3{p(!-`701UDk`lu`Y%8- zFnFa&NkOq2+Kp00AH2W64^(YJETOepApPtQQ5cd(hm^GY+}N%9s!Un($Vlj%$T{Hq zMLzT*amsI$`&ZlV>}M>?f!}hr@$)nZ3IruVfi}8Uvn|QWc!5gRB-0CsVCX2Qg!riV zRbx*tG4qg}Nx#W1_8R0dzdqBAH760>d>vD*K8L3lF;JD@T;0MV_Q^z%=rBUCy2}$k zn$Zm(#4&h4p! z0UaT(ZzD3yQb9n++4Q{^=)2ogInKg_j*VTxQ%71IbZJ%(Oy(ckked&z$#Z- z-Qf$<`>ufsY%|vNU&FrwxkpI>0d(1Zo$>Ttp+EvqD6cm%=qaQ}ro51d4*OYztB(-E zPZh%3^0>#(K(NN}svufUw%nQ(^plpU_p<%;HU(;3G09&&U!KJEa(Yqp9f$P5&r1XA zNF^@$59M8Gn0W4sRD}tm=_=6S>X7gvrs4#KcQF@4|3MS5sC{e)ByLt(UFIq)nVCYh z+O20qce7j&Ub`<|yx7+xiUUsNa;*<6iiBN$Sfx|4xHmUzB=T2C)Z@l>*M`sz-R=0)WAcf#s+=~`3?t!Mb)8g*#4#kSQQ{1h% z7l*=!y9Boa1&X`FJ-tkZnfyrRB-v;0CC~dVN`4OE55jw!;=x}ZZ*k%i6Mtn9*G^kT z$Hi@U&MIJuJxKdothM;Rc0E6yuGH^pP5!*e1p}zS$D<~g{1a&kIP)r(EpN&v- z{%O`A4pHu=W9`S+j`(y~@bvguwvHM^B|{=dl{#ath&}oS7hc;mL<>~WM5Y%KgXFf{ zTLrwO&j7K-6=hHOceADbJ7@tevM2()1YlEfeiv&4bW;H?!pr+O|6^E}*L92g$@+89 zo|u>w?En$o&ehdie}DhbQ2omRVNo(NCfSjz`ImxlMwJ*~2RjA2*?n=s!mr;;2i=c| za=&|Cd?Lic!m_ekB>};KEJ`eZz!y$`D40b{4iX<5qjH5PnKHD?91!b{dMsW!5kaUJ z9+XuplxkL}grCHa`<0U=iWUS$k2f4PMKr19q>|D&oQPHSnp_tNUliLRSCLnm-0_-7 zHpvm;BZ(mwa`(N|+4wQUKe^|&u;vjH7uWgQ!hn;1YGxUGx)%X}?n58?pQw#4Vqm_)fi$Bt!lOyhR#tu+g$5&> z%i)NbRR~>yfa4XG5p}<@+cYp_R69LVSnM&~3=slPx!I5D?(>GA-n*BtL0;wC|!rnY^xrTEVCbf+Fb(|kiUZRH5<)@tqmkCP+UW$09rg5|Jwrn@S2 zFurP@vMTkKzu)U4fB;Bs_X5hTMUO6@m}FI^5ctxPlBc_4XH4zPg99sSWja~X=WBowk+MGdM46BNwx$9_* zJfefwzWocz>4m;_7w6R3ml6c>e90CJ<8*eD*|IwA`U-Rim^CUnI@5ZgybG;~ij<8@ zw(D-UYb(tTV%`j0d+R<*0=vn3!jJXb3PQ(Ne*25r1xDU*sQMea;JT>OiPr;e7iBGst* zPv2^NbVr;@VkAFWRiQxk?jtHAQf`s!hK?<1aIh=>Qqd?^&;PxCOXa;cp;w_^UC(>^ zah!YL=N+h@Th8He`WWq#^g}O}pCh2LtI_JDU+~Is*RBeD2qIH)6=Z^I)c)6P-G{B% z>%@P=oBkLl++jXWLj49XCPE+N=bQvhb7z>FH#c}VSfO_Qp|x$cG#9KL0T$XcM-pE1 zECIsD%jA=3ZJqjTJk);crh0C-I(At)al*_uYCq^%%p0)6-|kQCqRXTXCBlrCGEgaP z9!*wMuA+ZzJJNOKqvDTCUQSE3kh8F(Jsv-u|2`@+&-A-A}znURpf1FE~=+)@2ado^9t6R>`D4 z-u0S?H`c5mcxtb!MZ+1@Lq#6E|JqLK$c1JUmvuUEs+#13wiTP#yWL{Nb^O(8Ge?YL zp&-Xekz3)trL-!sU3`;ho)R{ip30p-SkG6TX5ltFo$}W+hnkO9YprwzK;Bsm#6@5^ z+V7A9%!pr&NcHE#?gCz)4v#K-mwitsmMGVR9}7t>9J)Due1(X!v+A9$BGc5mllk;w zyZH6+M?cm#io-`z0&7cdY2;G(JWF6QB-tzHEPZzg46_TiPL78 zGkg*MSq2^|Y}hoBl873w>)c`O_u4zq^+=hbreP|g%PiaJ3H)~K-ah%Kgw#+t#SKq;3t-TC z4uh%SwQ51qhR496{`i~FK$M@~un~u+4#!5}oysE?nde=CR3s^s(}+zebM5D~mTwiD z+*i{q;JXnz{-@k!|F)*zSl7k_ipW^%5*er%+OMneZC;nTjCPSUxOi_pNr8kXSN`8Y zK~?Ik*X>7K9JokoCO|Kn3Dk6k-33K&wMsuivlXQdb#0Q|1)<6Ag4&t?S^jb1sC#;N zJ0wAdXA$9AqV9nG?VXbw1<^UCEI~In!SRj%Z7;w&In5C1JsRqSUy)8q`z_4sGG^7$# zMgzPiLDW$pPH_xdJ9Ej&iNqi5*X&{_NNPc9al#*Rr++@Mo+gc|tG*VE?`i;(T#f;P z%l@P4-nzU{xkO+9I!Z`=uhQ6;Ip%T~qBsLTeK-Jj`~qAo z*hm^R5Cqm;LTQ&W{K6h%#gfMMzCkS3EU@woHMZ_|Ax-vEOwfSDM>^7p2;?*1S}>0` zy1mE$>bLi*(gYv|wSjKywUnZ2}rWwIzSNWf3Xoj)Bw3s<}4l_)YK02Ud$ub;&M3ar zMP&#deV`=>p`eh#ict`|Sp+`E{NV;Qa@g3I(X4hjK{-%TqGr;(j!sgx@S6AlnA*pn z6no{YlwA~X#&ACOq4c(i6vg)@M(3&|HF>4l@)H)slyNJxh@Js+Pt#D}24U}qCqGNF z%f<_P>r9aZ=Nl0b2li4+XXKGgS@xcR(PMfxskn8fEQ2l@bOR8=Fn6`lrgzDTlC3hx zg*~w~E2N~QaivM7tb3=hqoaRKad7L{&xrCLiCSU&6bg?Ic&49W(Hv&lN$)W)YP5lk z318IaMA`A)%~{0io;$DPh^$VJGIbFYN2!MuHPI(qS0&?zGn(PyXjhdGrrgle3;^)F z%6D0rl(McBykL-FK)mJ_5_aHIwDz9!y&&*0N2){(wnq2va{-T~1=izvCLOQQY?Qb_}}T&yZ3GVPjt2z?{paO{p?reE^#&cv z)$6@i=FUSlON^jDWAjOInPm@#MKofw9YBiVx zB}wFgK}z4B_-*`G(R-K%H#92(M}zF3oz~_7_hq1qig5iy|1X4P;t&q}UPb-^gWf^n z>OD~Tj4!|n-&NOmqUuZhp-7abz85o_Gxst*AK0F0wgeoRU7KE$qaRl6o@f~5Nn!w` z=^4VJpM60@@bjqD-+V38KLSjqfM>Md(XasMuN{C6@Obs$zq?R8r*)V$0D{6OpFSEG zE-|E-p+F3sR%sP7#=YzeOmUpUhm{u@FOHaDMF>4%zcx0 zAQ&2kgglLWe!ALjF}NLv7GR<8x%Fed0%+DJwuIxHc38L^bTRe+;Cp$`OTsPWf{36g zTW6_*Os50ILb`>)f`$Qh!roKoW?L^0Ev3~O=_T@lmL9A zE8Kwipvoq*CQD3FojTtT)kp_vs^Gq1?6l4uy782EyzG9&ncw95BQ?6Hc_=jx1%<-t4t0Fl7$G{*}vg6KN&fu0q+0Pegzdc?h<|FfZkqgcB zxyPyW%SZEftn;zmX;fV7)P$rdn8@b>-Qo#2<8%CF0-tWfh@l`X)*Yk3AJdChJ3rSZ zvV~ggR_K*o6-<8pS|x=!#6MHMSVizIj8d@4Yk42W>fODJjVmRjpJD zuRp4FS{af~Ky`H>&fb<=qx)V2ES2+Th3KREbeko++Mc!y9gd1L9C%zkDR-f6soNFj zyE7&>v*N+-E{=$D!*b)WD$gzzNlXlz{Y0bE8(5CGyG zrD3h`GqD9idqBYKm18rZpfipnv1o0#)@f5h_W9>gaSe&@azpH&bLJF@z^Iu|Yp8`f zR)tI0ZaIS}mN#$e!lQRBX>)0Z6-u{>c@A{hbkefCjaIL^SamST_%;2(NpzxN)6)r; z6Cy3AQ%!~#@x^s@H?S&r=4A9*#0G#4f+tdAl*6e4nmn655SYx@uBP8xxfV-PJv~ee zx#-LIpRH~3X4AW#-T6#M5q@@>p(!XlIFLvDoNEqJTKid-K&zGEhW3pH?xzx6+^Un5 zK#BkT-32eLYy)cw-CiuMoMa05g+G6B6gCrp zGA#6Q`Ho!$J=VVxqOuhHeHu;7PEW6cPI?Y-L50~0*UUG$e`|l6uyTLsu@K8t8V65U zzX#!A;|_FPucc?&BT`L~L_3+FZ&q?mCgZMTyNigaw6ED?G)@R!%7eO_Et*4nh5@Us zzs>DM@Si~)SlJMZg|2S~cR;51&O~cF)ah7d)skCL24(50eH6{@;Av#}*q? zhi7=@<{w;kM-n9m^*lCsI5`6Y1~T~HQQ^2PXAhqb12D?*hmL{TUFA)dH1=$RK zwAF_1rAhZAGFRqlla{3R9`fMr*As)Ar<(47B`xXnh!oD1IstCi>7*QP9-gFPEjm7G zobibXb1lE~PlWlZhTKF5+Fa9-nB=|yr!8>S^g4w%Thw$=w7sy=vEAa&=fCMUMKXhb zvARaz_UsJ!rwojwRG3?syH$@ytg;Y)`}Ps5Wd)hnfvqZ?FT3-CaKl{a_>D4tz<);t zdJ6EWFwOOY6xMVLuSGLsJluV?Hhy`V%IU8mYcZv&1$|oBdJtT&<8Ux`AUG3Y+$C4Q zXFKiV%5cPR`|0}Ak%buZf&lC{>fiuYm43tDV)pxTR-Kk)kE;0XNMWs+grpU|)!O46 zpQP*3@IbguhuozGo84cF3lbatWOvhPRF*7RVK2Uedw7Dd*bU7TxK7t% z>9S{&_Tw^wjHbV7%6tf`^>G|h4W%Xgt+c~csGQ2H=x=Rt+2roc;_CQFF6KQGLI@etbaF2NV7fgfz`^n^LL112DWQ|%}p&ryBL7e@ZSD-UVDo1b|$8?uz>hHcQSY1fa;MBro4_<~6zE_;4_FaJT1+ zY;JA{yb18qAN>7uv}0qCQUtH>5|6_Tl*K?@1=tyKIEA=`1bE(n=-^g_7Y<<}AB221 z2T0|Vj&_+fUPl~o2Z@9X^B!ls_2pTza|5W<8IJj}nN?8W>ED-sXIY!8_{Ub-4zz7q z2{iFJWjNH}D}?so6E%&`45X)pZzU=Nu=IMJ!>cHDZ6gIw>b4l=+Rc7>Y4!u)_|qD0 z2j(Y`x@`4wCN(cL@*a6r_;tkHXpukbl(fQahl$?t;#Q+3apLV;I=!4&MK(<$ms-!g z(rI&hVK%yP^{`L~Y4KF#k`|iE2}w`iXPlkN2~;GV!LMIkQyZz+04SILQZz8p(Sa;t z(ozq;y0N6Ux6=kDd~sa^h?puiZhB$Fd#ddUh-3ut`rPP46ek?!TJwOsKu>`#r3}RL zWfiGR>44_L9zp^(F+oioq^^hjKk64lZp>)jNgu`4pKB+p&WBZG*=n$~cMzwuo?a!u5R|DJAoL%Yc&n(njE_{CBQ*r?LGjgz8!IrmIEIT| zfwJR2MSRx~V7JNn3ey63QSThHYqNEel@=^a%+4D^KR6uG%caTG8x0JQH3$wC#E7P@ z()hXg=F7j2p?@9;@CN{uIYq=8d=yiomg@eGwtCB~(eaYzXSMP2yzuq)5ke3QuT!G) z*27r`UC-ZJbp#M=UHpz>TW)e$xLX7q{Lq9JEsw|kQ}Vi6_n|*+tGH^^Z8koxdBMyp z>Od$^o?FyyqsHgQG7UKCN7+gLg{Z}d4`1fLZI&ksPk(R z5za0{-kgNbE=h@FA{sVXqPMX5P9I@)V;fD}JdoOJwzyZRM%0!3O5qr=Uvf5>k@htqN1xf{sU_>hBy9bbX$jY3uSTH2lf34F5D z^q3$;Apj`aMbBPtu^P1jDVjA1A@-e~QNBvu$u(uQW*uOiQT>nC1>Ajro{YWUW|(=I z+ujqJyQ0$R3#{cwq(JwDPR#6Na|2g6m;elyHN_CL>AJOZ5(~fTv`6wQi`x=Fhd1!r zQ+Y`hyym}X;HYF2s}3ucehW{v_ zBO`;biJOc&1E|)ZqO)O z`w`%tFxRRd%=X?p6+Qqp3hRC8LE*mMB(NSR%*;Cgxl0~PN`<0b&g1Gt=SCF6%)*-E z^Mx5ZDGAw}q{;C>o>h{YRJvPJh!t zO4qt}OENLZ1^ER;I=!#|=K3AT0hhc4SU8ygpBm_N9xEb)GGYcUc1IV0M1SC#G_^*P z8ZkD8+}n1=1TP8im&oz3n2$oU{qfuzLfhAiH1p;ZT+xW$t)|oauXVO>+?E4~-h9Tp z$HwVl~&LZJO>DTE^7e}R^8h^((0d2|A8!RTO9rIS6al}H+y=yCiqQe(=BWPg*{*m62>R6 zl#)bi#hVE=jh@y%U1>SZY3Dm#Zi-5>|L#3T9f)n*ytdx%pPQ@-wknW;0}3Gry3bV= zQj$`NBFBweTM0l#W0c)@=95wzjLe2u${0JcpElemhcc|h@`+G=MHR$`9mtq zW(q7J;ZLsiDIse*;{>SCeZ4kDdAcw4*u-q@hI2)nR+z%a78Wm;c+_Lqpk{{+zm?+_ zJ?~*IekODBh(KdKE9<+o&;d{#zPa0u zvx)oSE{7~0PBVG=_3_3`tJ&5Se?-dwduuBHTQ;}d>0xwCOpSi0^>qdh5c$X?QlW;{ zM_5{WTRR&&9|7*7VFUFnZzX63%CS(Ih5?mq>)mj>!_TcA48G5b#`nzrURT9p4i>-w zqP}-t3N(nIMt$a7rQr)KX-pzh@sRsKO<)W7+9;VeV_ul=Nt1TiF>mWOqga6Zr-`3S z2AiOr9!4f#S(vF}QLgLeeJG>ReEM{&8sGN^Q09eB3Z1U9jOtAkKV0ZU9vq~z>YVtT z^&)4C!-j^W3zv2VKew;>?Qey}Opm6qJMfZ7$gYSme#4&DZg6;gaW9PtmzklWIs_{* z0!#H@SmtPKUv*ur*M4)flteq+)03wf=`-iGZa?WfL?O19?@J1)5-P295IZR7a?rqo+b1^s^ zr8uChCw&Y6i^~Z`-Y5Zcf z)b?P4vpyAAH5MhMeeb2E1-LnCZ6@ur4^x;mE}}`w5F@w@bg0NkNHcSCa2ff_GdNRc zn^1xyBFcdV#6bH5{2LrIt5o+HWBW1VtngJCPFI`&aFw0I;$rLOuWuf!b?v;~I(xc} zf7ZH{Bp^9X=IW(K2b|1&Mh9GlIZ}!xZS=6;PAV)I!z17?!gSjPGlwTXDS45Q2pVM0 z`a4#mNv7bJVQTvJr8nv4Yn->6ZKU=AqlVi9F>6u<0?47H$b)3&j(Y(Onu?zU)D zG7aE=Q3F$SvBUW}1q4JnF#}Si!Jh#~5HBPk%5~eE5~pC8&sL`}+vWOOPYQt56Tn5a zS``jL|HDM%}ZaGQ!HG+>4|V+;ba= zKg5qYw%nSo31cxQEIxVn*`}%pJ76(c0c6QbDqR0b4Fvh8jzV0#qTk3OOlK-mMnf>Z zj&%>H@C z0f%)Sy%*O;TAit_#j(sRpiSe$7B>k)-7I>s z5;>fA<|mu9SjMb^gbEcOKkznit1-sUMuCD7!T~=^@ z9M$vzN*e$&wBO+}K~79zeiZ+w?(AcK!qyhIn@)cK2bWM^W>|J(U!6Eb_Af;kK=ce< zlD(P15%HcTTCr?a5>lu!*bs0uyq({$c1djXysFl0_#@)K$bShh#D$TyG4^hZdL2RH zHyaJ|!n;)WOhDuO!gUyb~9VC4#KUv}mJMpWxh^LhfTPY#r z-DDelbMELh5ps`KlFxD*NUu<@vgOf{Nz7wdRX(+HYnZld(grX~;iGiVB(qj*A|X*Y zCz=A!&y$Zu0;YuZUzk@)v+boMOHbP!PO<#*Yy=SJ+c0eWc5k1?h~s@JnBeN@Rd8N7 zbBV8o!^w&(+RAkC+c9M>x+;i{r-0I=@$)P&Lb;xciy#1WRG6#;Wyqa z2Y=|5Bi3fO0(44&@}Dp_cd*)`Ew9eFc_KHzgQgc4S1VB#u&q&4P@oA9`EPwnJE_ce zZFq^PbgBp9GZ_2Kx4yX4(xUINSzuA++lRcnk7_+xd)ArMirSAJWnW2g675alLB=$1 z?52_?QM>|HAc-&*m#lJYSdyRRj&|Tp$DjF!7qWan6uTkZ&E6?;`LDrXqjh^@Y;i*N zVDav5XKqgB5LTtvFhIn`CDIqXBUw0YNt?xktMXIDaBOO`=jbRJMuJ0Vy`QMM^!Lkw z48!#P2N50~_fgjE+x1yDHH)49x@(Vi9r|hOvSU}o2p|wkk^D#oG%4;vBrYsAz$TID zm_>pRLuu37D%D&Tj0h>l&jU=^LHr5w)ctW7{XfLQ{@ZWswdl@wnQXZn^!vQF!fn1+ zt!J`rQkvy@Q9o@4ZCH7-R^KwHKdMc1+w)VQy$T zJlZcCuP-0>h}-z;p-y0W%PIM8)ZqFi-=Z_vR#6LC`K%e)2I~%y8ze6)R8P!vN_6WF zfC!p;bI-VIa>c0Pzm<=&`%uhrdzDVioTZVpm3&fk-K^VoN&bE|%3oT#0nm(kTUXb$ zWw*Y*k6_EHal4#dVr)lu%|HnzreNV9I(zYY8np0|`I*tQy$bc&vs#(io9ElO4G#m0 z*RJYulG5Dnr}rK9e;x!WaKv`T%J{9jxV1gFccW0AT@|qM|N} zMz?SLPb7TxD(R%*sI>e8$+WUX9kbV6{5!|{cXogWPytb|(FQ1Tmg3q}(0!sd8ZY1S z8`!q*Bz*o9Qf*8q1;zAeYP#7dmCV)E*w~tfg2>{y%JwkBE5Pkr#3?o>!*cZom>Al`aT}l5h!`aD9Hm`2Ra5On?aYc zt7*}+G-4!CQTE}v93;TkKuTO<(R>sgGh-S@=!11qzo}N6&BB<;iiO7s_i@gFVq%ga zY1@%mi~?cC5|a>Dglb~4x^yyb5iPYcV>~V}&PDn{y&Z%f3_3?*_ddva;j-qs#nXJ> zq^XyDd)OX3B?&}*$h*PFbr&HNb@K0>iP6JZwBe_6{7g~60;)TJ*i0S^(?Sab}mm}qo19hfxkaN_3yN8asaJUkgNL_DHCro@i-xF?UC zD9?NrJDq!+VqK?N|-g$w;ixG3lxZY_iV5;t*+k6r*6Oa&Rv$PJn&OrAYh5c?5v+3i6uI3M3*F zSkoR(+U8uF3baL2IERVJa5`KSs;wm_njXk3YWU*24=!)R!WEelA7K5lC zC(G{H_>l3?{sZ=+Fr#b6FNiz%sCD?sZZzpqK+`IDQJZF4E%+xKnXzvWK}VBt5!$R$ zX%*$ny3TMtOOD`yE@%Bf^l@W@NvC2`w9MeZOdV&AcD|~$p>nf!!4i}@ShZj}Pq;-3 z2~x7gX=T0Kz&p8zw~GK`#A`DDTK~c#(1sg+bqBY@P!%sJi=RkYMMW!15kKrSaw>GsvCcLM7)3LR@2>~R{S!=ZzQSeD^De_-qwk}Y7kqUO>g zFc8n_mBBWY2qI-|^^MVXswdJ%0-0Nrg&hFk-p5bbQ7j0}(}E zXc4e}N#b#fsOhGOl2KFWDtfeQQIkK3(TP{wt%t!1RLcT_8OO`^dPB^uA^}>K4MnnL zMsh}ZU>}dX|3esx@p>JT6dD?Qf(U8c+T?1V z(_-3DFI9*!wigNlj>(B%mdYFKVrK=iLz9yp0Ewc@%rT@=Pc24O;eXGRm&{NQ;h0QC z;Euw%U!bJ8%eUonG_90?@CE`Rvd}^Uii1@6v`8`ZncsL!ub*I%yR*2sMH2Z`R)#Z> zbWouI)D&G>tB4hMdP${`sIa#DkiKn)uOhw=6!Bj@97_V#m0WAV5H1S59HVXz2TGJA zB5W`#vuCrvTlvTDhs3B0Ec#RcICvhTY>zU|RsB*z*n?t2k-G2=)EF8JLJL5eP9W&u zdh28ehCH$01Q0+#TBiQ*(5SG%Q#9c1nP_YpZ%Y!KDyl}HJ__+$Mnf@$U~9ukB+4T; z5}n6xa_i8EW^ z6lA#OEn#7pQ2`Ky41+eRuayp(9UCjR1Of}9Pa(%WS|VLKHpykpf~*PU&DJkFe95BG z`EAb4qOw9QrFKWLh{25LQ*UsJ-o;bFdt8f&n~Trzu+l8i5)%hw+r30XsaUcCh-kMK zeIu_O35@Dn`Bq4D5JTSBh8K`Zh^u`dns1D8upZ^U#y0Z&L$4s5WO9HbnOpo&cPv zU_-#_-Ib4=K-2mMb8O}&M-6Wu#wl+(Cg8bexjD*{*I^xAxLbL>83U~W4SVyn#t)qC z@~eZ;4jdRTo4JevbEkZ;o<&=Nmp`hH$(^m;frovIpaSyeikwT)J`Oa1370h7b z#(}UoR>&)T>PH33%2rkxCKb#VHjE2t!0z0O9+^&n*(0TmEp7ieS;$?$wy&(Dg0X|} z4u9I2VYFmn1x)?W5H$tuSCPkQ6x&)ety{OZd3+fuQF~rrKL7h8x!__A_Ao#1#GL6O z)$Xi@DNtdwk@5wY7ln?JoaM6jQay??{_}hMhiDbPO-6VEiXvuXf&)o&Q~LDgpzSDB zPUAP}Z~8@lO^iTKr*6pghvpB9oV5&AqVXY@c6lqMcr>Vqm?ltMiMb_q9IAo5|DXl_ z8WeBopybtp>P+;D&BZ%qO*^*WW-OCp(~Ga-izpCc;_4>3oz6-#LW zIO!3Y;YqPu4xjHX@DSEd{n5nOE~3gGMm?{$d4;}b;ZW~JL&5P_#BeSXM8z6t91PNAJ(PT_#5w_dypO_NrHM#f868YWDhUrDP^ zUjO9kg4|8Yq;G~n)so+%HIdTPw(5F@rUEE9J*pifgEXQs%h>2Z<*9^H1rt+uny^p&DT*CnB z_j8ysTk`uyjLwC{6@B-YgWqreC_Dc3DKu+@rvEvsI&42DZ*`hvHx}?$lAQovJ=pSIm zvQ)ZgJ}u4ofI|OWkErJS?*a;76&UeoS49XWEHZu|uKn(pK9>h59V3X`i z-kai(N-II`hXL07N^+T-XX_I;xm;JM?Ui6hZAvX*D!krSX`q929@FAQb}$9{n*ShS z`GWF$YbPS5OhFh60|y5pJokpX8K$b($>%6dRXpeOX^f`KNJnF(s^wb>Ecv8K-9$BE zCgqEy6!_``wzmV5+9?L-!7BaU+9zwX%ub@VfcsE`WSS$q54~rXeAJ@&e3TVPFSBD1x2|@?r%m+c%HyTtcC`d@j>f$DlUXc{_oE!BUw|V)sJt@@~II6 zG;Wja3+!t=g(E43!R=~CY$g)qt>(U{!wkMef#ZU0PH+?C4 z2p}Y$H4#teGuj>%w)hjUyKPIk=oz6@xX|7Ck^qI$K=U=C3aq8;vxl~4QzN4+>YPiBD7NnIcT%CPZW=UE6 zPJ3^m%IQMiLPV-PlJ70~uur!8OTf=cgWfrlLCx>ll6`$AdIweC6@#4$w&zp)cGaTa zk#+Ao3Y)59S9mlmYLR=WV;_=Xk9c0zwFDF5)I=$e#|_rM^;tQ1|0>F`tnx)xQKn>s ziGeIYd|2QXw!#|pqQ1qerg3*qz8>!9-ul(WS!%B9%%QA+Tob8QX{03Ls(5C1v`mXy z84^G4If45D6}~*-ZQhA+l(-oOsb~}^G3JYkanNGcRGNT^By06~H&*yOoZ|ty)SJ5c z06?l8yZ%L4uBKVldBn5afc$w8>=0%jn{wdU;r~R-RZukF4@SQCSgt z)u$ITC_XwD26x|&rHc_*bywD9h`!~mnKn24VMREOGQ&X2WEq^eww1%pfQ(L!m>Khsv=AUkK=NBCfp-;>lm+bmUCaf1mN((e`SM zU_q|lP$z`BVu@_vE9c~iKRg0QhQ|Jk=eJr)vefS+>G1mqa-4sXfC-D>RY|3(Wz;HoISobNJ(;18wOdn=C{q_92z4`kX ztt@QrM6-Y0yJXI1LCD6)rmVd`5_`Wcyz^R5jVbo6gBLds6`X>yr`+V?%lJm0Md!lS zH-jJEkUP3_DRX_~DS63g{h-Z(YS_4pT;E!1b-AHpfK+R0UWW}19quEp{MbvRa!5Td*b~Hf4UsHu+ume}T8aL* zR1;|@HS%IbT!Hq}%+F^w{F?m^J>uI~zVNlC*Q}E0wbIKZFo@U-R$qK+Ud2!G!I6G~xUFf)rTZhrUI+2ko30s()ly9f=7B>vJae>>3&NYY3ARn(atlmREFyr$tcj^@&-jA4;kj(0&%4Yk~(D)QK{`jlj@ z@VlNRcTMd8O~SKU)dqM8nv`=$aB&G{-2SE_V>0 zaQ6Kz>nv-8N(L5j3VR5_%ujTkX-TuSwCGC;XL=Ia?;j_^J%x#)(9Yw*aZbeHP}k2e zG3|qhY4Xe*16Ib+FCWZGYTW77K&FQxur>08 z+^$J%EEKBpK71V|Vd`Ptxd7_<`AQ?8J}!j6W)|)XgJf{nws!)iF*!$4zL_X33YLHw zd3F$9C4yvVdO5u@8d+n?UB6g*tA;j`3GuEijekXCP4#cHSksgIN4}e}2EjhGDaE2y zxDXzzjBdC*e!E^A1c~IbO2&$3Mrd%m7}mWYB;C*y=|Vb~M!JYvg$B-PP!1~b0nbar zji~rdVMQ7BpGehDx8Jmyr7anP_MHnaKtn{fry|-gOkrkucnq$&XdLeGou0AiaEm-* zk3SPtyhc_{pTO`{Zss_t>w@qnvh8Wju>Y9jOl-C%yjeiaFdjXZQ$09_Cf~!(D8th= zXQ>vpAQ--!jh@=fdtP8iunZl^c4D(5Z`y7B(6AeR5?w|e4za+9DIR3;FxfOhUVw{8 ze~V;60C$x0X|*lVdkeumwRO+Y0`k|^3tJG4##sZ2`2*UI`(}G)cci?DfyonLH;K@7 zVr-w&wtSd}-ke}_aaq zx}hXER?Vy>ix(7)eX`bWvGXGf`z*mnqq;?VI)v;AcWrG1?0K5tqwPI}f_*9wo`Sr% znS#RtElfF$Q@Fi)TTzkiEm8Z=Il70wjtUZ-jO#KZ z)b;xu{TxaL!_`#B&Iz@wx70`Us5irWPIYDB;;WL^+tNmw?W%5JfQufDYBMnR$!B8( z2~R^A;mV6YaG|AX!{yDr z9~;xPc@wN%@z4a*M&zEGK>{`L5|~HSqM~u7ErW_-^en%0ukAE4!3`X@etbw2f5pb4 z5vwY04744>t&{0k2w;D{7Ft=&hZ*RonN>^-RyOhyoQySnfh$wFuY9+(lU%iseuz{4CL^Wr+q`h=_& zQ0DAv>mCzma?sz?sbv)-5-6?gVBhDqUnYW;^{iVe@npAJsR!R?aLrlzA>k5%aM30R z@@n2$TX4aq`#AL}iTcP~@2KGf=Acko8twO?%EUK4+)vT?f*iEU%v{Womfgzyh95xz zJowlj_%pag=8m7Y{|%QU{5nnebx!K*+-V@lH z*MEIjcs&L@m;L`(NV*>Z(@Q@68?^fh%msQiZUF47Hy$$IX+Dhiri|vY8Sa8^h6&|w}_rU`?tJYC7$1jh#qRJJ$_g6TqY7Nz6j0r z-FrQK#kkF+v9h50a3`(8{OkcTMDlkk1W^?xG7bw57dYgB!FBJ(5JAyoCX#huR1v(# z%?fGc#8;LG>@udWD742zk+62d@82)-&!k~4);g=x%Rg~Y)6haOqha_4TJ6~%G}LGF z=Cmh~p^$m`>vgxYayjKwJ&nu}1*=YSj-wLQQw)_)sv@P0g%GCX5KwkIZwdz*$VEwj zv%%=URVId$N^U}^rxpxt{ zcQfqIGnDrUlyCvS0Jq84DF1Wzb#8CC&3~As4KT8xqN3vTF80*(y29Y==v%+ZTi?kF zU~V%oG4L347WR5Z`SQ_!A8U~7%oPYW#9>#{-r{DATb`4vCyct9R!^|1T3obM%Y<9-h7HQ;6R@ioo=?78da@ci%k z>_lK7V^!Cn#cK^P{bHl9boQ7rHK^&v2&DcyIm+k1wPP?`nJqQs)`FTOb8w-=vpvN5h{(QnQB#| z`BTlF4Q8UlK3Gjkfd{(_sXI@EeW^6P!w%T`7;dRA+Nb>f-S5sqBapVhQ3-x{0a#7l z4+Uuu?d-4Y{7$@-s(=j|PR$A3+NY5)1Q0DUItOJ>bR{+pCh$yOFa7#JJX7{IixxGY zkXvWhc258VT5nfP7}!cZQH1(mC_R@0ZbiG<#Bjfl`CkRH6|0*5J>R%s-2lG2+nwB? zdo?B+cCTT%uH%)i<9}lja)EJGzAG(XS1y6OX9)Q!xDaYeTZt|s#BHK(745C8@UI8+U9T%3#5}dyjkE?E=J%%2P4r{ z$BWEnM~pAU)FA1R01!T}hE|URT;1i2NcL6vJu^C!u_#qfXGKwpnkcAe{_Pt~WRS-4 z${TsP3RZ-oJ~+7Q6A@!0MUZ1h+eoJeqDkPK>J{oLLD^0+PX4th5iPj$diz{C!&xow zHsUhan#8qoL|1&jiZV7#``gzUER8|+41Mv_XG26Lw75Z&{{aC({=Ta%<)kFl!{N}X z^J#iN91ben7XfBI91gYCloEPVwN{1xI%{RiOws!ia_>1G)R{m>*DaIhSAO9%?~zAd|N7U9$g5uYN+LR)P5|)4_4T%<3wzeHo^?1LnfVhw{^LL313ut|FMQz# zfA9yFZDWzs>9n1FUhX~e$eZ5uCII-HSG@`Vw$n)f9)JAtT|%SxchE~;T~t>0F3k5n z@}>9PM@mG(tm-6d+@@O}@&X z`6c;yaFrhs(LqD6oSjXjc2x(Qpa{K4*HSxvKsbkb2|~17YG%$k|HFUy55M9!{D!)Y$#4JmZ~qNn@fD?3 zohvH3&LWRL_SmaF=X2it<~QGj**^aGm@xnBw|~pq{?eblX?pwqzvK5m?>GN;xxN;* zaVxa}3!hGJ_}yQ%z5XZX%Fq2(U;KgJ_}`m9?jz3v0O?(7mF~v$M09men5AqNSJ8O5 z!jzJ8 zr0(88AcV?XAw*#2sSX0O4?RPVkcf2oq30$Nafu1Dg)~;`lk>J4w-5rNuo&qK5fPci z*6lwY~Qzo_OM4|LcE!T0g39c*7gCom#8ThxH54dcVEd+M2!~e&#K2dFxx>x+{J2 zo8Hu!Ypu1_n5g&GuCK3u>Zg9{`uc%ptx`*`Hzr%EKm8w|iIgr|(-}3F4y{XR{qcA5 z6OS#E^Pl=jzTPk;>D@lgouxD>UFXC6_&cBYk-wYX>wO;im`{|}cdKGN9#22^FYC{| z>E1_ue17lu(bV2@XmGzA-`*dS!BoJ84C&Knc9l4q(rWeSg3WrfECn2j8$bg>vIs+rPZ!6pM?6L*mdB>ht>vPHWs70&s64%q)smsqDdcEr_iA5*;dl+)bU$odJ=#tJkSkj{H=@jEJmh2kdqv zQDX-YW=7Osr~rcbpu56bkO)`|5j66R;obTdg)1;_rODJ|c#9FT^(KnT*>CL}t+m=( ztrh7u%5)d0wbs^jA#nDIpxRn(t+fWe->Bj3o|ro3b=Y6*xwRCX-s==juR)g^@1{K( zlG>y-QJ7jpTGRiK_E(NMOKVzR&Ap_v9o`yJdg`D5&>R1o|NITV^DEx*H@_2)SJ9NT zhR3TX|M6>H|GU28joNkw|lb1uTRy>QEaI7JFG}H)CV<3JW5M(UhZ$sz%c)3$uRU*hh-( z^l(Q+X10{J+!2AfXSJeMOUtVXc|ugG3Igb79q3*f5EtU{%AuE}$kV;pkwe6*t9$yM z&_(sp;W01}E14U6KG?C!i8WY2|Yps`7p4`RCS`+`UGqci2Z=)#mZWH56ow)a| zFBcuaeCsv5t29N9fdo3YX$|yW&aYfcNrXGF%!dPjRP!g4R^RgH{`;$!eC)lCd?{aF z0{~tf%bVWtGk^M<_{k>#0Pj7EOO2!MJAl<5*xs9l0KvgED!M>D9!adShF7|wsFjab zYZ#8|NdVzUUP=i74p&D6lq5QE=;}%gTgm`Hj!RKWAalz(P6T3=kM~Gd5=krHv(lWh zfLu9rukJrdM~Z+rJVwr2DoChZN?2;Gh*)b=Dsim^09&ohotay$2+&#;5fN6Tq_wKn z8of0n>U!%%daH=odjl^e!rq(Nl^Hd<0gHMA5Fz(&m2FvqBx_Z~GblnU!G)0ws~N9Eh!3oV+x zbawW3)L2u!ly16)cX9moE~QCrQuUd#{#|N2U&QLv!v51aSMO4){!4%Ase2#!@z46C z&j0{^;_;vU)8Et{eH#D@vy}Fh|JxraZ+txf96$8M@9|k*z>hyZPSo$8-;5B2?R%yC z0t>+&w>^D8Vb+eMUtsQ22xzlWD+Lio!codhg!;%3fVl&q-h8wZSrfkbrYf2Ze zhyg_DX%%M`K{_ahQL!{uOiL@PRLW7S0I|#rK!G`2OtzZW$qk56pcrK0m!Pq%&>#j9AtWGcSurhO zu~Gs;5<>)a>t0DU>L?+E#5P)C0ALy-q00{)wIHoy842#Y25#;C12|T>m%d~AVbm!! zu+-LAr1#GEZB_^HrD{52Yilv(sjY3L5Yek&{pu&5cw$(BA@<(i@P;@1@DKm+#Yua9 z{|~x)@ki0Kp0oR`-uviJ>Q6oitx2~jF_#A1xb_P$G7Gnk1Y-)#%&l{C6uLfj_@EcR z?|=RcKl3f$03z@FJOA6gm%ifg{118b|M{)PD*27S{gIdca(?`=;YC>=WDShN-wKd1 zp1vYL6roo3v4(1PYo8v~t{UKFh?nAH3aon1aqBD?7_H-B))*1W!to+aQfa8TQWv#j z3%Cgx+c;7(qSBcp>0+8~he!32iY^l(XT{_?OUl5^m=c1p?wfH>q}i&OFgN$->LQtt z8&gWkD8WPKCQhG{oUsdoC3t0oBu6?D~ zrx%~c=l<$1fA8P)JJPeC1C(~7Qn>RIPtft$AAii4Nv%O|aE2l4&xG25G}EH!7aK~0 zX&;Cmf9JD5?N`3%7k%YBzxz7@;H}^BKhPu3l3D=Z*{^uzdwt=ytaH|Y1J zaEU^dFsN4!M1it$Q@kj(Gic98gn+oBGGY?xHuw!R=5ZoSVy^RXq8`4SN(h62OJTf; zWDtyP#!Zye=E}_M5`vBl1m$e^*2&WKC_KiJ5&*LF1EwaDb=EOFgq$EnNcWPnHV>L} zP2Hz3=Sf0kvOW_!c|s#F5X&$2n2rMH-}lrKQU8Qu58Y_+kNQfBluX4+@vWIj$I;x>99}gw@fmcv{ZpxGD#Me`dUp5isH#)w z2L`cP?}jqm1Y#L9)`;lu{@uU(TfX|MKkx%T@cR1tDfMCVFHZ1Pe&y$W?xSye+kf*7 z-!Ok;pZA-;9*Fq*H0OmG;~o*x)f3%v`-+JHz{Q=)<}%a}rYdtKh^ z*MIHl-~5a1-~Frp&PV$@9|eH?ejoI_-~4;HvD7kK>_~3+4L0#x*6 z2$5UUw@7OpkW}R_0IhXI>a7RqS~)2Cy3!3Q@0#i=NZk<&{YxJh0PBZW-8y?$xqpwY zysHep_2tJx?|m<=w){jl4k6{l%s|o2lp(9w=MVjaQP1$wj5gh83f-dFOCVNfgT{K# zIlu9ZZ~VQ#_xJwjkN)WCbb9>p#~*v_vBw{K?D5C!kG_T;ee}^!`?ODc-}imr!4iAf zXJ9(=Q%_0je7fc*9_J^X82>%>WPj`(@A&I~;T?bLFYUIGE`V47WA7)1bgT1r5wymq z6Q=w=U-OOWx$hnPjraNL-=CiMe17Ulm@4}=(tXyzETW(hi|EED0CYC}U~3#3^&-+* z7r@pOvE?)02<=F7ICqs@uVdfcF_+CkN9f`PePAP-iksRRQ_B@JO9TKJ3BR}K=Y95x5P^k})P@;qfwIwk?U!f+ijQMaN zLjy?7+I?AzM05bP1u}n}L6Jezm)MC6s6aoK;xEDR(nexuUj-=sN=Dt{@-&*1Afx)Q z-0F!{Yb~W74vlZ$?-8lBm2$&25_2s!)=YO=Tkp&<)x2>H+*RA$FG+bi_gYJ>&B09g zzkc|Kzv`>L>VrP$gLY};S>!9e{40LbZ~Bcom3YtRJ~wC~m=01l5NL0E%iI3Kf7c&- zJ4~n^BKD`A=x_ho38w1MyHsE0?(aeu5@5}cs{6oQYG22>NILM7PY!fSn6ICd+HJFH zng&R2!1pC`Am}EdV?0Qd#IdEsI%PA@3B;Inf&eB0pU?pSVnQTMSqSbvl~SHmehOj@ z!I1VVfKc;g=MJ(XURLVIqIYl1=KiCY8s?-7FwGNBI*Bl9lUrnk`by`|<}YRJEHp-x zQpbP>2BL}VAa0N%0|2a}!~7jWDVM+kt4ka=wiW34j$ zyryI4mCR)7ZVR4~m;fUM!2MQN&0y%-Z~YGRt{X-5@-|ZMwN2YdBCS>3+4{Mxfqm~v zp>OA4o=!ix5;^tHzxbE`{L8-VOZCUhFC%VEN`oft(YK!d?Z3F+u98S?(wABB8469{ z)E!{fU8rRWoe%BNw?6t8|0F;0&Ja93`al2a{5~I)Ki~yiwq@y_+I<}tcCP2+Uvd5$ z4p+_9iW4IlAh->jSYCk9DQ!FpF2yo+!r&2!uaI#rMH~pO2u`qCWT8SA8zPb_ZEYFK z`ehQ$k|+K(L{d_Ly99}*fY+BjdsaAR&1mCUrJ2<$2t?JC8nV)!m>IRy-n4>%!j`3r zSpc=vjQ9a?WYTo(!8?Q96k~v~THVVu??q4KAbLhCg}HR#2R2yT{XP=$$}OH)wgzss zmfKz3#Xp7@*TDLH*8iOKVc~rSaMxx_zq|%!-$lAVS1F~e>*f7Pn{VxQ!F)gdmavp& zJ45GJE-W=lor%@j*c`46dY8s;|6jkYyzwUiAU*H-#}9rn0QAQmee^s3Cw}q?@SUe| z$o+hO_2;lzpb7i(+Y%lyTdDDwM4$e?)c#oawyvW6T%u*MOf+JTRr|BGETUs!To6q;MDrM1@k{h1rgVv~R!F_W2FgI3`I7>lA@tFC0pvo$b-v<65b&W;h5 zT76;+0zmhk{p9!m?Wca|{{#R``MtmVcc%A#|DXLczmKn<+GcPHq4-5+EExUr8u3l~Mx0P+wAteg(cj!+^M)RB@Oq zACCtest#gh{hC>Z!2?>7L_+W07FttcO##4!wAuDFsVS6ok=9romqKX0>no@A5dwg| z>|3|Wy){)4@>E$D{l>L|$#=3_U-VD`gQnk34O{CXEW%pZkL3w@QZh;h#I|d>sr?Xh zZ;o2cC+cpJ)b-l*M7P68)u_<*0oK4e)-P@&b>B{|I$wy8?=yvFt#;9Uo;wE$egCny zT*ERCm)bbUlJ^_I+$y)mm#{hz(IWQYExmJX;~$Z>*Z$Z$zxywkTJy7h?bV0BEWh7} zKKIvrwf@T!-}g74`e*+DD8*4y?>~i(G}q>FrnHtdY~7rzT5llMftk6Do}+;ZTS%XJJTxPWYi+7xskQkR z`1UEZ&AKmsV_Wa7wg(-+^EJ%xtj=6?X8RytV3yLAUwMg%#Zo$;M5c1-vZ#@+-}#Qe z{;lTD^P-P^_OJM|{^T_XKk~9yZLj^&>wot5rMGwftv{dM_k+`WzMswr7#~E9<2kSWjg6i%O0-&L-G)fV?BiSlfwfF#%D7q**JT?$7 zP_!&%oIEIYcvwm~7VAiq^NjaUN@^%SPVbUJ2calrf2R5ygTend2E%AZnJAv~-7;L^ z+!R98_en2KsKdy-LwiTA<(Zwivg1O`iKFg=ecWep)mqc#D&N|TxU*KfflA5686hIT zBEAH!0=IvGZKwB!ZKNJ2z5f(?zJ}eHv<(}+e2HmMXt}x9ucYUi)M9O+Ntu z^qlv6?yvb8z$|5xT4gKm@ws1>Kj4J`(BJvC)4%wB#5A^%`2Jkz2mOO*|DFH4$SwT@ zFQif)DA!cyLdJk8#~aRnA2cfrn#XR)SfaRTpaBt*t;~B@3b=isnH8N9u=RbE>MY6r zQO5SH9_ldF01Oo365)BO6L^8*x+;>=y$%Er>0pxz-XRl;T{*hR=eUIf1~--NLYwM5 zkeH#iert;0F5O|~i;Go>c67b)fMSNuHbgIPBPkd9!PE=OHOzgq^DSGumt>P#xu4gS zX}G$WVaN$hW(a`!@E*VVKTFU1Ab#peE#lJ&ub%zf&--e6)^h=Xx0AF!uId5yf%TzJ z&sS~@Z?4=mjOA7L@bauyJ=M8i2$@hmeNh$SgI zuUc3CfJn#VmA(LUN^m$F-AOY!e_KDx2@%~V1D&dpCf5N}r`ni%#5S6T2m9USu-$iV zZ+rg9nOK^{ixS`${*RvQtr$njR?eeb>1s-kmOM2`7b zPE<=({9Eql`FQW@N>Qw4a?WWAT^sZ&fRGNr+x@4|+%F?u`6#UecKvGDfS=(p%EuRd z0tm|`k2`5Cz1Ih(=Y6pBChmF*bpI)|-j?NYr_}n~HzL$dn0mWd>c_VG_neE}j3}up z)^!0(Q%Um@TW{Ba(^Ti=S&OI2Nt-fju9T9OBC};YR)|TR+cBk-hyYNsg(^SFIbbRT zGtg2Rv%Us!COJ9EmHd;7zPF?=rq zzCK-Bvm(di@r5sZ;ge53ky6%bFMHX`KKE6hvz2m@>;HlmzTl~+t^uIcR^~dLrFAJA zJ?nj*`^8@;*Nb{aL>e$~IsIk@UO|bfX+J2M^^!PoGe^ z)!=IXu@wNiMESY^V#)q-yH}Eth%}VIrR+vJ#pr4GoQtK1sN`zBXZzA6OtV)erZf#4 zosEuCN-6ee1%MzSqSWsqXT zP%D-R4?w)hKwSTKW_|ceKNvOpo^a#Szqx0WQr_@}H+=L*fAr~8uC9(B^U)u(t9{6a z_j=Fw1c2AQ?sZQ-`J`@PeaHuY&gs2I_Gce^?6KbaJKy=(dpzek zwUy^R?|JY4{_nRt?<4mfdCObg@|u6}4_^0EuYcJmzO2@Qh#&spFPYypB1-ct&wkeN zr(XYh0Qis({@|Cr>}5|q_2dm}fwpbiy?a-0e)F3jom?sF&-~O??K<%C`@QgT26G}g zJqdu)yDw$s@BuH`Rkkl@I>?jn=x=*70M!5RTE2ctt(e{=%n70O`j$65P-U6fUO~A6 zC+_UvDAW{xQ>nkR@d10z{+yx&Etx5R0~xyo7aI&QJm--aPfQh&&V{tWN$wEJic&hO zX~lS$Rbi{=&|HT+Qv0#DpmRfx{VTJ%g54@#CSD6`xSp4NUC*FS+n4c!KCp+VEZU&l z7sQ&bif`G8?Y;kvzx6lY`nI=TT^)VEEdOn#sMGDg`SBnBzSn$TN~EjhT{RIo91c%D z`Q%^!uJ5X~zT+M5`0oGxyH$a}%)82^4Dr+7|GvNfBR~41SH~+vQm%FUS8GLp?|Dp14|M9!P#QFse4TwVU zq=*KN-dLHvvK6j?u5_n`IW`P3d14vxW-5Z5bptjwh8C{?0Iic^6BsRwjo;YIbx2@@ zhAqt#gIG)=<`o05)PdkQ70L_=M5#8F=Md6>6O85}XW>fCNjb%)_br{{wXc2c|Krd8 z*-v@JE8gdM@1rm1Wzm=NzklPu*C+H>|Jq;ssh|3(kNEJ9xVpO9A=`-f&Ud`?hyU3R z|HMz459{~6<~477+uJ_w<38>=&wkGNPSW9U`0*eAaR7MivB$ps&wu-8e#U2f&{=wGTg|7wz2)zC6Z~v$N*FSyz8{V+a zTFVoE|1aHp^S?{)_X4ED1Z!5M^8_b*Z<4*<{yu-_0$i3 zSAFxp%g_HXO!;XfXFw2<{^*;^PyW;Ue!UGn$~JdR??UMF-jqk*0Dy$vk*t?legZeL zI_qW-xRe^9O7v&#z;k7sE8BuJg{cOB#EEnVc;I27uhYBHb|cpH^_=bWhZjuT`%m!_OrYgrXVx`58vV5)=}0iD%kE9tJSoh%401*Altwb+i$ zPJn_yrw|a(gh%QVqQ=Q0fG8L)%EKrG2!}Sy)IrMv9}OrS*Vo5ANu zFG}p*U%HJphnT1{D`!JJ;%l|tJe|_31FoV?M5(o^v@o5SwANJKr52uQk1pn4OS+Zv z#FI}v@oqA3y!-Qu_6PATKl_%ao_b2N?}|u1WMN4uX{dfW`au&B#SV3jsY$lR3elK_ zbD!LG(aby?;E3R?wBK}WChE+%c5g53n6g&Zag;G>Q{t7qDY5K?%sH7oRd(bFoJxX+ zd~m5TDI*F;euo*Rf}lY8CYS+Hh^UOHXc>qmn93$O6ICTesXF3|Fq+*7i^#S$?(P@P z!*It?Jdqw!4;{7L#73>#AMV_HZ@qEn)|zgnKk}?+-3@_<_s{Woe9z}T_f2nnqb?M+ z_ohTC=M>tSlwH6=L|7|%hG}xkXx+j%}o zscP#+0uf!BcU_H6Y^sU%q9hmuwZDwa!<{)Ls;z4>sMb0WR>f3>8}~%1)~aV|{!vx9 ztC<;nRXVF``nGLj=FY6UGObp1Lf26Lw==)@d%yPwJpcJWJ*D2h`|}X}`J|V<44B{e z#y6_dlYVuN$0HIQa#q*!9A71 z77#1#Ag&!hj5Nd`SDlqM1+Vo2=9ZQ6Why`QpVVIt03=CN$fp`T#k9y$pCwUTD$RtF z6vP&oP%8{L!P3DjS}g=5CGB8*LP7PsDpO|eUBUpQv-DP7naRC%7H(>_$E;#zHGk{9 zt9YnX8@IJJo_PQ20#~-J_papfPy6&w|Gw}0zDFN@^lm&nTz_8jl9znyr+(_&9(^>W zlyc5FAF}?RLn6}T&qP#eO+-0o{VW@c){`@<-CP()#>R3=$(=M{a>J2fgaafK18m3` zAv(Y4wkyoQs)sUAD;;idUU_P2B4#;w7W=V)F!R*}ZNt-yf6joWRfje6U#!N2MA@F9 zGCO48WBxaod~rHj-U=P1Xj|9{JauJ;bnZNK`(12?+;kY5RdQ?GyHS5tj<*ir-g~LF zx7L|kYtMPkb6)w%SHAAGuYJqU{;bgq9h-IymV=xZA?sk@?8rEG;l&X4{I}s+rgjx$ zgeWi2(jdT4*}-$3_3RhE@P!}wksk>Fr)@hN4#_zZs@dV3^?Bu-u{B0yku1Xc@f>DX zwpb0W1$quNU7&duP64`+Loy8#S;q0U!h!TkL)#?&YGx|nNz|@ zN+=?Pq$q;^R82XjHe%u!o91-uEGZESF+u`h;bd;_wj?G*-AM+|Hp=3LLjXv`YC6^$ zh;-(A_wIe{$A0XGms(pDme#7hQA6jCga(#~xw{&x;{rFS8$Lv(z~VyrHEfwqxJ zM2V7mn<_MuQldon?%m5dAy~QQ>p32dnwlpcj+7|tj5;NC%sHf-a#oHpxL2uijNOlp z6n51wjr-c^01*^qG4x2qL(H6JngcUwDNf;eX-u$@*z=rdxHOgZSld;h49vRN9GDjV z;~)G%Cnu9>>Gf?ly#lAq5#}YJzI_Pf+c}f}9|jH{m0{@heP;?Lhx%~$G8v_Rm6dcB z24(hIwSV(3a5w+G>T~JZ8gtjAe!VsZ>8;mRyShuY$!OVyc>Ymt+}Wn!j(XV#pSg1v z7Inr}8x6f)i2oDQ4wzoaQ{R0TcAI~3N8P)M2aiwg%8(!Ac>9JfYIQ}MOnsUtQKF=S zFaG3|b(WlUE_^uq$DB36m;d{Gpk)x&g<{fdN|wAkr!;I`{KYYOwoIb^c-O3?^mprS z_S~k-GrU;?s(;VHz|1)-qKzobe8{;?z&fFYCi+XMcTOZRMbVYI8dYm4C3{tbW-3Cj z9C+A(1oZWW@m3&G+o9O|X}xR03+2kx*3|#{z>EO3wMWEkGytU33ZgkUtCs3~TV35s zDVm)~Q->CZxN5B;Tx;jvG&!J%)KV4KZoPv@ZB1V!;fDnNxsFxSAYG5WzGZCaw@Bi} zsMeV>vdhLN{TF@!Pp@y8-zKsyo-BJctUY`3qL^K~-MbrNgjiybl++qgzp*)I9c72( zkq~vXrkoCzg72UM@9KC&q{HEmazenvaU82Km9mV~4qCHy8ZO0hJRZce=ZQ#8iN*Gu znE8+o`lZ#MuVVp&O+_?AO^K+FP$mta>?DCVg}4lyMNYVrBDP6On-cZjvwj9gs{7ak z55siJW^SshU`o5Ckaa{FuP0@YAP%#2qm|&Q#xhNl>{MX0vyV-nv~%agfS9vVHG~h0 zh=)0E13=KKCc^~bE-YPPZB@Va-qd7FE2!OB?_KoU-C0u^#g|xob=|r5#=WSh;D(+*rU; z8xiGXpJYoxsOc~d2NXb^UQhFF`-nEs_0aM5;9{?A~P3j z261Hf-4BCY9F(rLtD%`d>|}cW@ezcu$0kG)(M_3<`HFtJ^2WbF=eY#y(^IHXg{S{g2Vp`K? z7xv!u$xWpY+wPim)$)nzTgupT{eqzZv(EQ)PkWxs*yP*?a6+uT>wB*CPKYgL@;Yl` zj?hXG)t>~3bW_^cV}z|W{nE`%#VVltE#hcOEjxNAT|orZ46!>nCvNXxIBM_Ys}FrE z#YHL-qE%!L%q+{V`$h%Wo-&E_1^LO|Kaz~^P(y9h#F)#c%^jb zX;QU{^@pwGl)40Nu6&sgdZw($v72?f?*7IJqntOm&LLNx>0CM?G3T$-*c*hH;#y^1 zX1X$F$h%qbVAjU0A!g2wfhuUWUWS(7#do}+yK3@pS#nsW73{nXGZg6KfejB+Ez+?B zF>S+0lrg5G@eQ9dXToR+!M~Fbi8trYFe33Oy&bE$aPj;TH?ih-5A=p-FSyM7R@%LV z^LJL}&ViS{vp20-@M6X{f3D_}0hgH3V~Mm}2`)JtW?Hp?IEZB{b!B3qdimsDn`#%C z`EXFEDVb6)g>#ix?lso&VeK<2cjIX(>^=kQi+-@n;Aw%G25G39TWLbPF1;Gl8Jxhk z;|I5eH@!y%0&MWfMe6K)nhwT1b6y&y6j@%GMX?8!VGHa2+>MtJYlN7^On{$6>C^my zs5>QbY&7NDCvq8UnU;tbTb_w`^Vh8Ro(Kg{m=ig_R~H3)1ZZg)Z+e3AEZMrLDq^>sKSn923-9XX-O*8}L z`tQ19O8VBHpbf#1#01=8FO0CoRejUK-NI#q-YTOhNR*fr=okf&Wi+)Q1ir<;=m-5o z1}At^o~{Drh7jWC-!Ghj3X?;T!+C3E`?R`Z%#!}OVocmK@y7GISMV^wk0g5fM55G9 z!{-!xH-@_98OKgdL3|=EUDfz9+;GiGLKqS;#nuh*vEM7xeS@cS+utoA-Vy=|dcT@g zemKLfN?>>(DWaUW4BlhM++?}P3B)4ut!W6{Ct60&5SWDpiOrH(M5YY)5UeTxxQk;# zW^`-7mZ*hDsI^AUF?*Z}WcidW{0h;rGLcD($T7JQk(m3)yxTG12N?4X88ab)8$tjS zoOf(-Ou=><$bfle)o{r=`T2zp=h>p1O~!U}$y>r_&M*4;5A_K;PIS4l3tgw4oL<==PGK+NXnl4%QMO_A@e-X`ttLk|bLwO=*r9Ye6h=Vp6n?PQ9Hqq9L z?41SdSUrURMCHq&@6wu~e0UcvMn|xE7r`y1ED$G>3ug3p;WHzY>2Xh`W(VJ$gTL=N z#yb>zP>ZbIS+hau-iB@&OfC25liK-V?-4JWGP*Ncc6;`mOez%UgTJIOCw|}G`+G21 z4cI5!^w8i5fid#6%s7-`S14#U0P{vgP_g#d)!AQ`W&h=Ej~g(8+e`gLiZ|j^XE4Jp zIGLPNzjvQ{ynNJ}iT3W#FWR4d&scV5@NAb{7U)xM1FCjh@5$>z9%y4}{0mN7ur_-X zS$NjQQ}q4P^q;=^)w%^rNJ>}o%xI)J-9*LlE|L@x?v0RoYf8h=C3|blwnp^W-t=lz z=V5sRL^?Af_11NQ(ru^2TDH(irT0#_58JMC=z%*EVQ(D)L4Z3GqNaEQ5!R;E&|HN1 zmJk$U>usC}k+@GS6O9uo)O1s6XCmTuTj^c63v~&muo-uLceT8G3YMyl=bqzTW!I5z z4{>y0?MQ8e92^B7kI^XhIP|LYX#xG%;MfnUtOttPta|z|K(GSNRm#&`CyR)Np69jgDHu z1c0g6WQedFIk>-fkrHCK{Ae4 z;8p5cBs+8gWR(y}NV~?|NX|^SVA&nKVbk%J`Pze{N_XMUXDBnJz&y(l@o6;`J$>k9 zVaB?^5LOW3jccVpJE&Ja^382)7Hv)*I-QU-Ewbi! z^683}3L7Wp)*WP&80zo0~}5DsWTwra$XC~Th7NqP;|#~aw@eo zAR=lKStZ&MQnOIhfN`EeBVz9j|G$6d?*tJGbPDR9d%%%d8%#L}^A?sFSX#Bgae+a7 zAGOBrGR~0Bp4x@e#QRnj*Q!q(6Y_;wbWY^QOAN4cY8Kv7c>fUhL>-y=KetnNZo<6Y zWgzS#WeDG`s1UyUV5aF7$&MWcm$_F@Kb+W3a(~22&Ys(BS+SQB%Kq5-^Lh!ulGT}Y zS8Zbb!J<$A(V24kPkz&HVwTn$A(pB@6t~)l$UPjnwT6VfHk};z)`+mxCI}+j+gM(! z0*8oNtBwFQB?AMB>VAlD08#7!7{6+t1alfnb9~eJjIyP?X^o<>r zwW;|#N%8r*_!OqwzCKW&$~FBo?T_t@0{|19FT{5;(4!gPoIAfxFg;{M&|HuzDJP`f z>vZfe(3?XYIDn{$DQz5~`NMe#wbrcjb#h6dyPd>T&G)ZaK!vR&nzI-k)KV;Zi1!gB z6hbn+a2NzdJLV9JBI;Zhoa!~iQO2_1kSwYjJ9!;UchZPg9=^;hx*>$ovBZ_68%a=~6=v@00Ge?l$YXImIyzKtSO^ z-k3VS6Q6XXI549kxuBHj3_P3cP6U7j1Xv+xR>6m`{v1{j9uT0I;+%zz83h82!VE&5 zUJP|z;i@So;OpuXRVQc?qLhHuZ74F6YpJ3D9nCoi)fhz7Xx8hh$W9bEb9-uJ77PS6tII3+6UYv4u`owGS1`o{&Kj;!EQ2hkU{xz+;C=u$+BG; zP)C&N{}1`D>c(QyIJrH@F0tc8fegmmJa3)`oDS}79qAy?uqhHrrP8Ka z5zPHib*MO=uNf!Hlrs<=`BeuWy@Mf-)pvxAQ0DX-zTztY6qiyFoY`5}#xEiZbMJ)E zTGfsU5P*yb1clQBVlV@;cK1q^w#v_Yx}_KoND%Vo+imM?GmG*R|XS>86PE$&)yv)Z2Uc!!t#ZE7H%5vgqW{XHG#AOP>U8s+G54}ubXGXde@p_u! zIyt|sGU9C^J)Nt%UsJb-7fu9z>u?os>_WTGFdZ8YrFXS=4uDfb@aJo51kY-KqvzO% zF6Q~R54^0!aM=eYMV=(`f%vgDqwc-?tXSvU<5*A?I*70h97_k!?8^-=4Nv92@z?*l z>&wt`AEWW4b(>3dh2$_4LL_RLxKzQ+vSSy^KZD0yI7ZgSqB#sL;?8hraq+Y{=89{b zO+lx&&OoqX&jn|Q7B2sYI8k+0OlwhKPv^Z4po14dtLc&-2;q6?$WQl`Z9ae+{uXYV z+;WemjYOZz_?gEOlneWWh#n?hT$Y%jj+QBxyW6o%rL?_uFbn`4OLItoSM&&^cP0#^ z4FUjzbz^J>q84J-ej-4;(AJ#-)d2j{H|SGsZ0D@~Dne#adSX=8zj)_o z1;*mo)*AxWTJ@vaYD2(Ms-mj3H3Y0>(?r9qGyo{2=%hgL=2B|PXuhhm(rJ#z0>pliZuBh|uGxR#+SK~{31yGYZbSkG%3#y=sMEzCFL5+l%d-{@J_a%l}rBrR+E6wK26##|RoC#~GifNg8 zp&ALhwdR$Doib9rw6}%;TB=hWMATzNq_qm@P1ziS#vG$n1gxzAg6bCaSg{$1?;?uL zd~lUIOd&gwrF)i^9&m!@eArENmF5Bf!n$2N&zYSuGw*HAAcs!vbZjfgp`|c16)}e- zq-jRIqncd^Cw7rP;DN(Y=Yhl!qCT%=m+Fe}-S&%? zmQgog#cmGZe6ND2#IZ!G&EArJRkG~!caW$I%}ROR*=AnBBnzRpCf0#hLs zrL_hKW6s<=0Jd87*j9D(w#Eb-EPWTNfic27Qu>&0cUHe-^*?6j)@(?!7*hifYHj$P z|I2rV#^3jPU;?qi@d1`O>0|*s&kMt>djY8SU{cJ<*2(%x+FA`w=c$)W^WHJn5x4+= z&6w301#I{CTZ;CW%bDhJH!oYrWQzM=mZss%+PdWXb(@e4Z^%+|q3#73Y1i@thYK<3 zhO@7S&TRIJAf8-0R&E8fWUQyA%b2{QM#JG)I&YiJD5S_NFO=9+n{B9Oy8e6_^BH4L zO<0DZrA&qxs_6I31&dFxI6pfsgGHMPVw&bP0B1;>3DK|p;xFdTwN#>1w$0F^S}CP% z+fanL*HRJ5N;_Lv3IGcC(kfX9+dqnBCLO zY6Fm3^o^x&9c&7Z=^G27)~fs%^J>>nbk=~)LWS0#R$KIU{g~IPa~Ex@HAmX?L>~HU zwd(uZUb>2wNgUh!JJAf56HqJ-?S(CI&2g-Y!s-P?BueXq)4&S75S$}1_T6Zmd@eJj zmkZ@f&npsQv>iTlbBG8#_Sk@J^z&7#?S!;F@?`fJWV(#?2i6w1PWMr!%5ft5UNxP{ z#eH_NVDDPmEF7ON7U|QcPqZ@tK&wqVVf2mhtsB@gg1H=9D^8W0 zRjwe?xz|!apq8Rj28D8UX!PD|DF9IP``o$K0sz}qK)7?Sr27D?tHb8E4 zIL#j9d|PGOBpb$+dgo;V0L`)r;Zk`1!y{DuSPPgobt}K5>I!vTJHGWL~anIO9x@S3iuiKxw#@4(g$ODAlG)Jvs~~uupvm zj0~0<8M-VZ)Zf%~wbU0>n(VS*WO(AdbsWf)sN{nMF|?$x{TS zkBgkRD9-EX;|H<`cmD~@Lar;)4uxWd-eMNP!ba>879pR)SY<{-%K*4{A>z(}UR|j^ zg8DsIbwK)}FZ@DguC1m-W!n%zn7d+HrRc#rqpr0m;MQ6*+7^ILDRowijyw_B)~@I* zf>7rJHa{UnytK4gsm*&U5jHzks;efzPc-(BgZsu&~y?dK6z_(R&tHdKs!ILPm*o>uD6(fPK0%x_=(=SHsx)IW2dHerOVyu zy=i~7J@aN^RGyFRIy=>j5Mvb()8J;);5d=~1oq3AI6z)%Y1UicU!?X|CDr*anrtQF z<^aTUV?I{r`FfF}kK2CWSepPswNQ5Vs#TpN7ty7eExvS>$F2L~3xK)DdP+YY+WlIa zx(bfUwlr(YDz9kI>Dd+W9r@o}Ra;Hbbe6ig*bdYE_G$w^l?frRXE8P1miP zUsWZdQVV{^w|~2D?HSK|Kvfb@Qy9TwZ0ntaKhyMjg|BRPGWOGGhEe7KyFf(04a~r= z&i6&<%I7$f<3{0zYbM&k2wNSp=E>ebzGRfj9>kh(ICl?RE=E=^*M3P63XRDy3?{Jf zlJ*gAVsqg>BlFBLlbeZP=Zs}HQXjhXaal07zQ$bXeC97}THFO&x;UR-kHy)3YUc@c znQOJ|oi47WXY=6|c^Y%($vJX5*V(a?79ZzH^8CZ5Y9oQwc&xQX

@q^vF-$kw@6NC`@`O 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 z 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 * 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 z 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

kD-LOUO#GlF=ye( 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 M07*qoM6N<$f~?T_U;qFB diff --git a/tests/game-controller-test/proj.ios/Icon-114.png b/tests/game-controller-test/proj.ios/Icon-114.png deleted file mode 100644 index c3807861ad29dac52bb809b2a926265b5e17828b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16537 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�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 diff --git a/tests/game-controller-test/proj.ios/Icon-144.png b/tests/game-controller-test/proj.ios/Icon-144.png deleted file mode 100644 index 1526615c02d1a801eb71bceb3e9442e085bcd6e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26403 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

f4WQGS(17rS_?rE2wUF8lA<{jFQv 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 diff --git a/tests/game-controller-test/proj.ios/Icon-152.png b/tests/game-controller-test/proj.ios/Icon-152.png deleted file mode 100644 index 8aa82506d0d19d11c2f2f1f14087b2c734371f5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33665 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 HvylG)n@aO= diff --git a/tests/game-controller-test/proj.ios/Icon-57.png b/tests/game-controller-test/proj.ios/Icon-57.png deleted file mode 100644 index 4fcc6fddffe10a0b6130d498d1857071b59b464d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8960 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

K|Mwy$R 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 diff --git a/tests/game-controller-test/proj.ios/Info.plist b/tests/game-controller-test/proj.ios/Info.plist deleted file mode 100644 index 5162d3a8da..0000000000 --- a/tests/game-controller-test/proj.ios/Info.plist +++ /dev/null @@ -1,92 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleDisplayName - ${PRODUCT_NAME} - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIconFile - Icon-57.png - CFBundleIconFiles - - Icon.png - Icon@2x.png - Icon-57.png - Icon-114.png - Icon-72.png - Icon-144.png - - CFBundleIcons - - CFBundlePrimaryIcon - - CFBundleIconFiles - - Icon-80 - Icon-58 - Icon-120 - Icon.png - Icon@2x.png - Icon-57.png - Icon-114.png - Icon-72.png - Icon-144.png - - UIPrerenderedIcon - - - - CFBundleIcons~ipad - - CFBundlePrimaryIcon - - CFBundleIconFiles - - Icon-58 - Icon-80 - Icon-40 - Icon-100 - Icon-152 - Icon-76 - Icon-120 - Icon.png - Icon@2x.png - Icon-57.png - Icon-114.png - Icon-72.png - Icon-144.png - - UIPrerenderedIcon - - - - CFBundleIdentifier - org.cocos2d-x.${PRODUCT_NAME:rfc1034identifier} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - APPL - CFBundleShortVersionString - - CFBundleSignature - ???? - CFBundleVersion - 1.0 - LSRequiresIPhoneOS - - UIPrerenderedIcon - - UIStatusBarHidden - - UISupportedInterfaceOrientations - - UIInterfaceOrientationLandscapeRight - UIInterfaceOrientationLandscapeLeft - - - diff --git a/tests/game-controller-test/proj.ios/RootViewController.h b/tests/game-controller-test/proj.ios/RootViewController.h deleted file mode 100644 index 11dfc4bf88..0000000000 --- a/tests/game-controller-test/proj.ios/RootViewController.h +++ /dev/null @@ -1,33 +0,0 @@ -/**************************************************************************** - Copyright (c) 2010-2011 cocos2d-x.org - Copyright (c) 2010 Ricardo Quesada - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#import - - -@interface RootViewController : UIViewController { - -} -- (BOOL)prefersStatusBarHidden; -@end diff --git a/tests/game-controller-test/proj.ios/RootViewController.mm b/tests/game-controller-test/proj.ios/RootViewController.mm deleted file mode 100644 index 4984955c8a..0000000000 --- a/tests/game-controller-test/proj.ios/RootViewController.mm +++ /dev/null @@ -1,97 +0,0 @@ -/**************************************************************************** - Copyright (c) 2010-2011 cocos2d-x.org - Copyright (c) 2010 Ricardo Quesada - - http://www.cocos2d-x.org - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - ****************************************************************************/ - -#import "RootViewController.h" - - -@implementation RootViewController - -/* - // The designated initializer. Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad. -- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { - if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) { - // Custom initialization - } - return self; -} -*/ - -/* -// Implement loadView to create a view hierarchy programmatically, without using a nib. -- (void)loadView { -} -*/ - -/* -// Implement viewDidLoad to do additional setup after loading the view, typically from a nib. -- (void)viewDidLoad { - [super viewDidLoad]; -} - -*/ -// Override to allow orientations other than the default portrait orientation. -// This method is deprecated on ios6 -- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { - return UIInterfaceOrientationIsLandscape( interfaceOrientation ); -} - -// For ios6.0 and higher, use supportedInterfaceOrientations & shouldAutorotate instead -- (NSUInteger) supportedInterfaceOrientations -{ -#ifdef __IPHONE_6_0 - return UIInterfaceOrientationMaskAllButUpsideDown; -#endif -} - -- (BOOL) shouldAutorotate { - return YES; -} - -//fix not hide status on ios7 -- (BOOL)prefersStatusBarHidden -{ - return YES; -} - -- (void)didReceiveMemoryWarning { - // Releases the view if it doesn't have a superview. - [super didReceiveMemoryWarning]; - - // Release any cached data, images, etc that aren't in use. -} - -- (void)viewDidUnload { - [super viewDidUnload]; - // Release any retained subviews of the main view. - // e.g. self.myOutlet = nil; -} - - -- (void)dealloc { - [super dealloc]; -} - - -@end diff --git a/tests/game-controller-test/proj.ios/main.m b/tests/game-controller-test/proj.ios/main.m deleted file mode 100644 index bd577a036e..0000000000 --- a/tests/game-controller-test/proj.ios/main.m +++ /dev/null @@ -1,17 +0,0 @@ -// -// main.m -// iphone -// -// Created by Walzer on 10-11-16. -// Copyright 2010 __MyCompanyName__. All rights reserved. -// - -#import - -int main(int argc, char *argv[]) { - - NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; - int retVal = UIApplicationMain(argc, argv, nil, @"AppController"); - [pool release]; - return retVal; -} From ff908d771a0091988f67f209cd2c472ea67c35a3 Mon Sep 17 00:00:00 2001 From: lvlong Date: Tue, 1 Jul 2014 11:26:29 +0800 Subject: [PATCH 05/18] add a space to test pushing --- cocos/3d/CCBundleReader.h | 1 + 1 file changed, 1 insertion(+) diff --git a/cocos/3d/CCBundleReader.h b/cocos/3d/CCBundleReader.h index 37cebd21d6..4efc71f368 100644 --- a/cocos/3d/CCBundleReader.h +++ b/cocos/3d/CCBundleReader.h @@ -136,6 +136,7 @@ inline bool BundleReader::readArray(unsigned int *length, std::vector *values { return false; } + if (*length > 0 && values) { values->resize(*length); From 05d20d59d46bfe00cf346f831e3570547c916ff3 Mon Sep 17 00:00:00 2001 From: yangxiao Date: Fri, 4 Jul 2014 09:25:06 +0800 Subject: [PATCH 06/18] change position attributes to vec3 --- cocos/renderer/ccShader_3D_PositionTex.vert | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/cocos/renderer/ccShader_3D_PositionTex.vert b/cocos/renderer/ccShader_3D_PositionTex.vert index 95af35228c..92a359922b 100644 --- a/cocos/renderer/ccShader_3D_PositionTex.vert +++ b/cocos/renderer/ccShader_3D_PositionTex.vert @@ -15,7 +15,7 @@ void main(void) ); const char* cc3D_SkinPositionTex_vert = STRINGIFY( -attribute vec4 a_position; +attribute vec3 a_position; attribute vec4 a_blendWeight; attribute vec4 a_blendIndex; @@ -70,10 +70,11 @@ vec4 getPosition() vec4 _skinnedPosition; - _skinnedPosition.x = dot(a_position, matrixPalette1); - _skinnedPosition.y = dot(a_position, matrixPalette2); - _skinnedPosition.z = dot(a_position, matrixPalette3); - _skinnedPosition.w = a_position.w; + vec4 postion = vec4(a_position, 1.0); + _skinnedPosition.x = dot(postion, matrixPalette1); + _skinnedPosition.y = dot(postion, matrixPalette2); + _skinnedPosition.z = dot(postion, matrixPalette3); + _skinnedPosition.w = postion.w; return _skinnedPosition; } From d2cd2449d8a5054546fc8cccd8347cbde10cde4e Mon Sep 17 00:00:00 2001 From: yangxiao Date: Fri, 4 Jul 2014 10:42:02 +0800 Subject: [PATCH 07/18] adjust code --- cocos/3d/CCMesh.cpp | 10 +++++----- cocos/renderer/CCGLProgramState.cpp | 27 ++++++++++++++++++++++++++- cocos/renderer/CCGLProgramState.h | 1 + cocos/renderer/CCMeshCommand.cpp | 16 ++++++++++++---- 4 files changed, 44 insertions(+), 10 deletions(-) diff --git a/cocos/3d/CCMesh.cpp b/cocos/3d/CCMesh.cpp index f3a5050c3c..ddfe7d21f3 100644 --- a/cocos/3d/CCMesh.cpp +++ b/cocos/3d/CCMesh.cpp @@ -192,7 +192,7 @@ bool Mesh::init(const std::vector& positions, const std::vector& n if (!bRet) return false; - restore(); + buildBuffer(); return true; } @@ -202,7 +202,7 @@ bool Mesh::init(const std::vector& vertices, int vertexSizeInFloat, const if (!bRet) return false; - restore(); + buildBuffer(); return true; } @@ -242,20 +242,20 @@ void Mesh::buildBuffer() glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _indexBuffer); unsigned int indexSize = 2; - IndexFormat indexformat = IndexFormat::INDEX16; glBufferData(GL_ELEMENT_ARRAY_BUFFER, indexSize * _renderdata._indices.size(), &_renderdata._indices[0], GL_STATIC_DRAW); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); _primitiveType = PrimitiveType::TRIANGLES; - _indexFormat = indexformat; + _indexFormat = IndexFormat::INDEX16; _indexCount = _renderdata._indices.size(); } void Mesh::restore() { - cleanAndFreeBuffers(); + _vertexBuffer = 0; + _indexBuffer = 0; buildBuffer(); } diff --git a/cocos/renderer/CCGLProgramState.cpp b/cocos/renderer/CCGLProgramState.cpp index 5652db4e8e..ff9f2f5e1a 100644 --- a/cocos/renderer/CCGLProgramState.cpp +++ b/cocos/renderer/CCGLProgramState.cpp @@ -281,7 +281,7 @@ GLProgramState::GLProgramState() #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) // listen the event when app go to foreground CCLOG("create _backToForegroundlistener for GLProgramState"); - _backToForegroundlistener = EventListenerCustom::create(EVENT_COME_TO_FOREGROUND, [this](EventCustom*) { _uniformAttributeValueDirty = true; }); + _backToForegroundlistener = EventListenerCustom::create(EVENT_COME_TO_FOREGROUND, [this](EventCustom*) { /*_uniformAttributeValueDirty = true;*/ updateUniformAndAtributesLocation(); }); Director::getInstance()->getEventDispatcher()->addEventListenerWithFixedPriority(_backToForegroundlistener, -1); #endif } @@ -325,6 +325,31 @@ void GLProgramState::resetGLProgram() _textureUnitIndex = 1; } +void GLProgramState::updateUniformAndAtributesLocation() +{ + auto olduniformsByName = _uniformsByName; + auto olduniforms = _uniforms; + + _uniformsByName.clear(); + _uniforms.clear(); + + for (auto& uniform : _glprogram->_userUniforms) { + auto oldlocation = olduniformsByName[uniform.first]; + auto value = olduniforms[oldlocation]; + value._uniform = _glprogram->getUniform(uniform.first); + + _uniforms[uniform.second.location] = value; + _uniformsByName[uniform.first] = uniform.second.location; + } + + _vertexAttribsFlags = 0; + for (auto& attributeValue : _attributes) { + attributeValue.second._vertexAttrib = _glprogram->getVertexAttrib(attributeValue.first); + if(attributeValue.second._enabled) + _vertexAttribsFlags |= 1 << attributeValue.second._vertexAttrib->index; + } +} + void GLProgramState::apply(const Mat4& modelView) { applyGLProgram(modelView); diff --git a/cocos/renderer/CCGLProgramState.h b/cocos/renderer/CCGLProgramState.h index e0775e61be..2260679739 100644 --- a/cocos/renderer/CCGLProgramState.h +++ b/cocos/renderer/CCGLProgramState.h @@ -207,6 +207,7 @@ protected: VertexAttribValue* getVertexAttribValue(const std::string &attributeName); UniformValue* getUniformValue(const std::string &uniformName); UniformValue* getUniformValue(GLint uniformLocation); + void updateUniformAndAtributesLocation(); bool _uniformAttributeValueDirty; std::unordered_map _uniformsByName; diff --git a/cocos/renderer/CCMeshCommand.cpp b/cocos/renderer/CCMeshCommand.cpp index ce74ee031c..ed55546ebf 100644 --- a/cocos/renderer/CCMeshCommand.cpp +++ b/cocos/renderer/CCMeshCommand.cpp @@ -183,12 +183,12 @@ void MeshCommand::preBatchDraw() GL::bindTexture2D(_textureID); GL::blendFunc(_blendType.src, _blendType.dst); - if (_vao == 0) + if (Configuration::getInstance()->supportsShareableVAO() && _vao == 0) buildVAO(); if (_vao) { GL::bindVAO(_vao); - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _indexBuffer); + //glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _indexBuffer); } else { @@ -209,6 +209,13 @@ void MeshCommand::batchDraw() _glProgramState->applyGLProgram(_mv); _glProgramState->applyUniforms(); +// if (_matrixPaletteSize && _matrixPalette) +// { +// auto glProgram = _glProgramState->getGLProgram(); +// auto uniform = glProgram->getUniform("u_matrixPalette"); +// if (uniform) +// glProgram->setUniformLocationWith4fv(uniform->location, (const float*)_matrixPalette, _matrixPaletteSize); +// } // Draw glDrawElements(_primitive, (GLsizei)_indexCount, _indexFormat, 0); @@ -265,7 +272,7 @@ void MeshCommand::execute() void MeshCommand::buildVAO() { releaseVAO(); - if (Configuration::getInstance()->supportsShareableVAO()) + //if (Configuration::getInstance()->supportsShareableVAO()) { glGenVertexArrays(1, &_vao); GL::bindVAO(_vao); @@ -288,7 +295,8 @@ void MeshCommand::buildVAO() } void MeshCommand::releaseVAO() { - if (Configuration::getInstance()->supportsShareableVAO() && _vao) + //if (Configuration::getInstance()->supportsShareableVAO() && _vao) + if (_vao) { glDeleteVertexArrays(1, &_vao); _vao = 0; From 0af286c3beffc51f755f3fa3562e47cb44534882 Mon Sep 17 00:00:00 2001 From: yangxiao Date: Fri, 4 Jul 2014 16:10:43 +0800 Subject: [PATCH 08/18] fix android background to foreground --- cocos/renderer/CCGLProgramState.cpp | 31 ++---------------- cocos/renderer/CCGLProgramState.h | 1 - cocos/renderer/CCMeshCommand.cpp | 49 +++++++++++------------------ 3 files changed, 22 insertions(+), 59 deletions(-) diff --git a/cocos/renderer/CCGLProgramState.cpp b/cocos/renderer/CCGLProgramState.cpp index ff9f2f5e1a..38f1306079 100644 --- a/cocos/renderer/CCGLProgramState.cpp +++ b/cocos/renderer/CCGLProgramState.cpp @@ -62,8 +62,8 @@ UniformValue::UniformValue(Uniform *uniform, GLProgram* glprogram) UniformValue::~UniformValue() { - if (_useCallback) - delete _value.callback; +// if (_useCallback) +// delete _value.callback; } void UniformValue::apply() @@ -281,7 +281,7 @@ GLProgramState::GLProgramState() #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) // listen the event when app go to foreground CCLOG("create _backToForegroundlistener for GLProgramState"); - _backToForegroundlistener = EventListenerCustom::create(EVENT_COME_TO_FOREGROUND, [this](EventCustom*) { /*_uniformAttributeValueDirty = true;*/ updateUniformAndAtributesLocation(); }); + _backToForegroundlistener = EventListenerCustom::create(EVENT_COME_TO_FOREGROUND, [this](EventCustom*) { _uniformAttributeValueDirty = true; }); Director::getInstance()->getEventDispatcher()->addEventListenerWithFixedPriority(_backToForegroundlistener, -1); #endif } @@ -325,31 +325,6 @@ void GLProgramState::resetGLProgram() _textureUnitIndex = 1; } -void GLProgramState::updateUniformAndAtributesLocation() -{ - auto olduniformsByName = _uniformsByName; - auto olduniforms = _uniforms; - - _uniformsByName.clear(); - _uniforms.clear(); - - for (auto& uniform : _glprogram->_userUniforms) { - auto oldlocation = olduniformsByName[uniform.first]; - auto value = olduniforms[oldlocation]; - value._uniform = _glprogram->getUniform(uniform.first); - - _uniforms[uniform.second.location] = value; - _uniformsByName[uniform.first] = uniform.second.location; - } - - _vertexAttribsFlags = 0; - for (auto& attributeValue : _attributes) { - attributeValue.second._vertexAttrib = _glprogram->getVertexAttrib(attributeValue.first); - if(attributeValue.second._enabled) - _vertexAttribsFlags |= 1 << attributeValue.second._vertexAttrib->index; - } -} - void GLProgramState::apply(const Mat4& modelView) { applyGLProgram(modelView); diff --git a/cocos/renderer/CCGLProgramState.h b/cocos/renderer/CCGLProgramState.h index 2260679739..e0775e61be 100644 --- a/cocos/renderer/CCGLProgramState.h +++ b/cocos/renderer/CCGLProgramState.h @@ -207,7 +207,6 @@ protected: VertexAttribValue* getVertexAttribValue(const std::string &attributeName); UniformValue* getUniformValue(const std::string &uniformName); UniformValue* getUniformValue(GLint uniformLocation); - void updateUniformAndAtributesLocation(); bool _uniformAttributeValueDirty; std::unordered_map _uniformsByName; diff --git a/cocos/renderer/CCMeshCommand.cpp b/cocos/renderer/CCMeshCommand.cpp index ed55546ebf..4b0811becc 100644 --- a/cocos/renderer/CCMeshCommand.cpp +++ b/cocos/renderer/CCMeshCommand.cpp @@ -172,7 +172,8 @@ void MeshCommand::genMaterialID(GLuint texID, void* glProgramState, void* mesh, void MeshCommand::MatrixPalleteCallBack( GLProgram* glProgram, Uniform* uniform) { - glProgram->setUniformLocationWith4fv(uniform->location, (const float*)_matrixPalette, _matrixPaletteSize); + //glProgram->setUniformLocationWith4fv(uniform->location, (const float*)_matrixPalette, _matrixPaletteSize); + glUniform4fv( uniform->location, (GLsizei)_matrixPaletteSize, (const float*)_matrixPalette ); } void MeshCommand::preBatchDraw() @@ -188,7 +189,6 @@ void MeshCommand::preBatchDraw() if (_vao) { GL::bindVAO(_vao); - //glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _indexBuffer); } else { @@ -209,13 +209,6 @@ void MeshCommand::batchDraw() _glProgramState->applyGLProgram(_mv); _glProgramState->applyUniforms(); -// if (_matrixPaletteSize && _matrixPalette) -// { -// auto glProgram = _glProgramState->getGLProgram(); -// auto uniform = glProgram->getUniform("u_matrixPalette"); -// if (uniform) -// glProgram->setUniformLocationWith4fv(uniform->location, (const float*)_matrixPalette, _matrixPaletteSize); -// } // Draw glDrawElements(_primitive, (GLsizei)_indexCount, _indexFormat, 0); @@ -272,30 +265,26 @@ void MeshCommand::execute() void MeshCommand::buildVAO() { releaseVAO(); - //if (Configuration::getInstance()->supportsShareableVAO()) - { - glGenVertexArrays(1, &_vao); - GL::bindVAO(_vao); - glBindBuffer(GL_ARRAY_BUFFER, _vertexBuffer); - auto flags = _glProgramState->getVertexAttribsFlags(); - for (int i = 0; flags > 0; i++) { - int flag = 1 << i; - if (flag & flags) - glEnableVertexAttribArray(i); - flags &= ~flag; - } - _glProgramState->applyAttributes(false); - - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _indexBuffer); - - GL::bindVAO(0); - glBindBuffer(GL_ARRAY_BUFFER, 0); - glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); + glGenVertexArrays(1, &_vao); + GL::bindVAO(_vao); + glBindBuffer(GL_ARRAY_BUFFER, _vertexBuffer); + auto flags = _glProgramState->getVertexAttribsFlags(); + for (int i = 0; flags > 0; i++) { + int flag = 1 << i; + if (flag & flags) + glEnableVertexAttribArray(i); + flags &= ~flag; } + _glProgramState->applyAttributes(false); + + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _indexBuffer); + + GL::bindVAO(0); + glBindBuffer(GL_ARRAY_BUFFER, 0); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); } void MeshCommand::releaseVAO() { - //if (Configuration::getInstance()->supportsShareableVAO() && _vao) if (_vao) { glDeleteVertexArrays(1, &_vao); @@ -307,7 +296,7 @@ void MeshCommand::releaseVAO() #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) void MeshCommand::listenBackToForeground(EventCustom* event) { - releaseVAO(); + _vao = 0; } #endif From 4304d740b47696c992659978291e73ab7575ffcb Mon Sep 17 00:00:00 2001 From: yangxiao Date: Fri, 4 Jul 2014 17:22:39 +0800 Subject: [PATCH 09/18] delete call back --- cocos/renderer/CCGLProgramState.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cocos/renderer/CCGLProgramState.cpp b/cocos/renderer/CCGLProgramState.cpp index 38f1306079..5652db4e8e 100644 --- a/cocos/renderer/CCGLProgramState.cpp +++ b/cocos/renderer/CCGLProgramState.cpp @@ -62,8 +62,8 @@ UniformValue::UniformValue(Uniform *uniform, GLProgram* glprogram) UniformValue::~UniformValue() { -// if (_useCallback) -// delete _value.callback; + if (_useCallback) + delete _value.callback; } void UniformValue::apply() From 0a9e96bfdf5d81d2b014c39d21d948456a38f79c Mon Sep 17 00:00:00 2001 From: lvlong Date: Mon, 7 Jul 2014 09:16:08 +0800 Subject: [PATCH 10/18] modify Bundle3D::parseGLType add other type --- cocos/3d/CCBundle3D.cpp | 34 +++++++++++++++++++++++++++++++--- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/cocos/3d/CCBundle3D.cpp b/cocos/3d/CCBundle3D.cpp index 30a06fd11a..86838faa7d 100644 --- a/cocos/3d/CCBundle3D.cpp +++ b/cocos/3d/CCBundle3D.cpp @@ -768,17 +768,45 @@ bool Bundle3D::loadAnimationDataBinary(Animation3DData* animationdata) GLenum Bundle3D::parseGLType(const std::string& str) { - if (str == "GL_FLOAT") + if ("GL_BYTE") { - return GL_FLOAT; + return GL_BYTE; + } + else if("GL_UNSIGNED_BYTE") + { + return GL_UNSIGNED_BYTE; + } + else if("GL_SHORT") + { + return GL_SHORT; + } + else if("GL_UNSIGNED_SHORT") + { + return GL_UNSIGNED_SHORT; + } + else if("GL_INT") + { + return GL_INT; + } + else if ("GL_UNSIGNED_INT") + { + return GL_UNSIGNED_INT; } else if (str == "GL_UNSIGNED_INT") { return GL_UNSIGNED_INT; } + else if (str == "GL_FLOAT") + { + return GL_FLOAT; + } + else if (str == "GL_FIXED") + { + return GL_FIXED; + } else { - assert(0); + CCASSERT(false, "Wrong GL type"); return 0; } } From 70b9d9b9ac5770416c6bef59af4cb44cb7393fa1 Mon Sep 17 00:00:00 2001 From: lvlong Date: Mon, 7 Jul 2014 17:11:37 +0800 Subject: [PATCH 11/18] delete cube_anim --- .../Resources/Sprite3DTest/checkboard.png | Bin 50008 -> 0 bytes .../Resources/Sprite3DTest/cube_anim.c3t | 162 ------------------ 2 files changed, 162 deletions(-) delete mode 100644 tests/cpp-tests/Resources/Sprite3DTest/checkboard.png delete mode 100644 tests/cpp-tests/Resources/Sprite3DTest/cube_anim.c3t diff --git a/tests/cpp-tests/Resources/Sprite3DTest/checkboard.png b/tests/cpp-tests/Resources/Sprite3DTest/checkboard.png deleted file mode 100644 index c7dc08d458031283478c53db4e139da8cc668574..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50008 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 diff --git a/tests/cpp-tests/Resources/Sprite3DTest/cube_anim.c3t b/tests/cpp-tests/Resources/Sprite3DTest/cube_anim.c3t deleted file mode 100644 index d455d956f0..0000000000 --- a/tests/cpp-tests/Resources/Sprite3DTest/cube_anim.c3t +++ /dev/null @@ -1,162 +0,0 @@ -{ - "version": "1.2", - "file_type": "c3t", - "mesh_data": [ - { - "version": "1.2", - "mesh_vertex_attribute": [ - { - "size":3, - "type":"GL_FLOAT", - "vertex_attribute":"VERTEX_ATTRIB_POSITION" - }, - { - "size":3, - "type":"GL_FLOAT", - "vertex_attribute":"VERTEX_ATTRIB_NORMAL" - }, - { - "size":2, - "type":"GL_FLOAT", - "vertex_attribute":"VERTEX_ATTRIB_TEX_COORD" - }, - { - "size":4, - "type":"GL_FLOAT", - "vertex_attribute":"VERTEX_ATTRIB_BLEND_WEIGHT" - }, - { - "size":4, - "type":"GL_FLOAT", - "vertex_attribute":"VERTEX_ATTRIB_BLEND_INDEX" - } - ], - "body":[ - { - "vertices": [ - 0.000000, -2.259414, -2.259414, 0.000000, 0.000000, -1.000000, 0.582997, 0.456003, 0.500033, 0.499967, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, - -5.314565, -2.259414, -2.259414, 0.000000, 0.000000, -1.000000, 0.582997, 0.168971, 0.933581, 0.066419, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - 0.000000, 2.259414, -2.259414, 0.000000, 0.000000, -1.000000, 0.827052, 0.456003, 0.500111, 0.499889, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, - -5.314565, 2.259414, -2.259414, 0.000000, 0.000000, -1.000000, 0.827052, 0.168971, 0.932199, 0.067801, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - 0.000000, -2.259414, 2.259414, 0.000000, -1.000000, 0.000000, 0.253258, 0.705932, 0.500033, 0.499967, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, - -5.314565, -2.259414, 2.259414, 0.000000, -1.000000, 0.000000, 0.253258, 0.418900, 0.933581, 0.066419, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -5.314565, -2.259414, -2.259414, 0.000000, -1.000000, 0.000000, 0.497313, 0.418900, 0.933581, 0.066419, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - 0.000000, -2.259414, -2.259414, 0.000000, -1.000000, 0.000000, 0.497313, 0.705932, 0.500033, 0.499967, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, - -5.314565, 2.259414, 2.259414, -1.000000, 0.000000, 0.000000, 0.753117, 0.748774, 0.932199, 0.067801, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -5.314565, -2.259414, -2.259414, -1.000000, 0.000000, 0.000000, 0.997172, 0.992829, 0.933581, 0.066419, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -5.314565, -2.259414, 2.259414, -1.000000, 0.000000, 0.000000, 0.753117, 0.992829, 0.933581, 0.066419, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -5.314565, 2.259414, -2.259414, -1.000000, 0.000000, 0.000000, 0.997172, 0.748774, 0.932199, 0.067801, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - 5.314565, -2.259414, -2.259414, 0.000000, 0.000000, -1.000000, 0.582997, 0.743034, 0.932057, 0.067943, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, - 5.314565, 2.259414, -2.259414, 0.000000, 0.000000, -1.000000, 0.827052, 0.743034, 0.938571, 0.061429, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, - 5.314565, -2.259414, 2.259414, 0.000000, -1.000000, 0.000000, 0.253258, 0.992964, 0.932057, 0.067943, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, - 5.314565, -2.259414, -2.259414, 0.000000, -1.000000, 0.000000, 0.497313, 0.992964, 0.932057, 0.067943, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, - 5.314565, 2.259414, 2.259414, 1.000000, 0.000000, 0.000000, 0.503187, 0.992829, 0.938571, 0.061429, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, - 5.314565, -2.259414, 2.259414, 1.000000, 0.000000, 0.000000, 0.503187, 0.748774, 0.932057, 0.067943, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, - 5.314565, -2.259414, -2.259414, 1.000000, 0.000000, 0.000000, 0.747243, 0.748774, 0.932057, 0.067943, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, - 5.314565, 2.259414, -2.259414, 1.000000, 0.000000, 0.000000, 0.747243, 0.992829, 0.938571, 0.061429, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, - 0.000000, 2.259414, 2.259414, 0.000000, 1.000000, 0.000000, 0.003328, 0.705932, 0.500111, 0.499889, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, - -5.314565, 2.259414, -2.259414, 0.000000, 1.000000, 0.000000, 0.247384, 0.992964, 0.932199, 0.067801, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -5.314565, 2.259414, 2.259414, 0.000000, 1.000000, 0.000000, 0.003328, 0.992964, 0.932199, 0.067801, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - 0.000000, 2.259414, -2.259414, 0.000000, 1.000000, 0.000000, 0.247384, 0.705932, 0.500111, 0.499889, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, - 5.314565, 2.259414, 2.259414, 0.000000, 1.000000, 0.000000, 0.003328, 0.418900, 0.938571, 0.061429, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, - 5.314565, 2.259414, -2.259414, 0.000000, 1.000000, 0.000000, 0.247384, 0.418900, 0.938571, 0.061429, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, - 0.000000, 2.259414, 2.259414, 0.000000, 0.000000, 1.000000, 0.290226, 0.413161, 0.500111, 0.499889, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, - -5.314565, 2.259414, 2.259414, 0.000000, 0.000000, 1.000000, 0.003194, 0.413161, 0.932199, 0.067801, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - -5.314565, -2.259414, 2.259414, 0.000000, 0.000000, 1.000000, 0.003194, 0.169105, 0.933581, 0.066419, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, - 0.000000, -2.259414, 2.259414, 0.000000, 0.000000, 1.000000, 0.290226, 0.169105, 0.500033, 0.499967, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, - 5.314565, 2.259414, 2.259414, 0.000000, 0.000000, 1.000000, 0.577257, 0.413161, 0.938571, 0.061429, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, - 5.314565, -2.259414, 2.259414, 0.000000, 0.000000, 1.000000, 0.577257, 0.169105, 0.932057, 0.067943, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000 - ], - "vertex_size": 512, - "indices": [ - 0, 1, 2, 1, 3, 2, 4, 5, 6, 4, 6, 7, - 8, 9, 10, 9, 8, 11, 12, 0, 13, 0, 2, 13, - 14, 4, 7, 14, 7, 15, 16, 17, 18, 16, 18, 19, - 20, 21, 22, 21, 20, 23, 24, 23, 20, 23, 24, 25, - 26, 27, 28, 26, 28, 29, 30, 26, 29, 30, 29, 31 - ], - "index_number": 60 - } - ] - } - ], - "material_data": [ - { - "file_name": "Sprite3DTest/checkboard.png" - } - ], - "skin_data": [ - { - "id": "cubeanim:cube", - "bind_shape": [ 0.393701, 0.000000, 0.000000, 0.000000, 0.000000, 0.393701, 0.000000, 0.000000, 0.000000, -0.000000, 0.393701, 0.000000, 0.100748, 0.000000, -0.457948, 1.000000], - "bones": [ - { - "node": "bone1", - "bind_pos": [ 0.999989, 0.004613, 0.000000, 0.000000, -0.004613, 0.999989, 0.000000, 0.000000, -0.000000, -0.000000, 1.000000, 0.000000, -0.036861, 0.049203, 0.000000, 1.000000] - }, - { - "node": "bone", - "bind_pos": [ 0.999958, 0.009184, 0.000000, 0.000000, -0.009184, 0.999958, 0.000000, 0.000000, -0.000000, -0.000000, 1.000000, 0.000000, -5.393930, -0.000000, -0.000000, 1.000000] - } - ] - }, - { - "id": "root", - "children": [ - { - "id": "bone", - "children": [ - { - "id": "bone1", - "children": [ - { - "id": "eff" - } - ] - } - ] - } - ] - } - ], - "animation_data": [ - { - "id": "Take 001", - "bones": [ - { - "id": "bone1", - "keyframes": [ - { - "rotation":[ - { - "keytime": 0.000000, - "value": [ 0.000000, -0.000000, -0.002285, 0.999997] - }, - { - "keytime": 0.333332, - "value": [ 0.000000, -0.000000, -0.002285, 0.999997] - }, - { - "keytime": 0.666664, - "value": [ 0.000000, -0.000000, 0.089457, 0.995991] - }, - { - "keytime": 0.800000, - "value": [ 0.000000, -0.000000, 0.184131, 0.982902] - }, - { - "keytime": 0.933328, - "value": [ 0.000000, -0.000000, 0.274421, 0.961610] - }, - { - "keytime": 1.000000, - "value": [ 0.000000, -0.000000, 0.362349, 0.932043] - } - ] - } - ] - } - ] - } - ] -} \ No newline at end of file From e315ef527a00be85c0bb039cb1b2f7b0af273a91 Mon Sep 17 00:00:00 2001 From: lvlong Date: Mon, 7 Jul 2014 17:22:46 +0800 Subject: [PATCH 12/18] parseGLType bug --- cocos/3d/CCBundle3D.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/cocos/3d/CCBundle3D.cpp b/cocos/3d/CCBundle3D.cpp index 86838faa7d..fa5d832a35 100644 --- a/cocos/3d/CCBundle3D.cpp +++ b/cocos/3d/CCBundle3D.cpp @@ -768,27 +768,27 @@ bool Bundle3D::loadAnimationDataBinary(Animation3DData* animationdata) GLenum Bundle3D::parseGLType(const std::string& str) { - if ("GL_BYTE") + if (str == "GL_BYTE") { return GL_BYTE; } - else if("GL_UNSIGNED_BYTE") + else if(str == "GL_UNSIGNED_BYTE") { return GL_UNSIGNED_BYTE; } - else if("GL_SHORT") + else if(str == "GL_SHORT") { return GL_SHORT; } - else if("GL_UNSIGNED_SHORT") + else if(str == "GL_UNSIGNED_SHORT") { return GL_UNSIGNED_SHORT; } - else if("GL_INT") + else if(str == "GL_INT") { return GL_INT; } - else if ("GL_UNSIGNED_INT") + else if (str == "GL_UNSIGNED_INT") { return GL_UNSIGNED_INT; } From 8b482fdfcdcf8a302a08cd61294766709046734a Mon Sep 17 00:00:00 2001 From: yangxiao Date: Tue, 8 Jul 2014 11:02:00 +0800 Subject: [PATCH 13/18] remove gl_fixed --- cocos/3d/CCBundle3D.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/cocos/3d/CCBundle3D.cpp b/cocos/3d/CCBundle3D.cpp index fa5d832a35..03284f4c77 100644 --- a/cocos/3d/CCBundle3D.cpp +++ b/cocos/3d/CCBundle3D.cpp @@ -800,10 +800,6 @@ GLenum Bundle3D::parseGLType(const std::string& str) { return GL_FLOAT; } - else if (str == "GL_FIXED") - { - return GL_FIXED; - } else { CCASSERT(false, "Wrong GL type"); From 61f4a4d6b36aeb1b64d4084beaa21b85cebfe7c5 Mon Sep 17 00:00:00 2001 From: yangxiao Date: Tue, 8 Jul 2014 11:02:29 +0800 Subject: [PATCH 14/18] add 3d file to cocos2d.h --- cocos/cocos2d.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cocos/cocos2d.h b/cocos/cocos2d.h index 1e795488b2..56fab797a8 100644 --- a/cocos/cocos2d.h +++ b/cocos/cocos2d.h @@ -261,6 +261,10 @@ THE SOFTWARE. //3d #include "3d/CCSprite3D.h" #include "3d/CCMesh.h" +#include "3d/CCMeshSkin.h" +#include "3d/CCAnimate3D.h" +#include "3d/CCAnimation3D.h" +#include "3d/CCSprite3DMaterial.h" // Audio #include "audio/include/SimpleAudioEngine.h" From 75ee08863151166e3da458790375d42f7dac9ac2 Mon Sep 17 00:00:00 2001 From: yangxiao Date: Tue, 8 Jul 2014 11:03:29 +0800 Subject: [PATCH 15/18] resolve conflict Bone in cocos2d and cocostudio --- .../CocoStudioArmatureTest/ArmatureScene.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioArmatureTest/ArmatureScene.cpp b/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioArmatureTest/ArmatureScene.cpp index 8e023e244d..161ddb3d61 100644 --- a/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioArmatureTest/ArmatureScene.cpp +++ b/tests/cpp-tests/Classes/ExtensionsTest/CocoStudioArmatureTest/ArmatureScene.cpp @@ -591,7 +591,7 @@ std::string TestFrameEvent::title() const { return "Test Frame Event"; } -void TestFrameEvent::onFrameEvent(Bone *bone, const std::string& evt, int originFrameIndex, int currentFrameIndex) +void TestFrameEvent::onFrameEvent(cocostudio::Bone *bone, const std::string& evt, int originFrameIndex, int currentFrameIndex) { CCLOG("(%s) emit a frame event (%s) at frame index (%d).", bone->getName().c_str(), evt.c_str(), currentFrameIndex); @@ -633,7 +633,7 @@ void TestParticleDisplay::onEnter() ParticleSystem *p1 = CCParticleSystemQuad::create("Particles/SmallSun.plist"); ParticleSystem *p2 = CCParticleSystemQuad::create("Particles/SmallSun.plist"); - Bone *bone = Bone::create("p1"); + cocostudio::Bone *bone = cocostudio::Bone::create("p1"); bone->addDisplay(p1, 0); bone->changeDisplayWithIndex(0, true); bone->setIgnoreMovementBoneData(true); @@ -641,7 +641,7 @@ void TestParticleDisplay::onEnter() bone->setScale(1.2f); armature->addBone(bone, "bady-a3"); - bone = Bone::create("p2"); + bone = cocostudio::Bone::create("p2"); bone->addDisplay(p2, 0); bone->changeDisplayWithIndex(0, true); bone->setIgnoreMovementBoneData(true); @@ -773,7 +773,7 @@ std::string TestColliderDetector::title() const { return "Test Collider Detector"; } -void TestColliderDetector::onFrameEvent(Bone *bone, const std::string& evt, int originFrameIndex, int currentFrameIndex) +void TestColliderDetector::onFrameEvent(cocostudio::Bone *bone, const std::string& evt, int originFrameIndex, int currentFrameIndex) { CCLOG("(%s) emit a frame event (%s) at frame index (%d).", bone->getName().c_str(), evt.c_str(), currentFrameIndex); @@ -1025,10 +1025,10 @@ void TestColliderDetector::update(float delta) // This code is just telling how to get the vertex. // For a more accurate collider detection, you need to implemente yourself. - const Map& map = armature2->getBoneDic(); + const Map& map = armature2->getBoneDic(); for(const auto& element : map) { - Bone *bone = element.second; + cocostudio::Bone *bone = element.second; ColliderDetector *detector = bone->getColliderDetector(); if (!detector) @@ -1243,7 +1243,7 @@ void Hero::changeMount(Armature *armature) removeFromParentAndCleanup(false); //Get the hero bone - Bone *bone = armature->getBone("hero"); + cocostudio::Bone *bone = armature->getBone("hero"); //Add hero as a display to this bone bone->addDisplay(this, 0); //Change this bone's display From 6de3309f9041c5d59d6f6221beff78dde05fdcda Mon Sep 17 00:00:00 2001 From: lvlong Date: Tue, 8 Jul 2014 20:13:57 +0800 Subject: [PATCH 16/18] have two GL_UNSIGNED_INT delete one --- cocos/3d/CCBundle3D.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/cocos/3d/CCBundle3D.cpp b/cocos/3d/CCBundle3D.cpp index 03284f4c77..991aaec32d 100644 --- a/cocos/3d/CCBundle3D.cpp +++ b/cocos/3d/CCBundle3D.cpp @@ -792,10 +792,6 @@ GLenum Bundle3D::parseGLType(const std::string& str) { return GL_UNSIGNED_INT; } - else if (str == "GL_UNSIGNED_INT") - { - return GL_UNSIGNED_INT; - } else if (str == "GL_FLOAT") { return GL_FLOAT; From e9d3bc1b76554389ef01631233750a2da00034f0 Mon Sep 17 00:00:00 2001 From: yangxiao Date: Tue, 8 Jul 2014 13:36:22 +0800 Subject: [PATCH 17/18] remove unused code --- cocos/renderer/CCMeshCommand.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/cocos/renderer/CCMeshCommand.cpp b/cocos/renderer/CCMeshCommand.cpp index 4b0811becc..27104be85d 100644 --- a/cocos/renderer/CCMeshCommand.cpp +++ b/cocos/renderer/CCMeshCommand.cpp @@ -172,7 +172,6 @@ void MeshCommand::genMaterialID(GLuint texID, void* glProgramState, void* mesh, void MeshCommand::MatrixPalleteCallBack( GLProgram* glProgram, Uniform* uniform) { - //glProgram->setUniformLocationWith4fv(uniform->location, (const float*)_matrixPalette, _matrixPaletteSize); glUniform4fv( uniform->location, (GLsizei)_matrixPaletteSize, (const float*)_matrixPalette ); } From ae97d6ebc6b989bc50fbd5e1fc05aa5cdb07cc3e Mon Sep 17 00:00:00 2001 From: yangxiao Date: Tue, 8 Jul 2014 15:48:55 +0800 Subject: [PATCH 18/18] Bone conflict --- .../lua-bindings/manual/lua_cocos2dx_coco_studio_manual.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cocos/scripting/lua-bindings/manual/lua_cocos2dx_coco_studio_manual.cpp b/cocos/scripting/lua-bindings/manual/lua_cocos2dx_coco_studio_manual.cpp index a16eec37f0..5291ac5a92 100644 --- a/cocos/scripting/lua-bindings/manual/lua_cocos2dx_coco_studio_manual.cpp +++ b/cocos/scripting/lua-bindings/manual/lua_cocos2dx_coco_studio_manual.cpp @@ -176,7 +176,7 @@ static int lua_cocos2dx_ArmatureAnimation_setFrameEventCallFunc(lua_State* L) ScriptHandlerMgr::getInstance()->addObjectHandler((void*)wrapper, handler, ScriptHandlerMgr::HandlerType::ARMATURE_EVENT); - self->setFrameEventCallFunc([=](Bone *bone, const std::string& frameEventName, int originFrameIndex, int currentFrameIndex){ + self->setFrameEventCallFunc([=](cocostudio::Bone *bone, const std::string& frameEventName, int originFrameIndex, int currentFrameIndex){ if (0 != handler) {

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 diff --git a/tests/game-controller-test/proj.ios/Default@2x.png b/tests/game-controller-test/proj.ios/Default@2x.png deleted file mode 100644 index 84689888a14a2123d2b39f7f2f61be8c15207479..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 580904 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%0DV`!*t~tQoIcS`9q!ry7yIlJnxFV`sDXqW9&=#h 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

wg8 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 diff --git a/cocos/platform/android/ControllerNibiru/proguard-project.txt b/cocos/platform/android/ControllerNibiru/proguard-project.txt deleted file mode 100644 index f2fe1559a2..0000000000 --- a/cocos/platform/android/ControllerNibiru/proguard-project.txt +++ /dev/null @@ -1,20 +0,0 @@ -# To enable ProGuard in your project, edit project.properties -# to define the proguard.config property as described in that file. -# -# Add project specific ProGuard rules here. -# By default, the flags in this file are appended to flags specified -# in ${sdk.dir}/tools/proguard/proguard-android.txt -# You can edit the include path and order by changing the ProGuard -# include property in project.properties. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# Add any project specific keep options here: - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} diff --git a/cocos/platform/android/ControllerNibiru/res/.gitignore b/cocos/platform/android/ControllerNibiru/res/.gitignore deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cocos/platform/android/ControllerNibiru/src/org/cocos2dx/lib/GameControllerNibiru.java b/cocos/platform/android/ControllerNibiru/src/org/cocos2dx/lib/GameControllerNibiru.java deleted file mode 100644 index c53a661500..0000000000 --- a/cocos/platform/android/ControllerNibiru/src/org/cocos2dx/lib/GameControllerNibiru.java +++ /dev/null @@ -1,209 +0,0 @@ -package org.cocos2dx.lib; - -import org.cocos2dx.lib.GameControllerDelegate; - -import com.nibiru.lib.controller.AccEvent; -import com.nibiru.lib.controller.Controller; -import com.nibiru.lib.controller.ControllerDevice; -import com.nibiru.lib.controller.ControllerKeyEvent; -import com.nibiru.lib.controller.ControllerService; -import com.nibiru.lib.controller.ControllerService.OnControllerSeviceListener; -import com.nibiru.lib.controller.ControllerServiceException; -import com.nibiru.lib.controller.GyroEvent; -import com.nibiru.lib.controller.OnAccListener; -import com.nibiru.lib.controller.OnGyroListener; -import com.nibiru.lib.controller.OnKeyListener; -import com.nibiru.lib.controller.OnSimpleStickListener; -import com.nibiru.lib.controller.OnStateListener; - -import android.content.Context; -import android.os.Bundle; -import android.util.Log; -import android.util.SparseIntArray; -import android.view.KeyEvent; -import android.view.MotionEvent; - -public class GameControllerNibiru implements OnControllerSeviceListener, OnKeyListener, -OnSimpleStickListener, OnAccListener, OnGyroListener, OnStateListener, GameControllerDelegate { - - private static final String TAG = "NibiruTag"; - private static final String mVendorName = "Nibiru"; - - private Context mContext; - private SparseIntArray mKeyMap; - private ControllerEventListener mControllerEventListener = null; - private ControllerService mControllerService = null; - - public GameControllerNibiru() { - mKeyMap = new SparseIntArray(20); - - mKeyMap.put(ControllerKeyEvent.KEYCODE_BUTTON_A , GameControllerDelegate.BUTTON_A); - mKeyMap.put(ControllerKeyEvent.KEYCODE_BUTTON_B , GameControllerDelegate.BUTTON_B); - mKeyMap.put(ControllerKeyEvent.KEYCODE_BUTTON_X , GameControllerDelegate.BUTTON_X); - mKeyMap.put(ControllerKeyEvent.KEYCODE_BUTTON_Y , GameControllerDelegate.BUTTON_Y); - mKeyMap.put(ControllerKeyEvent.KEYCODE_BUTTON_L1 , GameControllerDelegate.BUTTON_LEFT_SHOULDER); - mKeyMap.put(ControllerKeyEvent.KEYCODE_BUTTON_R1 , GameControllerDelegate.BUTTON_RIGHT_SHOULDER); - mKeyMap.put(ControllerKeyEvent.KEYCODE_BUTTON_L2, GameControllerDelegate.BUTTON_LEFT_TRIGGER); - mKeyMap.put(ControllerKeyEvent.KEYCODE_BUTTON_R2, GameControllerDelegate.BUTTON_RIGHT_TRIGGER); - mKeyMap.put(ControllerKeyEvent.KEYCODE_UP , GameControllerDelegate.BUTTON_DPAD_UP); - mKeyMap.put(ControllerKeyEvent.KEYCODE_DOWN , GameControllerDelegate.BUTTON_DPAD_DOWN); - mKeyMap.put(ControllerKeyEvent.KEYCODE_LEFT , GameControllerDelegate.BUTTON_DPAD_LEFT); - mKeyMap.put(ControllerKeyEvent.KEYCODE_RIGHT , GameControllerDelegate.BUTTON_DPAD_RIGHT); - mKeyMap.put(ControllerKeyEvent.KEYCODE_BUTTON_START , GameControllerDelegate.BUTTON_START); - mKeyMap.put(ControllerKeyEvent.KEYCODE_BUTTON_SELECT , GameControllerDelegate.BUTTON_SELECT); - mKeyMap.put(ControllerKeyEvent.KEYCODE_BUTTON_THUMBL , GameControllerDelegate.BUTTON_LEFT_THUMBSTICK); - mKeyMap.put(ControllerKeyEvent.KEYCODE_BUTTON_THUMBR , GameControllerDelegate.BUTTON_RIGHT_THUMBSTICK); - } - - @Override - public void setControllerEventListener(ControllerEventListener listener) { - mControllerEventListener = listener; - } - - public void onCreate(Context context) { - mContext = context; - - mControllerService = Controller.getControllerService(); - if (mControllerService != null) { - mControllerService.setControllerServiceListener(this); - mControllerService.setStateListener(this); - mControllerService.setKeyListener(this); - mControllerService.setSimpleStickListener(this); - //mControllerService.setAccListener(this); - //mControllerService.setGyroListener(this); - mControllerService.setEnableLR2(true); - mControllerService.setAutoKeyUpMode(false); - - mControllerService.checkNibiruInstall(mContext, true); - } - } - - public void onPause() { - if (mControllerService != null) { - mControllerService.setEnable(false); - } - } - - public void onResume() { - if (mControllerService != null) { - if (mControllerService.isServiceEnable()) { - //onControllerServiceReady(true); - } else { - if (mControllerService.checkNibiruInstall(mContext, false)) { - try { - mControllerService.register(mContext); - } catch (ControllerServiceException e) { - e.printStackTrace(); - } - } - } - - mControllerService.setEnable(true); - } - } - - public void onDestroy() { - if( mControllerService != null ){ - mControllerService.unregister(); - } - } - - @Override - public void onControllerServiceReady(boolean isSucc) { - if( isSucc ) - { - if( !mControllerService.hasDeviceConnected() ){ - Bundle bun = new Bundle(); - bun.putBoolean(ControllerService.FLAG_IS_SHOW_GAMEPAD_TIP, true); - try { - mControllerService.showDeviceManagerUI(mContext, bun); - } catch (ControllerServiceException e) { - e.printStackTrace(); - } - } - } - } - - @Override - public void onControllerKeyDown(int playerOrder, int keyCode, ControllerKeyEvent event) { - if (mKeyMap.get(keyCode) == 0) { - Log.e(TAG, "Didn't map the key: " + keyCode); - return; - } - - if (mControllerEventListener != null) { - mControllerEventListener.onButtonEvent(mVendorName, playerOrder, mKeyMap.get(keyCode), true, 1.0f, false); - } - } - - @Override - public void onControllerKeyUp(int playerOrder, int keyCode, ControllerKeyEvent event) { - if (mKeyMap.get(keyCode) == 0) { - Log.e(TAG, "Didn't map the key: " + keyCode); - return; - } - - if (mControllerEventListener != null) { - mControllerEventListener.onButtonEvent(mVendorName, playerOrder, - mKeyMap.get(keyCode), false, 0.0f, false); - } - } - - @Override - public void onLeftStickChanged(int playerOrder, float x, float y) { - if (mControllerEventListener != null) { - mControllerEventListener.onAxisEvent(mVendorName, playerOrder, - GameControllerDelegate.THUMBSTICK_LEFT_X, x, true); - mControllerEventListener.onAxisEvent(mVendorName, playerOrder, - GameControllerDelegate.THUMBSTICK_LEFT_Y, y, true); - } - } - - @Override - public void onRightStickChanged(int playerOrder, float x, float y) { - if (mControllerEventListener != null) { - mControllerEventListener.onAxisEvent(mVendorName, playerOrder, - GameControllerDelegate.THUMBSTICK_RIGHT_X, x, true); - mControllerEventListener.onAxisEvent(mVendorName, playerOrder, - GameControllerDelegate.THUMBSTICK_RIGHT_Y, y, true); - } - } - - @Override - public void onControllerStateChanged(int playerOrder, int state, ControllerDevice device) { - if (mControllerEventListener != null) { - if (state == ControllerDevice.STATE_CONN) - { - mControllerEventListener.onConnected(mVendorName, playerOrder); - } - else if (state == ControllerDevice.STATE_DISCONN) - { - mControllerEventListener.onDisconnected(mVendorName, playerOrder); - } - } - } - - public boolean dispatchGenericMotionEvent(MotionEvent event){ - return mControllerService.handleExternalInput(event); - } - - public boolean dispatchKeyEvent(KeyEvent event){ - return mControllerService.handleExternalInput(event); - } - - @Override - public void onControllerAccEvent(int playerOrder, AccEvent event) { - - } - - @Override - public void onControllerGyroEvent(int playerOrder, GyroEvent event) { - - } - - @Override - public void onBluetoothStateChanged(int state) { - Log.d(TAG, "onBluetoothStateChanged:"+state); - } - -} diff --git a/cocos/platform/android/ControllerOuya/.classpath b/cocos/platform/android/ControllerOuya/.classpath deleted file mode 100644 index 51769745b2..0000000000 --- a/cocos/platform/android/ControllerOuya/.classpath +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/cocos/platform/android/ControllerOuya/.project b/cocos/platform/android/ControllerOuya/.project deleted file mode 100644 index 51255ee3c0..0000000000 --- a/cocos/platform/android/ControllerOuya/.project +++ /dev/null @@ -1,33 +0,0 @@ - - - libcontrollerouya - - - - - - com.android.ide.eclipse.adt.ResourceManagerBuilder - - - - - com.android.ide.eclipse.adt.PreCompilerBuilder - - - - - org.eclipse.jdt.core.javabuilder - - - - - com.android.ide.eclipse.adt.ApkBuilder - - - - - - com.android.ide.eclipse.adt.AndroidNature - org.eclipse.jdt.core.javanature - - diff --git a/cocos/platform/android/ControllerOuya/.settings/org.eclipse.jdt.core.prefs b/cocos/platform/android/ControllerOuya/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index b080d2ddc8..0000000000 --- a/cocos/platform/android/ControllerOuya/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,4 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.source=1.6 diff --git a/cocos/platform/android/ControllerOuya/AndroidManifest.xml b/cocos/platform/android/ControllerOuya/AndroidManifest.xml deleted file mode 100644 index d1f4a837d8..0000000000 --- a/cocos/platform/android/ControllerOuya/AndroidManifest.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/cocos/platform/android/ControllerOuya/ant.properties b/cocos/platform/android/ControllerOuya/ant.properties deleted file mode 100644 index b0971e891e..0000000000 --- a/cocos/platform/android/ControllerOuya/ant.properties +++ /dev/null @@ -1,17 +0,0 @@ -# This file is used to override default values used by the Ant build system. -# -# This file must be checked into Version Control Systems, as it is -# integral to the build system of your project. - -# This file is only used by the Ant script. - -# You can use this to override default values such as -# 'source.dir' for the location of your java source folder and -# 'out.dir' for the location of your output folder. - -# You can also use it define how the release builds are signed by declaring -# the following properties: -# 'key.store' for the location of your keystore and -# 'key.alias' for the name of the key to use. -# The password will be asked during the build when you use the 'release' target. - diff --git a/cocos/platform/android/ControllerOuya/build.xml b/cocos/platform/android/ControllerOuya/build.xml deleted file mode 100644 index 7fc3634914..0000000000 --- a/cocos/platform/android/ControllerOuya/build.xml +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/cocos/platform/android/ControllerOuya/libs/ouya-sdk.jar b/cocos/platform/android/ControllerOuya/libs/ouya-sdk.jar deleted file mode 100644 index 90e039b5e53830074e8d1212d02d8160a25ec81e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 167378 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%0D?(tjIA{~R7PMno`#>h2jwL_EoG#?O`ggrbLR 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�FT{u0C2kK$AqMX;iZ5 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 bDEzOM0Re~&U|<4){|12gcnA3BFfjiQ8DmE_ diff --git a/cocos/platform/android/ControllerOuya/proguard-project.txt b/cocos/platform/android/ControllerOuya/proguard-project.txt deleted file mode 100644 index f2fe1559a2..0000000000 --- a/cocos/platform/android/ControllerOuya/proguard-project.txt +++ /dev/null @@ -1,20 +0,0 @@ -# To enable ProGuard in your project, edit project.properties -# to define the proguard.config property as described in that file. -# -# Add project specific ProGuard rules here. -# By default, the flags in this file are appended to flags specified -# in ${sdk.dir}/tools/proguard/proguard-android.txt -# You can edit the include path and order by changing the ProGuard -# include property in project.properties. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# Add any project specific keep options here: - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} diff --git a/cocos/platform/android/ControllerOuya/res/.gitignore b/cocos/platform/android/ControllerOuya/res/.gitignore deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/cocos/platform/android/ControllerOuya/src/org/cocos2dx/lib/GameControllerOuya.java b/cocos/platform/android/ControllerOuya/src/org/cocos2dx/lib/GameControllerOuya.java deleted file mode 100644 index 30149f7761..0000000000 --- a/cocos/platform/android/ControllerOuya/src/org/cocos2dx/lib/GameControllerOuya.java +++ /dev/null @@ -1,182 +0,0 @@ -package org.cocos2dx.lib; - - -import org.cocos2dx.lib.GameControllerDelegate; - -import tv.ouya.console.api.OuyaController; -import android.content.Context; -import android.util.SparseIntArray; -import android.view.KeyEvent; -import android.view.MotionEvent; - -public class GameControllerOuya implements GameControllerDelegate{ - - public static final String sVendorName = "Ouya"; - - private SparseIntArray mKeyMap; - - public GameControllerOuya(){ - mKeyMap = new SparseIntArray(20); - mKeyMap.put(OuyaController.BUTTON_A, GameControllerDelegate.BUTTON_B); - mKeyMap.put(OuyaController.BUTTON_O, GameControllerDelegate.BUTTON_A); - mKeyMap.put(OuyaController.BUTTON_U, GameControllerDelegate.BUTTON_X); - mKeyMap.put(OuyaController.BUTTON_Y, GameControllerDelegate.BUTTON_Y); - mKeyMap.put(OuyaController.BUTTON_DPAD_DOWN, GameControllerDelegate.BUTTON_DPAD_DOWN); - mKeyMap.put(OuyaController.BUTTON_DPAD_LEFT, GameControllerDelegate.BUTTON_DPAD_LEFT); - mKeyMap.put(OuyaController.BUTTON_DPAD_RIGHT, GameControllerDelegate.BUTTON_DPAD_RIGHT); - mKeyMap.put(OuyaController.BUTTON_DPAD_UP, GameControllerDelegate.BUTTON_DPAD_UP); - mKeyMap.put(OuyaController.BUTTON_L1, GameControllerDelegate.BUTTON_LEFT_SHOULDER); - mKeyMap.put(OuyaController.BUTTON_R1, GameControllerDelegate.BUTTON_RIGHT_SHOULDER); - mKeyMap.put(OuyaController.AXIS_L2, GameControllerDelegate.BUTTON_LEFT_TRIGGER); - mKeyMap.put(OuyaController.AXIS_R2, GameControllerDelegate.BUTTON_RIGHT_TRIGGER); - - mKeyMap.put(OuyaController.AXIS_LS_X, GameControllerDelegate.BUTTON_LEFT_THUMBSTICK); - mKeyMap.put(OuyaController.AXIS_LS_Y, GameControllerDelegate.BUTTON_LEFT_THUMBSTICK); - mKeyMap.put(OuyaController.AXIS_RS_X, GameControllerDelegate.BUTTON_RIGHT_THUMBSTICK); - mKeyMap.put(OuyaController.AXIS_RS_Y, GameControllerDelegate.BUTTON_RIGHT_THUMBSTICK); - } - - public void onCreate(Context context) { - OuyaController.init(context); - /*GameControllerAdapter.addRunnableToFrameStartList(new Runnable() { - - @Override - public void run() { - OuyaController.startOfFrame(); - } - - });*/ - } - - private float mOldLeftThumbstickX = 0.0f; - private float mOldLeftThumbstickY = 0.0f; - private float mOldRightThumbstickX = 0.0f; - private float mOldRightThumbstickY = 0.0f; - - private float mOldLeftTrigger = 0.0f; - private float mOldRightTrigger = 0.0f; - - public boolean dispatchGenericMotionEvent(MotionEvent event) { - boolean handled = OuyaController.onGenericMotionEvent(event); - - if (handled && mControllerEventListener != null) - { - OuyaController c = OuyaController.getControllerByDeviceId(event.getDeviceId()); - int controllerID = OuyaController.getPlayerNumByDeviceId(event.getDeviceId()); - - float newLeftTrigger = c.getAxisValue(OuyaController.AXIS_L2); - if (Float.compare(newLeftTrigger, mOldLeftTrigger) != 0) { - if (Float.compare(newLeftTrigger, 0.0f) == 0) { - mControllerEventListener.onButtonEvent(sVendorName, controllerID, GameControllerDelegate.BUTTON_LEFT_TRIGGER, false, 0.0f, true); - }else { - mControllerEventListener.onButtonEvent(sVendorName, controllerID, GameControllerDelegate.BUTTON_LEFT_TRIGGER, true, newLeftTrigger, true); - } - mOldLeftTrigger = newLeftTrigger; - } - - float newRightTrigger = c.getAxisValue(OuyaController.AXIS_R2); - if (Float.compare(newRightTrigger, mOldRightTrigger) != 0) { - if (Float.compare(newRightTrigger, 0.0f) == 0) { - mControllerEventListener.onButtonEvent(sVendorName, controllerID, GameControllerDelegate.BUTTON_RIGHT_TRIGGER, false, 0.0f, true); - }else { - mControllerEventListener.onButtonEvent(sVendorName, controllerID, GameControllerDelegate.BUTTON_RIGHT_TRIGGER, true, newRightTrigger, true); - } - mOldRightTrigger = newRightTrigger; - } - - float newLeftThumbstickX = c.getAxisValue(OuyaController.AXIS_LS_X); - if (Float.compare(newLeftThumbstickX, mOldLeftThumbstickX) != 0) { - if (Float.compare(newLeftThumbstickX, 0.0f) == 0) { - mControllerEventListener.onAxisEvent(sVendorName, controllerID, GameControllerDelegate.THUMBSTICK_LEFT_X, 0.0f, true); - }else { - mControllerEventListener.onAxisEvent(sVendorName, controllerID, GameControllerDelegate.THUMBSTICK_LEFT_X, newLeftThumbstickX, true); - } - mOldLeftThumbstickX = newLeftThumbstickX; - } - - float newLeftThumbstickY = c.getAxisValue(OuyaController.AXIS_LS_Y); - if (Float.compare(newLeftThumbstickY, mOldLeftThumbstickY) != 0) { - if (Float.compare(newLeftThumbstickY, 0.0f) == 0) { - mControllerEventListener.onAxisEvent(sVendorName, controllerID, GameControllerDelegate.THUMBSTICK_LEFT_Y, 0.0f, true); - }else { - mControllerEventListener.onAxisEvent(sVendorName, controllerID, GameControllerDelegate.THUMBSTICK_LEFT_Y, newLeftThumbstickY, true); - } - mOldLeftThumbstickY = newLeftThumbstickY; - } - - float newRightThumbstickX = c.getAxisValue(OuyaController.AXIS_RS_X); - if (Float.compare(newRightThumbstickX, mOldRightThumbstickX) != 0) { - if (Float.compare(newRightThumbstickX, 0.0f) == 0) { - mControllerEventListener.onAxisEvent(sVendorName, controllerID, GameControllerDelegate.THUMBSTICK_RIGHT_X, 0.0f, true); - }else { - mControllerEventListener.onAxisEvent(sVendorName, controllerID, GameControllerDelegate.THUMBSTICK_RIGHT_X, newRightThumbstickX, true); - } - mOldRightThumbstickX = newRightThumbstickX; - } - - float newRightThumbstickY = c.getAxisValue(OuyaController.AXIS_RS_Y); - if (Float.compare(newRightThumbstickY, mOldRightThumbstickY) != 0) { - if (Float.compare(newRightThumbstickY, 0.0f) == 0) { - mControllerEventListener.onAxisEvent(sVendorName, controllerID, GameControllerDelegate.THUMBSTICK_RIGHT_Y, 0.0f, true); - }else { - mControllerEventListener.onAxisEvent(sVendorName, controllerID, GameControllerDelegate.THUMBSTICK_RIGHT_Y, newRightThumbstickY, true); - } - mOldRightThumbstickY = newRightThumbstickY; - } - } - - return handled; - } - - public boolean dispatchKeyEvent(KeyEvent event) { - boolean handled = false; - int action = event.getAction(); - int keyCode = event.getKeyCode(); - - if (action == KeyEvent.ACTION_DOWN) { - handled = OuyaController.onKeyDown(keyCode, event); - } - else if (action == KeyEvent.ACTION_UP) { - handled = OuyaController.onKeyUp(keyCode, event); - } - - if (handled && mControllerEventListener != null) { - boolean isAnalog = false; - - if (keyCode == KeyEvent.KEYCODE_BUTTON_THUMBL || keyCode == KeyEvent.KEYCODE_BUTTON_THUMBR){ - isAnalog = true; - } - - int controllerID = OuyaController.getPlayerNumByDeviceId(event.getDeviceId()); - if (action == KeyEvent.ACTION_DOWN) { - mControllerEventListener.onButtonEvent(sVendorName, controllerID, mKeyMap.get(keyCode), true, 1.0f, isAnalog); - }else { - mControllerEventListener.onButtonEvent(sVendorName, controllerID, mKeyMap.get(keyCode), false, 0.0f, isAnalog); - } - } - - return handled; - } - - public void onPause() { - // show the mouse cursor - OuyaController.showCursor(true); - } - - public void onResume() { - // hide the mouse cursor - OuyaController.showCursor(false); - } - - public void onDestroy() { - - } - - private ControllerEventListener mControllerEventListener; - - @Override - public void setControllerEventListener(ControllerEventListener listener) { - mControllerEventListener = listener; - } - -} diff --git a/cocos/platform/android/java/lint.xml b/cocos/platform/android/java/lint.xml deleted file mode 100644 index 3ec474892d..0000000000 --- a/cocos/platform/android/java/lint.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/cocos/platform/android/java/project.properties b/cocos/platform/android/java/project.properties index 732c58e368..88ca83f9d0 100644 --- a/cocos/platform/android/java/project.properties +++ b/cocos/platform/android/java/project.properties @@ -12,5 +12,4 @@ android.library=true # Project target. -target=android-16 -android.library.reference.1=../ControllerDelegate +target=android-10 diff --git a/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxActivity.java b/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxActivity.java index 265387c29e..a1bac4a217 100644 --- a/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxActivity.java +++ b/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxActivity.java @@ -24,9 +24,6 @@ THE SOFTWARE. package org.cocos2dx.lib; import org.cocos2dx.lib.Cocos2dxHelper.Cocos2dxHelperListener; -import org.cocos2dx.lib.GameControllerDelegate.ControllerEventListener; -import org.cocos2dx.lib.inputmanagercompat.InputManagerCompat; -import org.cocos2dx.lib.inputmanagercompat.InputManagerCompat.InputDeviceListener; import android.app.Activity; import android.content.Context; @@ -36,15 +33,12 @@ import android.content.pm.PackageManager; import android.os.Build; import android.os.Bundle; import android.os.Message; -import android.view.InputDevice; -import android.view.KeyEvent; -import android.view.MotionEvent; import android.view.ViewGroup; import android.util.Log; import android.widget.FrameLayout; import android.preference.PreferenceManager.OnActivityResultListener; -public abstract class Cocos2dxActivity extends Activity implements Cocos2dxHelperListener, InputDeviceListener { +public abstract class Cocos2dxActivity extends Activity implements Cocos2dxHelperListener { // =========================================================== // Constants // =========================================================== @@ -56,68 +50,32 @@ public abstract class Cocos2dxActivity extends Activity implements Cocos2dxHelpe // =========================================================== private Cocos2dxGLSurfaceView mGLSurfaceView; - private Cocos2dxHandler mHandler; + private Cocos2dxHandler mHandler; private static Cocos2dxActivity sContext = null; private Cocos2dxVideoHelper mVideoHelper = null; - private InputManagerCompat mInputManager = null; - - protected GameControllerHelper mControllerHelper = null; - protected GameControllerDelegate mControllerDelegate = null; public static Context getContext() { return sContext; } + protected void onLoadNativeLibraries() { try { ApplicationInfo ai = getPackageManager().getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA); Bundle bundle = ai.metaData; - String libName = bundle.getString("android.app.lib_name"); - System.loadLibrary(libName); - } catch (Exception e) { + try { + String libName = bundle.getString("android.app.lib_name"); + System.loadLibrary(libName); + } catch (Exception e) { + // ERROR + e.printStackTrace(); + } + } catch (PackageManager.NameNotFoundException e) { + // ERROR e.printStackTrace(); } } - public void setGameControllerInstance(GameControllerDelegate controllerDelegate) { - if (mControllerDelegate != null) { - mControllerDelegate.onDestroy(); - mControllerDelegate = null; - } - mControllerDelegate = controllerDelegate; - mControllerDelegate.setControllerEventListener(mControllerEventListener); - mControllerDelegate.onCreate(this); - } - - public GameControllerDelegate getGameControllerInstance(){ - return mControllerDelegate; - } - - ControllerEventListener mControllerEventListener = new ControllerEventListener() { - - @Override - public void onButtonEvent(String vendorName, int controller, int button, - boolean isPressed, float value, boolean isAnalog) { - GameControllerAdapter.onButtonEvent(vendorName, controller, button, isPressed, value, isAnalog); - } - - @Override - public void onAxisEvent(String vendorName, int controller, int axisID, - float value, boolean isAnalog) { - GameControllerAdapter.onAxisEvent(vendorName, controller, axisID, value, isAnalog); - } - - @Override - public void onConnected(String vendorName, int controller) { - GameControllerAdapter.onConnected(vendorName, controller); - } - - @Override - public void onDisconnected(String vendorName, int controller) { - GameControllerAdapter.onDisconnected(vendorName, controller); - } - }; - // =========================================================== // Constructors // =========================================================== @@ -137,16 +95,6 @@ public abstract class Cocos2dxActivity extends Activity implements Cocos2dxHelpe if (mVideoHelper == null) { mVideoHelper = new Cocos2dxVideoHelper(this, mFrameLayout); } - - mInputManager = InputManagerCompat.Factory.getInputManager(this); - mInputManager.registerInputDeviceListener(this, null); - - if (mControllerDelegate != null) { - mControllerDelegate.onCreate(this); - } - if (mControllerHelper == null) { - mControllerHelper = new GameControllerHelper(this); - } } // =========================================================== @@ -157,111 +105,21 @@ public abstract class Cocos2dxActivity extends Activity implements Cocos2dxHelpe // Methods for/from SuperClass/Interfaces // =========================================================== - @Override - public boolean dispatchKeyEvent(KeyEvent event) { - boolean handled = false; - if (mControllerDelegate != null) { - handled = mControllerDelegate.dispatchKeyEvent(event); - } - else { - handled = mControllerHelper.dispatchKeyEvent(event); - } - return handled || super.dispatchKeyEvent(event); - } - - @Override - public boolean dispatchGenericMotionEvent(MotionEvent event) { - boolean handled = false; - if (mControllerDelegate != null) { - handled = mControllerDelegate.dispatchGenericMotionEvent(event); - }else { - handled = mControllerHelper.dispatchGenericMotionEvent(event); - } - return handled || super.dispatchGenericMotionEvent(event); - } - - @Override - public void onInputDeviceAdded(int deviceId) { - - Log.d(TAG,"onInputDeviceAdded:" + deviceId); - - InputDevice device = InputDevice.getDevice(deviceId); - int deviceSource = device.getSources(); - - if ( ((deviceSource & InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD) - || ((deviceSource & InputDevice.SOURCE_JOYSTICK) == InputDevice.SOURCE_JOYSTICK) ) - { - GameControllerAdapter.onConnected("Standard", deviceId); - } - } - /* - * This is an unusual case. Input devices don't typically change, but they - * certainly can --- for example a device may have different modes. We use - * this to make sure that the ship has an up-to-date InputDevice. - * - * @see - * com.example.inputmanagercompat.InputManagerCompat.InputDeviceListener - * #onInputDeviceChanged(int) - */ - @Override - public void onInputDeviceChanged(int deviceId) { - Log.d(TAG,"onInputDeviceChanged:" + deviceId); - } - - /* - * Remove any ship associated with the ID. - * - * @see - * com.example.inputmanagercompat.InputManagerCompat.InputDeviceListener - * #onInputDeviceRemoved(int) - */ - @Override - public void onInputDeviceRemoved(int deviceId) { - Log.d(TAG,"onInputDeviceRemoved:" + deviceId); - - InputDevice device = InputDevice.getDevice(deviceId); - int deviceSource = device.getSources(); - - if ( ((deviceSource & InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD) - || ((deviceSource & InputDevice.SOURCE_JOYSTICK) == InputDevice.SOURCE_JOYSTICK) ) - { - GameControllerAdapter.onDisconnected("Standard", deviceId); - } - } - @Override protected void onResume() { super.onResume(); Cocos2dxHelper.onResume(); this.mGLSurfaceView.onResume(); - - if (mControllerDelegate != null) { - mControllerDelegate.onResume(); - } } @Override protected void onPause() { - if (mControllerDelegate != null) { - mControllerDelegate.onPause(); - } - super.onPause(); - + Cocos2dxHelper.onPause(); this.mGLSurfaceView.onPause(); } - - @Override - protected void onDestroy() { - if (mControllerDelegate != null) { - mControllerDelegate.onDestroy(); - } - mControllerHelper.destrory(); - - super.onDestroy(); - } @Override public void showDialog(final String pTitle, final String pMessage) { diff --git a/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxHelper.java b/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxHelper.java index 3cabec4822..e3617b80ef 100644 --- a/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxHelper.java +++ b/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxHelper.java @@ -33,7 +33,9 @@ import java.lang.Runnable; import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; +import android.content.pm.ActivityInfo; import android.content.pm.ApplicationInfo; +import android.content.pm.PackageManager; import android.content.res.AssetManager; import android.os.Build; import android.preference.PreferenceManager.OnActivityResultListener; diff --git a/cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerAdapter.java b/cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerAdapter.java deleted file mode 100644 index 93f675f0a2..0000000000 --- a/cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerAdapter.java +++ /dev/null @@ -1,77 +0,0 @@ -package org.cocos2dx.lib; - -import java.util.ArrayList; - -public class GameControllerAdapter { - private static ArrayList sRunnableFrameStartList = null; - - public static void addRunnableToFrameStartList(Runnable runnable) { - if (sRunnableFrameStartList == null) - sRunnableFrameStartList = new ArrayList(); - sRunnableFrameStartList.add(runnable); - } - - public static void removeRunnableFromFrameStartList(Runnable runnable) { - if (sRunnableFrameStartList != null) - sRunnableFrameStartList.remove(runnable); - } - - public static void onDrawFrameStart() { - if (sRunnableFrameStartList != null) - { - int size = sRunnableFrameStartList.size(); - for (int i = 0; i < size; ++i) { - sRunnableFrameStartList.get(i).run(); - } - } - } - - public static void onConnected(final String vendorName, final int controller) - { - Cocos2dxHelper.runOnGLThread(new Runnable() { - - @Override - public void run() { - nativeControllerConnected(vendorName, controller); - } - }); - } - - public static void onDisconnected(final String vendorName, final int controller) - { - Cocos2dxHelper.runOnGLThread(new Runnable() { - - @Override - public void run() { - nativeControllerDisconnected(vendorName, controller); - } - }); - } - - public static void onButtonEvent(final String vendorName, final int controller, final int button, final boolean isPressed, final float value, final boolean isAnalog) - { - Cocos2dxHelper.runOnGLThread(new Runnable() { - - @Override - public void run() { - nativeControllerButtonEvent(vendorName, controller, button, isPressed, value, isAnalog); - } - }); - } - - public static void onAxisEvent(final String vendorName, final int controller, final int axisID, final float value, final boolean isAnalog) - { - Cocos2dxHelper.runOnGLThread(new Runnable() { - - @Override - public void run() { - nativeControllerAxisEvent(vendorName, controller, axisID, value, isAnalog); - } - }); - } - - private static native void nativeControllerConnected(final String vendorName, final int controller); - private static native void nativeControllerDisconnected(final String vendorName, final int controller); - private static native void nativeControllerButtonEvent(final String vendorName, final int controller, final int button, final boolean isPressed, final float value, final boolean isAnalog); - private static native void nativeControllerAxisEvent(final String vendorName, final int controller, final int axisID, final float value, final boolean isAnalog); -} diff --git a/cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerHelper.java b/cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerHelper.java deleted file mode 100644 index 8c143c63a1..0000000000 --- a/cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerHelper.java +++ /dev/null @@ -1,870 +0,0 @@ -package org.cocos2dx.lib; - -import java.io.File; -import java.io.FileOutputStream; -import java.lang.reflect.Method; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Set; - -import org.json.JSONArray; -import org.json.JSONObject; -import org.apache.http.Header; - -import com.loopj.android.http.AsyncHttpClient; -import com.loopj.android.http.FileAsyncHttpResponseHandler; -import com.loopj.android.http.JsonHttpResponseHandler; - -import dalvik.system.DexClassLoader; -import android.bluetooth.BluetoothAdapter; -import android.bluetooth.BluetoothDevice; -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.Intent; -import android.content.IntentFilter; -import android.content.pm.ApplicationInfo; -import android.content.pm.PackageManager; -import android.content.pm.PackageManager.NameNotFoundException; -import android.net.Uri; -import android.os.Environment; -import android.util.Log; -import android.util.SparseIntArray; -import android.view.InputDevice; -import android.view.KeyEvent; -import android.view.MotionEvent; -import android.widget.Toast; - -public class GameControllerHelper { - - private final static String TAG = GameControllerHelper.class.getSimpleName(); - - public static final String StandardControllerName = "Standard"; - public static final String[] DRIVERS_NAME = {"nibiru","moga","ouya",StandardControllerName}; - - public static final int DRIVERTYPE_NIBIRU = 0; - public static final int DRIVERTYPE_MOGA = 1; - public static final int DRIVERTYPE_OUYA = 2; - public static final int DRIVERTYPE_STANDARD = 3; - public static final int DRIVERTYPE_UNKNOWN = 4; - - public static final String SPP_UUID = "00001101-0000-1000-8000-00805F9B34FB"; - - SparseIntArray ControllerKeyMap; - - private static final String COCOS_CONTROLLER_URL = "http://115.28.134.83:9000/download/cocoscontroller/"; - private static final String COCOS_CONTROLLER_CONFIG = "controller.json"; - - private static final String NIBIRU_DEP_PACKAGE = "com.nibiru"; - private static final String MOGA__DEP_PACKAGE = "com.bda.pivot.mogapgp"; - - private static Cocos2dxActivity sCocos2dxActivity; - private static GameControllerHelper sControllerHelper; - - private List mNibiruSupportedDrives; - private String mNibiruDepFileName; - private String mNibiruLibFileName; - private int mNibiruLibFileSize; - private int mNibiruDepFileSize; - - private List mMogaSupportedDrives; - private String mMogaDepFileName; - private String mMogaLibFileName; - private int mMogaLibFileSize; - private int mMogaDepFileSize; - - private List mOuyaSupportedDrives; - private String mOuyaLibFileName; - private int mOuyaLibFileSize; - - private AsyncHttpClient mDownDepsHttpClient = null; - - private BluetoothAdapter mBluetoothAdapter = null; - private ArrayList mBluetoothDevices = null; - private SparseIntArray mDevicesDriver; - private int mClearDevices = 0; - - private String mConfigFilePath; - private String mLocalSavePath = null; - - private boolean mLazyInit = true; - private boolean mLazyConfigInit = true; - private static ControllerListener mControllerListener = null; - - public static interface ControllerListener{ - void onDownloadConfigStarted(); - void onDownloadConfigFinished(boolean isSuccess); - - void onControllerDiscoveryStarted(); - // - void onControllerDiscoveryFinish(ArrayList devices); - - void onDownloadDepsStarted(); - void onDownloadDepsProgress(int bytesWritten, int totalSize); - void onDownloadDepsFinished(boolean isSuccess); - - void onInstallDriver(String filePath); - void onConnectController(); - } - - public void setControllerListener(ControllerListener listener){ - mControllerListener = listener; - } - - public GameControllerHelper(Cocos2dxActivity activity){ - sCocos2dxActivity = activity; - sControllerHelper = this; - - ControllerKeyMap = new SparseIntArray(25); - ControllerKeyMap.put(KeyEvent.KEYCODE_BUTTON_A, GameControllerDelegate.BUTTON_A); - ControllerKeyMap.put(KeyEvent.KEYCODE_BUTTON_B, GameControllerDelegate.BUTTON_B); - ControllerKeyMap.put(KeyEvent.KEYCODE_BUTTON_C, GameControllerDelegate.BUTTON_C); - ControllerKeyMap.put(KeyEvent.KEYCODE_BUTTON_X, GameControllerDelegate.BUTTON_X); - ControllerKeyMap.put(KeyEvent.KEYCODE_BUTTON_Y, GameControllerDelegate.BUTTON_Y); - ControllerKeyMap.put(KeyEvent.KEYCODE_BUTTON_Z, GameControllerDelegate.BUTTON_Z); - - ControllerKeyMap.put(KeyEvent.KEYCODE_DPAD_UP, GameControllerDelegate.BUTTON_DPAD_UP); - ControllerKeyMap.put(KeyEvent.KEYCODE_DPAD_DOWN, GameControllerDelegate.BUTTON_DPAD_DOWN); - ControllerKeyMap.put(KeyEvent.KEYCODE_DPAD_LEFT, GameControllerDelegate.BUTTON_DPAD_LEFT); - ControllerKeyMap.put(KeyEvent.KEYCODE_DPAD_RIGHT, GameControllerDelegate.BUTTON_DPAD_RIGHT); - ControllerKeyMap.put(KeyEvent.KEYCODE_DPAD_CENTER, GameControllerDelegate.BUTTON_DPAD_CENTER); - - ControllerKeyMap.put(KeyEvent.KEYCODE_BUTTON_THUMBL, GameControllerDelegate.BUTTON_LEFT_THUMBSTICK); - ControllerKeyMap.put(KeyEvent.KEYCODE_BUTTON_THUMBR, GameControllerDelegate.BUTTON_RIGHT_THUMBSTICK); - - ControllerKeyMap.put(KeyEvent.KEYCODE_BUTTON_L1, GameControllerDelegate.BUTTON_LEFT_SHOULDER); - ControllerKeyMap.put(KeyEvent.KEYCODE_BUTTON_R1, GameControllerDelegate.BUTTON_RIGHT_SHOULDER); - ControllerKeyMap.put(KeyEvent.KEYCODE_BUTTON_L2, GameControllerDelegate.BUTTON_LEFT_TRIGGER); - ControllerKeyMap.put(KeyEvent.KEYCODE_BUTTON_R2, GameControllerDelegate.BUTTON_RIGHT_TRIGGER); - - ControllerKeyMap.put(MotionEvent.AXIS_X, GameControllerDelegate.THUMBSTICK_LEFT_X); - ControllerKeyMap.put(MotionEvent.AXIS_Y, GameControllerDelegate.THUMBSTICK_LEFT_Y); - ControllerKeyMap.put(MotionEvent.AXIS_Z, GameControllerDelegate.THUMBSTICK_RIGHT_X); - ControllerKeyMap.put(MotionEvent.AXIS_RZ, GameControllerDelegate.THUMBSTICK_RIGHT_Y); - - ControllerKeyMap.put(KeyEvent.KEYCODE_BUTTON_START, GameControllerDelegate.BUTTON_START); - ControllerKeyMap.put(KeyEvent.KEYCODE_BUTTON_SELECT, GameControllerDelegate.BUTTON_SELECT); - //KEYCODE_BUTTON_MODE - } - - public void connectController(){ - if (mLazyInit) { - mLazyInit = false; - mNibiruSupportedDrives = new ArrayList(30); - mMogaSupportedDrives = new ArrayList(5); - mOuyaSupportedDrives = new ArrayList(5); - - mLocalSavePath = Environment.getExternalStorageDirectory() + File.separator + "CocosGameController" + File.separator; - mConfigFilePath = sCocos2dxActivity.getFilesDir().getAbsolutePath() + File.separator + COCOS_CONTROLLER_CONFIG; - mDownDepsHttpClient = new AsyncHttpClient(); - mDownDepsHttpClient.setTimeout(360 * 1000); - } - - if (mControllerListener != null) { - mControllerListener.onDownloadConfigStarted(); - } - if (mLazyConfigInit) { - if (mDownDepsHttpClient != null) { - mDownDepsHttpClient.cancelRequests(sCocos2dxActivity, true); - } - requestControllerConfig(); - } - else { - scanBluetoothDrive(); - } - } - - public Set getBondedDevices(){ - if (mBluetoothAdapter == null) { - mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); - if (mBluetoothAdapter == null) { - return null; - } - } - - return mBluetoothAdapter.getBondedDevices(); - } - - public void destrory(){ - if (mDownDepsHttpClient != null) { - mDownDepsHttpClient.cancelRequests(sCocos2dxActivity, true); - } - } - - private boolean scanBluetoothDrive(){ - if (mControllerListener != null) { - mControllerListener.onDownloadConfigFinished(true); - } - - if (mBluetoothAdapter == null) { - mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); - if (mBluetoothAdapter == null) { - return false; - } - - if (mBluetoothDevices == null) { - mBluetoothDevices = new ArrayList(5); - mDevicesDriver = new SparseIntArray(); - } - - IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND); - //filter.addAction(BluetoothDevice.ACTION_BOND_STATE_CHANGED); - //filter.addAction(BluetoothAdapter.ACTION_SCAN_MODE_CHANGED); - //filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED); - filter.addAction(BluetoothAdapter.ACTION_DISCOVERY_FINISHED); - filter.addAction(BluetoothAdapter.ACTION_DISCOVERY_STARTED); - sCocos2dxActivity.registerReceiver(mBluetoothReceiver, filter); - - IntentFilter appFilter = new IntentFilter(); - appFilter.addAction("android.intent.action.PACKAGE_ADDED"); - appFilter.addDataScheme("package"); - sCocos2dxActivity.registerReceiver(mAppReceiver, appFilter); - } - - if (!mBluetoothAdapter.isEnabled()) { - mBluetoothAdapter.enable(); - } - - if (mBluetoothAdapter.isDiscovering()) { - mBluetoothAdapter.cancelDiscovery(); - } - - mBluetoothAdapter.startDiscovery(); - - return true; - } - - public int checkDriverType(BluetoothDevice device){ - String deviceName = device.getName(); - - if (mNibiruSupportedDrives.contains(deviceName)) { - return DRIVERTYPE_NIBIRU; - } - else if (mMogaSupportedDrives.contains(deviceName)) { - return DRIVERTYPE_MOGA; - } - else if (mOuyaSupportedDrives.contains(deviceName)) { - return DRIVERTYPE_OUYA; - } - else { - - } - - return DRIVERTYPE_UNKNOWN; - } - - public static void installApplication(String filePath){ - if (sCocos2dxActivity != null) { - Intent intent = new Intent(); - intent.setAction(Intent.ACTION_VIEW); - intent.setDataAndType(Uri.parse("file://" + filePath), "application/vnd.android.package-archive"); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - sCocos2dxActivity.startActivity(intent); - } - } - - public static boolean checkApplication(String packName){ - try { - ApplicationInfo applicationInfo = sCocos2dxActivity.getPackageManager().getApplicationInfo(packName, PackageManager.GET_UNINSTALLED_PACKAGES); - Log.d(TAG, applicationInfo.toString()); - return true; - } catch (NameNotFoundException e) { - return false; - } - } - - private BroadcastReceiver mBluetoothReceiver = new BroadcastReceiver() { - - @Override - public void onReceive(Context context, Intent intent) { - String action = intent.getAction(); - - if (BluetoothDevice.ACTION_FOUND.equals(action)) { - BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); - if (mBluetoothDevices.contains(device)) { - return; - } - Log.d(TAG, "Remote device discovered :" + device.getName()); - //We can't ensure non-controller can be filtered out.Some game controller marked with computer class. - /*String deviceName = device.getName(); - - if(device.getBluetoothClass().getMajorDeviceClass() == BluetoothClass.Device.Major.COMPUTER - || device.getBluetoothClass().getMajorDeviceClass() == BluetoothClass.Device.Major.PHONE) - { - Log.w(TAG, "Remote device discovered :" + deviceName + " is computer or phone." + device.getBluetoothClass().getMajorDeviceClass()); - return; - }*/ - - mBluetoothDevices.add(device); - int type = checkDriverType(device); - if (type != DRIVERTYPE_UNKNOWN) { - mTargetDriverType = type; - mClearDevices += 1; - } - mDevicesDriver.append(mBluetoothDevices.size() - 1, type); - } - else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) { - Log.d(TAG, "The local Bluetooth adapter has finished the device discovery process."); - - if (mControllerListener != null) { - mControllerListener.onControllerDiscoveryFinish(mBluetoothDevices); - } - else { - if (mBluetoothDevices.size() == 0) { - if (checkApplication(NIBIRU_DEP_PACKAGE)) { - downControllerDeps(DRIVERTYPE_NIBIRU); - } - Log.w(TAG, "Not found any supported bluetooth game controller!"); - }else { - if (mClearDevices == 1 ) { - downControllerDeps(mTargetDriverType); - } - else { - Log.i(TAG, "More than one device"); - //todo:show sel - } - } - } - } - else if (BluetoothAdapter.ACTION_DISCOVERY_STARTED.equals(action)) { - Log.d(TAG, "The local Bluetooth adapter has started the remote device discovery process."); - if(mControllerListener != null){ - mControllerListener.onControllerDiscoveryStarted(); - } - - mBluetoothDevices.clear(); - mDevicesDriver.clear(); - mClearDevices = 0; - mTargetDriverType = DRIVERTYPE_UNKNOWN; - - //check moga controller - Iterator it = mBluetoothAdapter.getBondedDevices().iterator(); - while (it.hasNext()) { - BluetoothDevice device = it.next(); - //if(device.getBluetoothClass().getMajorDeviceClass() != BluetoothClass.Device.Major.COMPUTER - // && device.getBluetoothClass().getMajorDeviceClass() != BluetoothClass.Device.Major.PHONE) - { - if (!mBluetoothDevices.contains(device)) { - mBluetoothDevices.add(device); - int type = checkDriverType(device); - Log.d(TAG, "BluetoothDevice objects that are bonded (paired) to the local adapter :" + device.getName()); - if (type != DRIVERTYPE_UNKNOWN) { - mClearDevices += 1; - mTargetDriverType = type; - } - mDevicesDriver.append(mBluetoothDevices.size() - 1, type); - } - } - } - } - } - }; - - private static int depsCount = 0; - private static int mTargetDriverType = DRIVERTYPE_UNKNOWN; - - private static int mDownloadTotalSize; - private static int mDownloadLibSize; - private static int mLibDownloadCompletedSize; - private static int mDepDownloadCompletedSize; - - public void downControllerDeps(int driverType){ - if (driverType == DRIVERTYPE_STANDARD || driverType == DRIVERTYPE_UNKNOWN) { - return; - } - - if (mControllerListener != null) { - mControllerListener.onDownloadDepsStarted(); - } - - mDownloadTotalSize = 0; - mLibDownloadCompletedSize = 0; - mDepDownloadCompletedSize = 0; - - mTargetDriverType = driverType; - depsCount = 1; - - GameControllerUtils.ensureDirectoryExist(mLocalSavePath); - - String remoteDir = COCOS_CONTROLLER_URL + DRIVERS_NAME[driverType] + File.separator; - - if (driverType == DRIVERTYPE_NIBIRU) { - mDownloadLibSize = mNibiruLibFileSize; - mDownloadTotalSize += mNibiruLibFileSize; - if (!checkApplication(NIBIRU_DEP_PACKAGE)) { - depsCount += 1; - mDownloadTotalSize += mNibiruDepFileSize; - mDownDepsHttpClient.get(remoteDir + mNibiruDepFileName, new MyDepsAsyncHandler( - new File(mLocalSavePath + mNibiruDepFileName), MyDepsAsyncHandler.FILETYPE_DEP_APK)); - } - - File libFile = new File(mLocalSavePath + mNibiruLibFileName); - if (libFile.exists() && libFile.length() == mNibiruLibFileSize) { - depsCount -= 1; - if (depsCount == 0) { - onDepsReady(); - } - } - else { - mDownDepsHttpClient.get(remoteDir + mNibiruLibFileName, new MyDepsAsyncHandler( - libFile, MyDepsAsyncHandler.FILETYPE_JAR)); - } - - } - else if (driverType == DRIVERTYPE_MOGA) { - mDownloadLibSize = mMogaLibFileSize; - mDownloadTotalSize += mMogaLibFileSize; - if (!checkApplication(MOGA__DEP_PACKAGE)) { - mDownloadTotalSize += mMogaDepFileSize; - depsCount += 1; - mDownDepsHttpClient.get(remoteDir + mMogaDepFileName, new MyDepsAsyncHandler( - new File(mLocalSavePath + mMogaDepFileName), MyDepsAsyncHandler.FILETYPE_DEP_APK)); - } - - File libFile = new File(mLocalSavePath + mMogaLibFileName); - if (libFile.exists() && libFile.length() == mMogaLibFileSize) { - depsCount -= 1; - if (depsCount == 0) { - onDepsReady(); - } - }else { - mDownDepsHttpClient.get(remoteDir + mMogaLibFileName, new MyDepsAsyncHandler( - libFile, MyDepsAsyncHandler.FILETYPE_JAR)); - } - } - else if(driverType == DRIVERTYPE_OUYA){ - mDownloadLibSize = mOuyaLibFileSize; - mDownloadTotalSize += mOuyaLibFileSize; - - File libFile = new File(mLocalSavePath + mOuyaLibFileName); - if (libFile.exists() && libFile.length() == mOuyaLibFileSize) { - depsCount -= 1; - if (depsCount == 0) { - onDepsReady(); - } - }else { - mDownDepsHttpClient.get(remoteDir + mOuyaLibFileName, new MyDepsAsyncHandler( - new File(mLocalSavePath + mOuyaLibFileName), MyDepsAsyncHandler.FILETYPE_JAR)); - } - } - } - - static class MyDepsAsyncHandler extends FileAsyncHttpResponseHandler{ - - public static final int FILETYPE_DEP_APK = 0; - public static final int FILETYPE_JAR = 1; - - private int mFileType = FILETYPE_DEP_APK; - - public MyDepsAsyncHandler(File file, int fileType) { - super(file); - mFileType = fileType; - } - - @Override - public void onFailure(int statusCode, Header[] headers, - Throwable e, File file) { - if (mFileType == FILETYPE_JAR) { - if (file.exists() && file.length() == mDownloadLibSize) { - depsCount -= 1; - if (depsCount == 0) { - if (mControllerListener != null) { - mControllerListener.onDownloadDepsFinished(true); - } - sControllerHelper.onDepsReady(); - } - } - } - else if (mFileType == FILETYPE_DEP_APK) { - if (mControllerListener != null) { - mControllerListener.onDownloadDepsFinished(false); - } - } - - Log.e(TAG,"Failed to download:" + file.getName()); - } - - @Override - public void onSuccess(File file) { - Log.d(TAG, "Down file success:" + file.getName()); - - depsCount -= 1; - if (depsCount == 0) { - if (mControllerListener != null) { - mControllerListener.onDownloadDepsFinished(true); - } - sControllerHelper.onDepsReady(); - } - } - - @Override - public void onProgress(int bytesWritten, int totalSize) { - if (mFileType == FILETYPE_JAR) { - mLibDownloadCompletedSize = bytesWritten; - } else { - mDepDownloadCompletedSize = bytesWritten; - } - if (mControllerListener != null) { - - mControllerListener.onDownloadDepsProgress(mLibDownloadCompletedSize + mDepDownloadCompletedSize, mDownloadTotalSize); - } - Log.d(TAG, "totalSize:" + totalSize + ", bytesWritten:" + bytesWritten); - } - } - - private void onDepsReady(){ - Log.d(TAG, "onDepsReady:" + mTargetDriverType); - - if (mTargetDriverType == DRIVERTYPE_NIBIRU) { - if (checkApplication(NIBIRU_DEP_PACKAGE)) { - createControllerInstance(mLocalSavePath + mNibiruLibFileName, mTargetDriverType); - } - else { - if (mControllerListener != null) { - mControllerListener.onInstallDriver(mLocalSavePath + mMogaDepFileName); - } - installApplication(mLocalSavePath + mNibiruDepFileName); - } - } - else if (mTargetDriverType == DRIVERTYPE_MOGA) { - if (checkApplication(MOGA__DEP_PACKAGE)) { - createControllerInstance(mLocalSavePath + mMogaLibFileName, mTargetDriverType); - } - else { - if (mControllerListener != null) { - mControllerListener.onInstallDriver(mLocalSavePath + mMogaDepFileName); - } - installApplication(mLocalSavePath + mMogaDepFileName); - } - } - else if (mTargetDriverType == DRIVERTYPE_OUYA) { - /*if (checkApplication(OUYA_FRAMEWORK_PACKAGE)) { - if (checkApplication(OUYA_LAUNCHER_PACKAGE)) { - createControllerInstance(mLocalSavePath + mOuyaLibFileName, mTargetSDK); - } - else { - installApplication(mLocalSavePath + mOuyaLauncherFileName); - } - } - else { - installApplication(mLocalSavePath + mOuyaFrameworkFileName); - }*/ - createControllerInstance(mLocalSavePath + mOuyaLibFileName, mTargetDriverType); - } - } - - private static final String CONFIGKEY_DRIVES = "drives"; - private static final String CONFIGKEY_LIB_FILENAME = "lib"; - private static final String CONFIGKEY_LIB_FILESIZE = "lib-size"; - private static final String CONFIGKEY_DEP_FILENAME = "dep-apk"; - private static final String CONFIGKEY_DEP_FILESIZE = "dep-size"; - - private boolean parseConfig(String jsonString){ - mMogaSupportedDrives.clear(); - mNibiruSupportedDrives.clear(); - mOuyaSupportedDrives.clear(); - - try { - JSONObject configObject = new JSONObject(jsonString); - - JSONObject nibiruObject = configObject.getJSONObject("nibiru"); - JSONArray drives = nibiruObject.getJSONArray(CONFIGKEY_DRIVES); - int count = drives.length(); - for (int i = 0; i < count; i++) { - mNibiruSupportedDrives.add(drives.getString(i)); - } - mNibiruDepFileName = nibiruObject.getString(CONFIGKEY_DEP_FILENAME); - mNibiruDepFileSize = nibiruObject.getInt(CONFIGKEY_DEP_FILESIZE); - mNibiruLibFileName = nibiruObject.getString(CONFIGKEY_LIB_FILENAME); - mNibiruLibFileSize = nibiruObject.getInt(CONFIGKEY_LIB_FILESIZE); - - JSONObject mogaObject = configObject.getJSONObject("moga"); - drives = mogaObject.getJSONArray(CONFIGKEY_DRIVES); - count = drives.length(); - for (int i = 0; i < count; i++) { - mMogaSupportedDrives.add(drives.getString(i)); - } - mMogaDepFileName = mogaObject.getString(CONFIGKEY_DEP_FILENAME); - mMogaDepFileSize = mogaObject.getInt(CONFIGKEY_DEP_FILESIZE); - mMogaLibFileName = mogaObject.getString(CONFIGKEY_LIB_FILENAME); - mMogaLibFileSize = mogaObject.getInt(CONFIGKEY_LIB_FILESIZE); - - JSONObject ouyaObject = configObject.getJSONObject("ouya"); - drives = ouyaObject.getJSONArray(CONFIGKEY_DRIVES); - count = drives.length(); - for (int i = 0; i < count; i++) { - mOuyaSupportedDrives.add(drives.getString(i)); - } - mOuyaLibFileName = ouyaObject.getString(CONFIGKEY_LIB_FILENAME); - mOuyaLibFileSize = ouyaObject.getInt(CONFIGKEY_LIB_FILESIZE); - //mOuyaFrameworkFileName = ouyaObject.getString("dep-framework"); - //mOuyaLauncherFileName = ouyaObject.getString("dep-launcher"); - mLazyConfigInit = false; - return true; - } catch (Exception e1) { - e1.printStackTrace(); - return false; - } - } - - private void requestControllerConfig() { - - final JsonHttpResponseHandler configResponseHandler = new JsonHttpResponseHandler() { - - @Override - public void onFailure(int statusCode, Header[] headers, - String responseBody, Throwable e) { - - Log.e(TAG, "Failed to download game controller config!"); - - String configJSON = GameControllerUtils.readJsonFile(mConfigFilePath); - if (configJSON != null) { - if (parseConfig(configJSON)) { - scanBluetoothDrive(); - return; - } - } - if (mControllerListener != null) { - mControllerListener.onDownloadConfigFinished(false); - } - /*new AlertDialog.Builder(sCocos2dxActivity) - .setTitle("Loading controller config failed!") - .setMessage( - "Please make sure internet connection works ok!") - .setPositiveButton("Retry", - new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, - int which) { - dialog.dismiss(); - requestControllerConfig(); - } - }).setCancelable(false).show();*/ - } - - @Override - public void onSuccess(int statusCode, Header[] headers, - String responseBody) { - - String jsonString = responseBody.trim(); - - try { - if (parseConfig(jsonString)) { - scanBluetoothDrive(); - showToast("Get controller config succeed!"); - - File configFile = new File(mConfigFilePath); - FileOutputStream outputStream = new FileOutputStream(configFile); - byte[] contentString = jsonString.getBytes(); - outputStream.write(contentString, 0, contentString.length); - outputStream.flush(); - outputStream.close(); - return; - } - else { - String jsonStr = GameControllerUtils.readJsonFile(mConfigFilePath); - if (jsonStr != null) { - if (parseConfig(jsonStr)) { - scanBluetoothDrive(); - showToast("Get controller config succeed!"); - return; - } - } - } - } catch (Exception e1) { - e1.printStackTrace(); - } - - if (mControllerListener != null) { - mControllerListener.onDownloadConfigFinished(false); - } - Log.e(TAG, "Failed to download controller config!"); - } - }; - - mDownDepsHttpClient.get(COCOS_CONTROLLER_URL + COCOS_CONTROLLER_CONFIG, configResponseHandler); - } - - private static void showToast(String message){ - Toast.makeText(sCocos2dxActivity, message, Toast.LENGTH_SHORT).show(); - } - - private static void createControllerInstance(String libFilePath,int sdkType) { - File libFile = new File(libFilePath); - if (! libFile.exists()) { - Log.w(TAG, libFile.toString() + "not exist!"); - return; - } - - DexClassLoader classLoader = null; - - try { - File dexOutputDir = sCocos2dxActivity.getDir("dex", Context.MODE_PRIVATE); - - classLoader = new DexClassLoader(libFile.getCanonicalPath(), dexOutputDir.getCanonicalPath(), - null, sCocos2dxActivity.getClassLoader()); - } catch (Exception e1) { - e1.printStackTrace(); - } - - try { - Class controllerDelegate = null; - if (sdkType == DRIVERTYPE_MOGA) { - controllerDelegate = classLoader.loadClass("org.cocos2dx.lib.GameControllerMoga"); - } else if (sdkType == DRIVERTYPE_NIBIRU) { - controllerDelegate = classLoader.loadClass("org.cocos2dx.lib.GameControllerNibiru"); - } else if (sdkType == DRIVERTYPE_OUYA) { - controllerDelegate = classLoader.loadClass("org.cocos2dx.lib.GameControllerOuya"); - } - - GameControllerDelegate instance = (GameControllerDelegate)controllerDelegate.newInstance(); - - if (mControllerListener != null) { - mControllerListener.onConnectController(); - } - sCocos2dxActivity.setGameControllerInstance(instance); - if (sdkType == DRIVERTYPE_NIBIRU) { - Method method = controllerDelegate.getDeclaredMethod("onResume"); - method.invoke(instance); - } - } - catch (Exception e) { - e.printStackTrace(); - } - } - - private BroadcastReceiver mAppReceiver = new BroadcastReceiver() { - - @Override - public void onReceive(Context context, Intent intent) { - String packageName = intent.getDataString(); - Log.d(TAG, "mAppReceiver:" + intent); - if (packageName.contains(NIBIRU_DEP_PACKAGE)) { - createControllerInstance(mLocalSavePath + mNibiruLibFileName, DRIVERTYPE_NIBIRU); - } - else if (packageName.contains(MOGA__DEP_PACKAGE)) { - createControllerInstance(mLocalSavePath + mMogaLibFileName, DRIVERTYPE_MOGA); - } - } - }; - - private float mOldLeftThumbstickX = 0.0f; - private float mOldLeftThumbstickY = 0.0f; - private float mOldRightThumbstickX = 0.0f; - private float mOldRightThumbstickY = 0.0f; - - private float mOldLeftTrigger = 0.0f; - private float mOldRightTrigger = 0.0f; - private float mOldThrottle = 0.0f; - private float mOldBrake = 0.0f; - - public boolean dispatchGenericMotionEvent(MotionEvent event) { - boolean handled = false; - - int eventSource = event.getSource(); - - if ( ((eventSource & InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD) - || ((eventSource & InputDevice.SOURCE_JOYSTICK) == InputDevice.SOURCE_JOYSTICK) ) - { - if (event.getAction() == MotionEvent.ACTION_MOVE) { - int devicedId = event.getDeviceId(); - - float newAXIS_LX = event.getAxisValue(MotionEvent.AXIS_X); - if (Float.compare(newAXIS_LX , mOldLeftThumbstickX) != 0) { - GameControllerAdapter.onAxisEvent(StandardControllerName, devicedId, GameControllerDelegate.THUMBSTICK_LEFT_X, newAXIS_LX, true); - mOldLeftThumbstickX = newAXIS_LX; - handled = true; - } - - float newAXIS_LY = event.getAxisValue(MotionEvent.AXIS_Y); - if (Float.compare(newAXIS_LY , mOldLeftThumbstickY) != 0) { - GameControllerAdapter.onAxisEvent(StandardControllerName, devicedId, GameControllerDelegate.THUMBSTICK_LEFT_Y, newAXIS_LY, true); - mOldLeftThumbstickY = newAXIS_LY; - handled = true; - } - - float newAXIS_RX = event.getAxisValue(MotionEvent.AXIS_Z); - if (Float.compare(newAXIS_RX , mOldRightThumbstickX) != 0) { - GameControllerAdapter.onAxisEvent(StandardControllerName, devicedId, GameControllerDelegate.THUMBSTICK_RIGHT_X, newAXIS_RX, true); - mOldRightThumbstickX = newAXIS_RX; - handled = true; - } - - float newAXIS_RY = event.getAxisValue(MotionEvent.AXIS_RZ); - if (Float.compare(newAXIS_RY , mOldRightThumbstickY) != 0) { - GameControllerAdapter.onAxisEvent(StandardControllerName, devicedId, GameControllerDelegate.THUMBSTICK_RIGHT_Y, newAXIS_RY, true); - mOldRightThumbstickY = newAXIS_RY; - handled = true; - } - - float newAXIS_LTRIGGER = event.getAxisValue(MotionEvent.AXIS_LTRIGGER); - if (Float.compare(newAXIS_LTRIGGER , mOldLeftTrigger) != 0) { - if (Float.compare(newAXIS_LTRIGGER, 0.0f) == 0) { - GameControllerAdapter.onButtonEvent(StandardControllerName, devicedId, GameControllerDelegate.BUTTON_LEFT_TRIGGER, false, 0.0f, true); - }else { - GameControllerAdapter.onButtonEvent(StandardControllerName, devicedId, GameControllerDelegate.BUTTON_LEFT_TRIGGER, true, newAXIS_LTRIGGER, true); - } - mOldLeftTrigger = newAXIS_LTRIGGER; - handled = true; - } - - float newAXIS_RTRIGGER = event.getAxisValue(MotionEvent.AXIS_RTRIGGER); - if (Float.compare(newAXIS_RTRIGGER , mOldRightTrigger) != 0) { - if (Float.compare(newAXIS_RTRIGGER, 0.0f) == 0) { - GameControllerAdapter.onButtonEvent(StandardControllerName, devicedId, GameControllerDelegate.BUTTON_RIGHT_TRIGGER, false, 0.0f, true); - }else { - GameControllerAdapter.onButtonEvent(StandardControllerName, devicedId, GameControllerDelegate.BUTTON_RIGHT_TRIGGER, true, newAXIS_RTRIGGER, true); - } - mOldRightTrigger = newAXIS_RTRIGGER; - handled = true; - } - - float newAXIS_BRAKE = event.getAxisValue(MotionEvent.AXIS_BRAKE); - if (Float.compare(newAXIS_BRAKE , mOldBrake) != 0) { - if (Float.compare(newAXIS_BRAKE, 0.0f) == 0) { - GameControllerAdapter.onButtonEvent(StandardControllerName, devicedId, GameControllerDelegate.BUTTON_LEFT_TRIGGER, false, 0.0f, true); - }else { - GameControllerAdapter.onButtonEvent(StandardControllerName, devicedId, GameControllerDelegate.BUTTON_LEFT_TRIGGER, true, newAXIS_BRAKE, true); - } - mOldBrake = newAXIS_BRAKE; - handled = true; - } - - float newAXIS_THROTTLE = event.getAxisValue(MotionEvent.AXIS_THROTTLE); - if (Float.compare(newAXIS_THROTTLE , mOldThrottle) != 0) { - if (Float.compare(newAXIS_THROTTLE, 0.0f) == 0) { - GameControllerAdapter.onButtonEvent(StandardControllerName, devicedId, GameControllerDelegate.BUTTON_RIGHT_TRIGGER, false, 0.0f, true); - }else { - GameControllerAdapter.onButtonEvent(StandardControllerName, devicedId, GameControllerDelegate.BUTTON_RIGHT_TRIGGER, true, newAXIS_THROTTLE, true); - } - mOldThrottle = newAXIS_THROTTLE; - handled = true; - } - } - } - - return handled; - } - - public boolean dispatchKeyEvent(KeyEvent event) { - boolean handled = false; - - int eventSource = event.getSource(); - int controllerKey = ControllerKeyMap.get(event.getKeyCode()); - - if (controllerKey != 0 && (((eventSource & InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD) - || ((eventSource & InputDevice.SOURCE_JOYSTICK) == InputDevice.SOURCE_JOYSTICK) - || ((eventSource & InputDevice.SOURCE_DPAD) == InputDevice.SOURCE_DPAD))) - { - int action = event.getAction(); - if (action == KeyEvent.ACTION_DOWN) { - handled = true; - GameControllerAdapter.onButtonEvent(StandardControllerName,event.getDeviceId(), controllerKey,true, 1.0f, false); - }else if (action == KeyEvent.ACTION_UP) { - handled = true; - GameControllerAdapter.onButtonEvent(StandardControllerName,event.getDeviceId(), controllerKey,false, 0.0f, false); - } - } - - return handled; - } -} diff --git a/cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerUtils.java b/cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerUtils.java deleted file mode 100644 index addb0c5f42..0000000000 --- a/cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerUtils.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.cocos2dx.lib; - -import java.io.File; -import java.io.FileInputStream; - -public class GameControllerUtils { - - public static void ensureDirectoryExist(String path){ - - File sdkDir = new File(path); - if(!sdkDir.exists()){ - sdkDir.mkdirs(); - } - } - - public static String readJsonFile(String filePath) { - - File file = new File(filePath); - - if (!file.exists()){ - return null; - } - - try { - - FileInputStream is = new FileInputStream(file);; - - int size = is.available(); - byte[] buffer = new byte[size]; - - is.read(buffer); - is.close(); - - String jsonstr = new String(buffer, "UTF-8"); - - return jsonstr; - } catch (Exception e) { - e.printStackTrace(); - } - - return null; - } -} diff --git a/cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerCompat.java b/cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerCompat.java deleted file mode 100644 index 65b919bdae..0000000000 --- a/cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerCompat.java +++ /dev/null @@ -1,140 +0,0 @@ -/* - * Copyright (C) 2013 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.cocos2dx.lib.inputmanagercompat; - -import android.content.Context; -import android.os.Build; -import android.os.Handler; -import android.view.InputDevice; -import android.view.MotionEvent; - -public interface InputManagerCompat { - /** - * Gets information about the input device with the specified id. - * - * @param id The device id - * @return The input device or null if not found - */ - public InputDevice getInputDevice(int id); - - /** - * Gets the ids of all input devices in the system. - * - * @return The input device ids. - */ - public int[] getInputDeviceIds(); - - /** - * Registers an input device listener to receive notifications about when - * input devices are added, removed or changed. - * - * @param listener The listener to register. - * @param handler The handler on which the listener should be invoked, or - * null if the listener should be invoked on the calling thread's - * looper. - */ - public void registerInputDeviceListener(InputManagerCompat.InputDeviceListener listener, - Handler handler); - - /** - * Unregisters an input device listener. - * - * @param listener The listener to unregister. - */ - public void unregisterInputDeviceListener(InputManagerCompat.InputDeviceListener listener); - - /* - * The following three calls are to simulate V16 behavior on pre-Jellybean - * devices. If you don't call them, your callback will never be called - * pre-API 16. - */ - - /** - * Pass the motion events to the InputManagerCompat. This is used to - * optimize for polling for controllers. If you do not pass these events in, - * polling will cause regular object creation. - * - * @param event the motion event from the app - */ - public void onGenericMotionEvent(MotionEvent event); - - /** - * Tell the V9 input manager that it should stop polling for disconnected - * devices. You can call this during onPause in your activity, although you - * might want to call it whenever your game is not active (or whenever you - * don't care about being notified of new input devices) - */ - public void onPause(); - - /** - * Tell the V9 input manager that it should start polling for disconnected - * devices. You can call this during onResume in your activity, although you - * might want to call it less often (only when the gameplay is actually - * active) - */ - public void onResume(); - - public interface InputDeviceListener { - /** - * Called whenever the input manager detects that a device has been - * added. This will only be called in the V9 version when a motion event - * is detected. - * - * @param deviceId The id of the input device that was added. - */ - void onInputDeviceAdded(int deviceId); - - /** - * Called whenever the properties of an input device have changed since - * they were last queried. This will not be called for the V9 version of - * the API. - * - * @param deviceId The id of the input device that changed. - */ - void onInputDeviceChanged(int deviceId); - - /** - * Called whenever the input manager detects that a device has been - * removed. For the V9 version, this can take some time depending on the - * poll rate. - * - * @param deviceId The id of the input device that was removed. - */ - void onInputDeviceRemoved(int deviceId); - } - - /** - * Use this to construct a compatible InputManager. - */ - public static class Factory { - - /** - * Constructs and returns a compatible InputManger - * - * @param context the Context that will be used to get the system - * service from - * @return a compatible implementation of InputManager - */ - public static InputManagerCompat getInputManager(Context context) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { - return new InputManagerV16(context); - } else { - return new InputManagerV9(); - } - } - } -} diff --git a/cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerV16.java b/cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerV16.java deleted file mode 100644 index f0d265adb0..0000000000 --- a/cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerV16.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright (C) 2013 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.cocos2dx.lib.inputmanagercompat; - -import android.annotation.TargetApi; -import android.content.Context; -import android.hardware.input.InputManager; -import android.os.Build; -import android.os.Handler; -import android.view.InputDevice; -import android.view.MotionEvent; - -import java.util.HashMap; -import java.util.Map; - -@TargetApi(Build.VERSION_CODES.JELLY_BEAN) -public class InputManagerV16 implements InputManagerCompat { - - private final InputManager mInputManager; - private final Map mListeners; - - public InputManagerV16(Context context) { - mInputManager = (InputManager) context.getSystemService(Context.INPUT_SERVICE); - mListeners = new HashMap(); - } - - @Override - public InputDevice getInputDevice(int id) { - return mInputManager.getInputDevice(id); - } - - @Override - public int[] getInputDeviceIds() { - return mInputManager.getInputDeviceIds(); - } - - static class V16InputDeviceListener implements InputManager.InputDeviceListener { - final InputManagerCompat.InputDeviceListener mIDL; - - public V16InputDeviceListener(InputDeviceListener idl) { - mIDL = idl; - } - - @Override - public void onInputDeviceAdded(int deviceId) { - mIDL.onInputDeviceAdded(deviceId); - } - - @Override - public void onInputDeviceChanged(int deviceId) { - mIDL.onInputDeviceChanged(deviceId); - } - - @Override - public void onInputDeviceRemoved(int deviceId) { - mIDL.onInputDeviceRemoved(deviceId); - } - - } - - @Override - public void registerInputDeviceListener(InputDeviceListener listener, Handler handler) { - V16InputDeviceListener v16Listener = new V16InputDeviceListener(listener); - mInputManager.registerInputDeviceListener(v16Listener, handler); - mListeners.put(listener, v16Listener); - } - - @Override - public void unregisterInputDeviceListener(InputDeviceListener listener) { - V16InputDeviceListener curListener = mListeners.remove(listener); - if (null != curListener) - { - mInputManager.unregisterInputDeviceListener(curListener); - } - - } - - @Override - public void onGenericMotionEvent(MotionEvent event) { - // unused in V16 - } - - @Override - public void onPause() { - // unused in V16 - } - - @Override - public void onResume() { - // unused in V16 - } - -} diff --git a/cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerV9.java b/cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerV9.java deleted file mode 100644 index abb47a8719..0000000000 --- a/cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerV9.java +++ /dev/null @@ -1,211 +0,0 @@ -/* - * Copyright (C) 2013 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.cocos2dx.lib.inputmanagercompat; - -import android.os.Handler; -import android.os.Message; -import android.os.SystemClock; -import android.util.Log; -import android.util.SparseArray; -import android.view.InputDevice; -import android.view.MotionEvent; - -import java.lang.ref.WeakReference; -import java.util.ArrayDeque; -import java.util.HashMap; -import java.util.Map; -import java.util.Queue; - -public class InputManagerV9 implements InputManagerCompat { - private static final String LOG_TAG = "InputManagerV9"; - private static final int MESSAGE_TEST_FOR_DISCONNECT = 101; - private static final long CHECK_ELAPSED_TIME = 3000L; - - private static final int ON_DEVICE_ADDED = 0; - private static final int ON_DEVICE_CHANGED = 1; - private static final int ON_DEVICE_REMOVED = 2; - - private final SparseArray mDevices; - private final Map mListeners; - private final Handler mDefaultHandler; - - private static class PollingMessageHandler extends Handler { - private final WeakReference mInputManager; - - PollingMessageHandler(InputManagerV9 im) { - mInputManager = new WeakReference(im); - } - - @Override - public void handleMessage(Message msg) { - super.handleMessage(msg); - switch (msg.what) { - case MESSAGE_TEST_FOR_DISCONNECT: - InputManagerV9 imv = mInputManager.get(); - if (null != imv) { - long time = SystemClock.elapsedRealtime(); - int size = imv.mDevices.size(); - for (int i = 0; i < size; i++) { - long[] lastContact = imv.mDevices.valueAt(i); - if (null != lastContact) { - if (time - lastContact[0] > CHECK_ELAPSED_TIME) { - // check to see if the device has been - // disconnected - int id = imv.mDevices.keyAt(i); - if (null == InputDevice.getDevice(id)) { - // disconnected! - imv.notifyListeners(ON_DEVICE_REMOVED, id); - imv.mDevices.remove(id); - } else { - lastContact[0] = time; - } - } - } - } - sendEmptyMessageDelayed(MESSAGE_TEST_FOR_DISCONNECT, - CHECK_ELAPSED_TIME); - } - break; - } - } - - } - - public InputManagerV9() { - mDevices = new SparseArray(); - mListeners = new HashMap(); - mDefaultHandler = new PollingMessageHandler(this); - // as a side-effect, populates our collection of watched - // input devices - getInputDeviceIds(); - } - - @Override - public InputDevice getInputDevice(int id) { - return InputDevice.getDevice(id); - } - - @Override - public int[] getInputDeviceIds() { - // add any hitherto unknown devices to our - // collection of watched input devices - int[] activeDevices = InputDevice.getDeviceIds(); - long time = SystemClock.elapsedRealtime(); - for ( int id : activeDevices ) { - long[] lastContact = mDevices.get(id); - if ( null == lastContact ) { - // we have a new device - mDevices.put(id, new long[] { time }); - } - } - return activeDevices; - } - - @Override - public void registerInputDeviceListener(InputDeviceListener listener, Handler handler) { - mListeners.remove(listener); - if (handler == null) { - handler = mDefaultHandler; - } - mListeners.put(listener, handler); - } - - @Override - public void unregisterInputDeviceListener(InputDeviceListener listener) { - mListeners.remove(listener); - } - - private void notifyListeners(int why, int deviceId) { - // the state of some device has changed - if (!mListeners.isEmpty()) { - // yes... this will cause an object to get created... hopefully - // it won't happen very often - for (InputDeviceListener listener : mListeners.keySet()) { - Handler handler = mListeners.get(listener); - DeviceEvent odc = DeviceEvent.getDeviceEvent(why, deviceId, listener); - handler.post(odc); - } - } - } - - private static class DeviceEvent implements Runnable { - private int mMessageType; - private int mId; - private InputDeviceListener mListener; - private static Queue sEventQueue = new ArrayDeque(); - - private DeviceEvent() { - } - - static DeviceEvent getDeviceEvent(int messageType, int id, - InputDeviceListener listener) { - DeviceEvent curChanged = sEventQueue.poll(); - if (null == curChanged) { - curChanged = new DeviceEvent(); - } - curChanged.mMessageType = messageType; - curChanged.mId = id; - curChanged.mListener = listener; - return curChanged; - } - - @Override - public void run() { - switch (mMessageType) { - case ON_DEVICE_ADDED: - mListener.onInputDeviceAdded(mId); - break; - case ON_DEVICE_CHANGED: - mListener.onInputDeviceChanged(mId); - break; - case ON_DEVICE_REMOVED: - mListener.onInputDeviceRemoved(mId); - break; - default: - Log.e(LOG_TAG, "Unknown Message Type"); - break; - } - // dump this runnable back in the queue - sEventQueue.offer(this); - } - } - - @Override - public void onGenericMotionEvent(MotionEvent event) { - // detect new devices - int id = event.getDeviceId(); - long[] timeArray = mDevices.get(id); - if (null == timeArray) { - notifyListeners(ON_DEVICE_ADDED, id); - timeArray = new long[1]; - mDevices.put(id, timeArray); - } - long time = SystemClock.elapsedRealtime(); - timeArray[0] = time; - } - - @Override - public void onPause() { - mDefaultHandler.removeMessages(MESSAGE_TEST_FOR_DISCONNECT); - } - - @Override - public void onResume() { - mDefaultHandler.sendEmptyMessage(MESSAGE_TEST_FOR_DISCONNECT); - } - -} diff --git a/cocos/renderer/CCTexture2D.cpp b/cocos/renderer/CCTexture2D.cpp index 3449f5a7a6..9e2e8f36db 100644 --- a/cocos/renderer/CCTexture2D.cpp +++ b/cocos/renderer/CCTexture2D.cpp @@ -61,7 +61,7 @@ namespace { typedef Texture2D::PixelFormatInfoMap::value_type PixelFormatInfoMapValue; static const PixelFormatInfoMapValue TexturePixelFormatInfoTablesValue[] = { - PixelFormatInfoMapValue(Texture2D::PixelFormat::BGRA8888, Texture2D::PixelFormatInfo(GL_BGRA, GL_BGRA, GL_UNSIGNED_BYTE, 32, false, true)), + PixelFormatInfoMapValue(Texture2D::PixelFormat::BGRA8888, Texture2D::PixelFormatInfo(GL_RGBA, GL_BGRA, GL_UNSIGNED_BYTE, 32, false, true)), PixelFormatInfoMapValue(Texture2D::PixelFormat::RGBA8888, Texture2D::PixelFormatInfo(GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE, 32, false, true)), PixelFormatInfoMapValue(Texture2D::PixelFormat::RGBA4444, Texture2D::PixelFormatInfo(GL_RGBA, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4, 16, false, true)), PixelFormatInfoMapValue(Texture2D::PixelFormat::RGB5A1, Texture2D::PixelFormatInfo(GL_RGBA, GL_RGBA, GL_UNSIGNED_SHORT_5_5_5_1, 16, false, true)), @@ -1032,14 +1032,6 @@ rgba(1) -> 12345678 */ Texture2D::PixelFormat Texture2D::convertDataToFormat(const unsigned char* data, ssize_t dataLen, PixelFormat originFormat, PixelFormat format, unsigned char** outData, ssize_t* outDataLen) { - // don't need to convert - if (format == originFormat || format == PixelFormat::AUTO) - { - *outData = (unsigned char*)data; - *outDataLen = dataLen; - return originFormat; - } - switch (originFormat) { case PixelFormat::I8: diff --git a/cocos/scripting/lua-bindings/auto/api/ActionTimeline.lua b/cocos/scripting/lua-bindings/auto/api/ActionTimeline.lua index 5a22f5c635..5bc5839862 100644 --- a/cocos/scripting/lua-bindings/auto/api/ActionTimeline.lua +++ b/cocos/scripting/lua-bindings/auto/api/ActionTimeline.lua @@ -47,11 +47,6 @@ -- @param self -- @return int#int ret (return value: int) --------------------------------- --- @function [parent=#ActionTimeline] setCurrentFrame --- @param self --- @param #int int - -------------------------------- -- @function [parent=#ActionTimeline] setTimeSpeed -- @param self @@ -89,13 +84,10 @@ -- -- overload function: gotoFrameAndPlay(int, int, bool) -- --- overload function: gotoFrameAndPlay(int, int, int, bool) --- -- @function [parent=#ActionTimeline] gotoFrameAndPlay -- @param self -- @param #int int -- @param #int int --- @param #int int -- @param #bool bool -------------------------------- diff --git a/cocos/scripting/lua-bindings/auto/lua_cocos2dx_studio_auto.cpp b/cocos/scripting/lua-bindings/auto/lua_cocos2dx_studio_auto.cpp index ead974be37..d1d6801e3f 100644 --- a/cocos/scripting/lua-bindings/auto/lua_cocos2dx_studio_auto.cpp +++ b/cocos/scripting/lua-bindings/auto/lua_cocos2dx_studio_auto.cpp @@ -19605,52 +19605,6 @@ int lua_cocos2dx_studio_ActionTimeline_getEndFrame(lua_State* tolua_S) return 0; } -int lua_cocos2dx_studio_ActionTimeline_setCurrentFrame(lua_State* tolua_S) -{ - int argc = 0; - cocostudio::timeline::ActionTimeline* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"ccs.ActionTimeline",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocostudio::timeline::ActionTimeline*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_studio_ActionTimeline_setCurrentFrame'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 1) - { - int arg0; - - ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0); - if(!ok) - return 0; - cobj->setCurrentFrame(arg0); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "setCurrentFrame",argc, 1); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_studio_ActionTimeline_setCurrentFrame'.",&tolua_err); -#endif - - return 0; -} int lua_cocos2dx_studio_ActionTimeline_setTimeSpeed(lua_State* tolua_S) { int argc = 0; @@ -19987,30 +19941,7 @@ int lua_cocos2dx_studio_ActionTimeline_gotoFrameAndPlay(lua_State* tolua_S) } }while(0); ok = true; - do{ - if (argc == 4) { - int arg0; - ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0); - - if (!ok) { break; } - int arg1; - ok &= luaval_to_int32(tolua_S, 3,(int *)&arg1); - - if (!ok) { break; } - int arg2; - ok &= luaval_to_int32(tolua_S, 4,(int *)&arg2); - - if (!ok) { break; } - bool arg3; - ok &= luaval_to_boolean(tolua_S, 5,&arg3); - - if (!ok) { break; } - cobj->gotoFrameAndPlay(arg0, arg1, arg2, arg3); - return 0; - } - }while(0); - ok = true; - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "gotoFrameAndPlay",argc, 4); + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "gotoFrameAndPlay",argc, 3); return 0; #if COCOS2D_DEBUG >= 1 @@ -20196,7 +20127,6 @@ int lua_register_cocos2dx_studio_ActionTimeline(lua_State* tolua_S) tolua_function(tolua_S,"getDuration",lua_cocos2dx_studio_ActionTimeline_getDuration); tolua_function(tolua_S,"addTimeline",lua_cocos2dx_studio_ActionTimeline_addTimeline); tolua_function(tolua_S,"getEndFrame",lua_cocos2dx_studio_ActionTimeline_getEndFrame); - tolua_function(tolua_S,"setCurrentFrame",lua_cocos2dx_studio_ActionTimeline_setCurrentFrame); tolua_function(tolua_S,"setTimeSpeed",lua_cocos2dx_studio_ActionTimeline_setTimeSpeed); tolua_function(tolua_S,"init",lua_cocos2dx_studio_ActionTimeline_init); tolua_function(tolua_S,"setDuration",lua_cocos2dx_studio_ActionTimeline_setDuration); diff --git a/cocos/scripting/lua-bindings/auto/lua_cocos2dx_studio_auto.hpp b/cocos/scripting/lua-bindings/auto/lua_cocos2dx_studio_auto.hpp index 82c1e824ea..b63f793128 100644 --- a/cocos/scripting/lua-bindings/auto/lua_cocos2dx_studio_auto.hpp +++ b/cocos/scripting/lua-bindings/auto/lua_cocos2dx_studio_auto.hpp @@ -489,7 +489,6 @@ int register_all_cocos2dx_studio(lua_State* tolua_S); - #endif // __cocos2dx_studio_h__ diff --git a/cocos/ui/UIScrollView.cpp b/cocos/ui/UIScrollView.cpp index 0797cb0b98..ef1993621d 100644 --- a/cocos/ui/UIScrollView.cpp +++ b/cocos/ui/UIScrollView.cpp @@ -894,7 +894,7 @@ bool ScrollView::scrollChildrenVertical(float touchOffsetX, float touchOffsetY) bool ScrollView::scrollChildrenHorizontal(float touchOffsetX, float touchOffestY) { - bool scrollenabled = false; + bool scrollenabled; float realOffset = touchOffsetX; if (_bounceEnabled) { diff --git a/external/nslog/CCNSLog.h b/external/nslog/CCNSLog.h deleted file mode 100644 index e371bfa44d..0000000000 --- a/external/nslog/CCNSLog.h +++ /dev/null @@ -1,24 +0,0 @@ -// -// MyLog.h -// cocos2d_libs -// -// Created by James Chen on 4/23/14. -// -// - -#ifndef __cocos2d_libs__MyLog__ -#define __cocos2d_libs__MyLog__ - -#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) - -extern void CCNSLog(const char* file, int line, const char* function, const char* format, ...); - -#define CCNSLOG(format, ...) CCNSLog(__FILE__, __LINE__, __FUNCTION__, format, ##__VA_ARGS__, nullptr) - -#else - -#define CCNSLOG CCLOG - -#endif - -#endif /* defined(__cocos2d_libs__MyLog__) */ diff --git a/external/nslog/ios/CCNSLog.mm b/external/nslog/ios/CCNSLog.mm deleted file mode 100644 index 9583db3eaf..0000000000 --- a/external/nslog/ios/CCNSLog.mm +++ /dev/null @@ -1,27 +0,0 @@ -// -// MyLog.cpp -// cocos2d_libs -// -// Created by James Chen on 4/23/14. -// -// - -#include "CCNSLog.h" - -#import "NSLogger.h" - - -void CCNSLog(const char* file, int line, const char* function, const char* format, ...) -{ - va_list args; - va_start(args, format); - - char buf[1024 * 16] = {0}; - vsprintf(buf, format, args); - - va_end(args); - - LogMessageF(file, line, function, @"cocos2d-x", 0, [NSString stringWithUTF8String:buf], nullptr); - - // LoggerFlush(LoggerGetDefaultLogger(), YES); -} diff --git a/external/nslog/ios/LoggerClient.h b/external/nslog/ios/LoggerClient.h deleted file mode 100644 index 3321f7126a..0000000000 --- a/external/nslog/ios/LoggerClient.h +++ /dev/null @@ -1,248 +0,0 @@ -/* - * LoggerClient.h - * - * version 1.5-RC2 22-NOV-2013 - * - * Part of NSLogger (client side) - * https://github.com/fpillet/NSLogger - * - * BSD license follows (http://www.opensource.org/licenses/bsd-license.php) - * - * Copyright (c) 2010-2013 Florent Pillet All Rights Reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. Redistributions in - * binary form must reproduce the above copyright notice, this list of - * conditions and the following disclaimer in the documentation and/or other - * materials provided with the distribution. Neither the name of Florent - * Pillet nor the names of its contributors may be used to endorse or promote - * products derived from this software without specific prior written - * permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT - * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED - * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ -#import -#import -#import -#import -#import -#import -#import -#if !TARGET_OS_IPHONE -#import -#endif - -// This define is here so that user application can test whether NSLogger Client is -// being included in the project, and potentially configure their macros accordingly -#define NSLOGGER_WAS_HERE 1 - -// Set this to 0 if you absolutely NOT want any access to Cocoa (Objective-C, NS* calls) -// We need a couple ones to reliably obtain the thread number and device information -// Note that since we need NSAutoreleasePool when using Cocoa in the logger's worker thread, -// we need to put Cocoa in multithreading mode. Also, ALLOW_COCOA_USE allows the client code -// to use NSLog()-style message formatting (less verbose than CFShow()-style) through the -// use of -[NSString stringWithFormat:arguments:] -#define ALLOW_COCOA_USE 1 - -/* ----------------------------------------------------------------- - * Logger option flags & default options - * ----------------------------------------------------------------- - */ -enum { - kLoggerOption_LogToConsole = 0x01, - kLoggerOption_BufferLogsUntilConnection = 0x02, - kLoggerOption_BrowseBonjour = 0x04, - kLoggerOption_BrowseOnlyLocalDomain = 0x08, - kLoggerOption_UseSSL = 0x10, - kLoggerOption_CaptureSystemConsole = 0x20 -}; - -#define LOGGER_DEFAULT_OPTIONS (kLoggerOption_BufferLogsUntilConnection | \ - kLoggerOption_BrowseBonjour | \ - kLoggerOption_BrowseOnlyLocalDomain | \ - kLoggerOption_UseSSL | \ - kLoggerOption_CaptureSystemConsole) - -/* ----------------------------------------------------------------- - * Structure defining a Logger - * ----------------------------------------------------------------- - */ -typedef struct -{ - CFStringRef bufferFile; // If non-NULL, all buffering is done to the specified file instead of in-memory - CFStringRef host; // Viewer host to connect to (instead of using Bonjour) - UInt32 port; // port on the viewer host - - CFMutableArrayRef bonjourServiceBrowsers; // Active service browsers - CFMutableArrayRef bonjourServices; // Services being tried - CFNetServiceBrowserRef bonjourDomainBrowser; // Domain browser - - CFMutableArrayRef logQueue; // Message queue - pthread_mutex_t logQueueMutex; - pthread_cond_t logQueueEmpty; - - dispatch_once_t workerThreadInit; // Use this to ensure creation of the worker thread is ever done only once for a given logger - pthread_t workerThread; // The worker thread responsible for Bonjour resolution, connection and logs transmission - CFRunLoopSourceRef messagePushedSource; // A message source that fires on the worker thread when messages are available for send - CFRunLoopSourceRef bufferFileChangedSource; // A message source that fires on the worker thread when the buffer file configuration changes - CFRunLoopSourceRef remoteOptionsChangedSource; // A message source that fires when option changes imply a networking strategy change (switch to/from Bonjour, direct host or file streaming) - - CFWriteStreamRef logStream; // The connected stream we're writing to - CFWriteStreamRef bufferWriteStream; // If bufferFile not NULL and we're not connected, points to a stream for writing log data - CFReadStreamRef bufferReadStream; // If bufferFile not NULL, points to a read stream that will be emptied prior to sending the rest of in-memory messages - - SCNetworkReachabilityRef reachability; // The reachability object we use to determine when the target host becomes reachable - SCNetworkReachabilityFlags reachabilityFlags; // Last known reachability flags - we use these to detect network transitions without network loss - CFRunLoopTimerRef reconnectTimer; // A timer to regularly check connection to the defined host, along with reachability for added reliability - - uint8_t *sendBuffer; // data waiting to be sent - NSUInteger sendBufferSize; - NSUInteger sendBufferUsed; // number of bytes of the send buffer currently in use - NSUInteger sendBufferOffset; // offset in sendBuffer to start sending at - - int32_t messageSeq; // sequential message number (added to each message sent) - - // settings - uint32_t options; // Flags, see enum above - CFStringRef bonjourServiceType; // leave NULL to use the default - CFStringRef bonjourServiceName; // leave NULL to use the first one available - - // internal state - BOOL targetReachable; // Set to YES when the Reachability target (host or internet) is deemed reachable - BOOL connected; // Set to YES once the write stream declares the connection open - volatile BOOL quit; // Set to YES to terminate the logger worker thread's runloop - BOOL incompleteSendOfFirstItem; // set to YES if we are sending the first item in the queue and it's bigger than what the buffer can hold -} Logger; - - -/* ----------------------------------------------------------------- - * LOGGING FUNCTIONS - * ----------------------------------------------------------------- - */ - -#ifdef __cplusplus -extern "C" { -#endif - -// Set the default logger which will be the one used when passing NULL for logge -extern void LoggerSetDefaultLogger(Logger *aLogger); - -// Get the default logger, create one if it does not exist -extern Logger *LoggerGetDefaultLogger(void); - -// Checks whether the default logger exists, returns it if YES, otherwise do NO create one -extern Logger *LoggerCheckDefaultLogger(void); - -// Initialize a new logger, set as default logger if this is the first one -// Options default to: -// - logging to console = NO -// - buffer until connection = YES -// - browse Bonjour = YES -// - browse only locally on Bonjour = YES -extern Logger* LoggerInit(void); - -// Set logger options if you don't want the default options (see above) -extern void LoggerSetOptions(Logger *logger, uint32_t options); - -// Set Bonjour logging names, so you can force the logger to use a specific service type -// or direct logs to the machine on your network which publishes a specific name -extern void LoggerSetupBonjour(Logger *logger, CFStringRef bonjourServiceType, CFStringRef bonjourServiceName); - -// Directly set the viewer host (hostname or IP address) and port we want to connect to. If set, LoggerStart() will -// try to connect there first before trying Bonjour -extern void LoggerSetViewerHost(Logger *logger, CFStringRef hostName, UInt32 port); - -// Configure the logger to use a local file for buffering, instead of memory. -// - If you initially set a buffer file after logging started but while a logger connection -// has not been acquired, the contents of the log queue will be written to the buffer file -// the next time a logging function is called, or when LoggerStop() is called. -// - If you want to change the buffering file after logging started, you should first -// call LoggerStop() the call LoggerSetBufferFile(). Note that all logs stored in the previous -// buffer file WON'T be transferred to the new file in this case. -extern void LoggerSetBufferFile(Logger *logger, CFStringRef absolutePath); - -// Activate the logger, try connecting. You can pass NULL to start the default logger, -// it will return a pointer to it. -extern Logger* LoggerStart(Logger *logger); - -//extern void LoggerConnectToHost(CFDataRef address, int port); - -// Deactivate and free the logger. -extern void LoggerStop(Logger *logger); - -// Pause the current thread until all messages from the logger have been transmitted -// this is useful to use before an assert() aborts your program. If waitForConnection is YES, -// LoggerFlush() will block even if the client is not currently connected to the desktop -// viewer. You should be using NO most of the time, but in some cases it can be useful. -extern void LoggerFlush(Logger *logger, BOOL waitForConnection); - -/* Logging functions. Each function exists in four versions: - * - * - one without a Logger instance (uses default logger) and without filename/line/function (no F suffix) - * - one without a Logger instance but with filename/line/function (F suffix) - * - one with a Logger instance (use a specific Logger) and without filename/line/function (no F suffix) - * - one with a Logger instance (use a specific Logger) and with filename/line/function (F suffix) - * - * The exception being the single LogMessageCompat() function which is designed to be a drop-in replacement for NSLog() - * - */ - -// Log a message, calling format compatible with NSLog -extern void LogMessageCompat(NSString *format, ...); - -// Log a message without any formatting (just log the given string) -extern void LogMessageRaw(NSString *message); -extern void LogMessageRawF(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *message); -extern void LogMessageRawToF(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *message); - -// Log a message. domain can be nil if default domain. -extern void LogMessage(NSString *domain, int level, NSString *format, ...) NS_FORMAT_FUNCTION(3,4); -extern void LogMessageF(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *format, ...) NS_FORMAT_FUNCTION(6,7); -extern void LogMessageTo(Logger *logger, NSString *domain, int level, NSString *format, ...) NS_FORMAT_FUNCTION(4,5); -extern void LogMessageToF(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *format, ...) NS_FORMAT_FUNCTION(7,8); - -// Log a message. domain can be nil if default domain (versions with va_list format args instead of ...) -extern void LogMessage_va(NSString *domain, int level, NSString *format, va_list args) NS_FORMAT_FUNCTION(3,0); -extern void LogMessageF_va(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *format, va_list args) NS_FORMAT_FUNCTION(6,0); -extern void LogMessageTo_va(Logger *logger, NSString *domain, int level, NSString *format, va_list args) NS_FORMAT_FUNCTION(4,0); -extern void LogMessageToF_va(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *format, va_list args) NS_FORMAT_FUNCTION(7,0); - -// Send binary data to remote logger -extern void LogData(NSString *domain, int level, NSData *data); -extern void LogDataF(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSData *data); -extern void LogDataTo(Logger *logger, NSString *domain, int level, NSData *data); -extern void LogDataToF(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSData *data); - -// Send image data to remote logger -extern void LogImageData(NSString *domain, int level, int width, int height, NSData *data); -extern void LogImageDataF(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, int width, int height, NSData *data); -extern void LogImageDataTo(Logger *logger, NSString *domain, int level, int width, int height, NSData *data); -extern void LogImageDataToF(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, int width, int height, NSData *data); - -// Mark the start of a block. This allows the remote logger to group blocks together -extern void LogStartBlock(NSString *format, ...) NS_FORMAT_FUNCTION(1,2); -extern void LogStartBlockTo(Logger *logger, NSString *format, ...) NS_FORMAT_FUNCTION(2,3); - -// Mark the end of a block -extern void LogEndBlock(void); -extern void LogEndBlockTo(Logger *logger); - -// Log a marker (text can be null) -extern void LogMarker(NSString *text); -extern void LogMarkerTo(Logger *logger, NSString *text); - -#ifdef __cplusplus -}; -#endif diff --git a/external/nslog/ios/LoggerClient.m b/external/nslog/ios/LoggerClient.m deleted file mode 100644 index 0534ab58b8..0000000000 --- a/external/nslog/ios/LoggerClient.m +++ /dev/null @@ -1,2866 +0,0 @@ -/* - * LoggerClient.m - * - * version 1.5-RC2 22-NOV-2013 - * - * Main implementation of the NSLogger client side code - * Part of NSLogger (client side) - * https://github.com/fpillet/NSLogger - * - * BSD license follows (http://www.opensource.org/licenses/bsd-license.php) - * - * Copyright (c) 2010-2013 Florent Pillet All Rights Reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. Redistributions in - * binary form must reproduce the above copyright notice, this list of - * conditions and the following disclaimer in the documentation and/or other - * materials provided with the distribution. Neither the name of Florent - * Pillet nor the names of its contributors may be used to endorse or promote - * products derived from this software without specific prior written - * permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT - * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED - * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ -#import -#import -#import - -#import "LoggerClient.h" -#import "LoggerCommon.h" - -#if !TARGET_OS_IPHONE - #import - #import - #import - #import -#elif ALLOW_COCOA_USE - #import -#endif -#import - -/* -------------------------------------------------------------------------------- - * IMPLEMENTATION NOTES: - * - * The logger runs in a separate thread. It is written - * in straight C for maximum compatibility with all runtime environments - * (does not use the Objective-C runtime, only uses unix and CoreFoundation - * calls, except for get the thread name and device information, but these - * can be disabled by setting ALLOW_COCOA_USE to 0). - * - * It is suitable for use in both Cocoa and low-level code. It does not activate - * Cocoa multi-threading (no call to [NSThread detachNewThread...]). You can start - * logging very early (as soon as your code starts running), logs will be - * buffered and sent to the log viewer as soon as a connection is acquired. - * This makes the logger suitable for use in conditions where you usually - * don't have a connection to a remote machine yet (early wakeup, network - * down, etc). - * - * When you call one of the public logging functions, the logger is designed - * to return to your application as fast as possible. It enqueues logs to - * send for processing by its own thread, while your application keeps running. - * - * The logger does buffer logs while not connected to a desktop - * logger. It uses Bonjour to find a logger on the local network, and can - * optionally connect to a remote logger identified by an IP address / port - * or a Host Name / port. - * - * The logger can optionally output its logs to the console, like NSLog(). - * - * The logger can optionally buffer its logs to a file for which you specify the - * full path. Upon connection to the desktop viewer, the file contents are - * transmitted to the viewer prior to sending new logs. When the whole file - * content has been transmitted, it is emptied. - * - * Multiple loggers can coexist at the same time. You can perfectly use a - * logger for your debug traces, and another that connects remotely to help - * diagnose issues while the application runs on your user's device. - * - * The logger can optionally capture stdout and stderr. When running an - * application from the IDE, this will automatically capture everything that - * goes into the debugger console log, and insert it in the stream of logs - * sent to the viewer. - * - * Using the logger's flexible packet format, you can customize logging by - * creating your own log types, and customize the desktop viewer to display - * runtime information panels for your application. - * -------------------------------------------------------------------------------- - */ - -/* Logger internal debug flags */ -// Set to 0 to disable internal debug completely -// Set to 1 to activate console logs when running the logger itself -// Set to 2 to see every logging call issued by the app, too -#define LOGGER_DEBUG 0 -#ifdef NSLog - #undef NSLog -#endif - -// Internal debugging stuff for the logger itself -#if LOGGER_DEBUG - #define LOGGERDBG LoggerDbg - #if LOGGER_DEBUG > 1 - #define LOGGERDBG2 LoggerDbg - #else - #define LOGGERDBG2(format, ...) do{}while(0) - #endif - // Internal logging function prototype - static void LoggerDbg(CFStringRef format, ...); -#else - #define LOGGERDBG(format, ...) do{}while(0) - #define LOGGERDBG2(format, ...) do{}while(0) -#endif - -// small set of macros for proper ARC/non-ARC compilation support -// with added cruft to support non-clang compilers -#undef LOGGER_ARC_MACROS_DEFINED -#if defined(__has_feature) - #if __has_feature(objc_arc) - #define CAST_TO_CFSTRING __bridge CFStringRef - #define CAST_TO_NSSTRING __bridge NSString * - #define CAST_TO_CFDATA __bridge CFDataRef - #define RELEASE(obj) do{}while(0) - #define LOGGER_ARC_MACROS_DEFINED - #endif -#endif -#if !defined(LOGGER_ARC_MACROS_DEFINED) - #define CAST_TO_CFSTRING CFStringRef - #define CAST_TO_NSSTRING NSString * - #define CAST_TO_CFDATA CFDataRef - #define RELEASE(obj) [obj release] -#endif -#undef LOGGER_ARC_MACROS_DEFINED - -/* Local prototypes */ -static void LoggerFlushAllOnExit(void); -static void* LoggerWorkerThread(Logger *logger); -static void LoggerWriteMoreData(Logger *logger); -static void LoggerPushMessageToQueue(Logger *logger, CFDataRef message); - -// Bonjour management -static void LoggerStartBonjourBrowsing(Logger *logger); -static void LoggerStopBonjourBrowsing(Logger *logger); -static BOOL LoggerBrowseBonjourForServices(Logger *logger, CFStringRef domainName); -static void LoggerServiceBrowserCallBack(CFNetServiceBrowserRef browser, CFOptionFlags flags, CFTypeRef domainOrService, CFStreamError* error, void *info); - -// Reachability and reconnect timer -static void LoggerRemoteSettingsChanged(Logger *logger); -static void LoggerStartReachabilityChecking(Logger *logger); -static void LoggerStopReachabilityChecking(Logger *logger); -static void LoggerReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReachabilityFlags flags, void *info); -static void LoggerStartReconnectTimer(Logger *logger); -static void LoggerStopReconnectTimer(Logger *logger); -static void LoggerTimedReconnectCallback(CFRunLoopTimerRef timer, void *info); - -// Connection & stream management -static void LoggerTryConnect(Logger *logger); -static void LoggerWriteStreamTerminated(Logger *logger); -static void LoggerWriteStreamCallback(CFWriteStreamRef ws, CFStreamEventType event, void* info); - -// File buffering -static void LoggerCreateBufferWriteStream(Logger *logger); -static void LoggerCreateBufferReadStream(Logger *logger); -static void LoggerEmptyBufferFile(Logger *logger); -static void LoggerFileBufferingOptionsChanged(Logger *logger); -static void LoggerFlushQueueToBufferStream(Logger *logger, BOOL firstEntryIsClientInfo); - -// Encoding functions -static void LoggerPushClientInfoToFrontOfQueue(Logger *logger); -static void LoggerMessageAddTimestampAndThreadID(CFMutableDataRef encoder); - -static CFMutableDataRef LoggerMessageCreate(int32_t seq); -static void LoggerMessageAddInt32(CFMutableDataRef encoder, int32_t anInt, int key); -#if __LP64__ -static void LoggerMessageAddInt64(CFMutableDataRef data, int64_t anInt, int key); -#endif -static void LoggerMessageAddString(CFMutableDataRef encoder, CFStringRef aString, int key); -static void LoggerMessageAddData(CFMutableDataRef encoder, CFDataRef theData, int key, int partType); -static uint32_t LoggerMessageGetSeq(CFDataRef message); - -/* Static objects */ -static CFMutableArrayRef sLoggersList; -static Logger* volatile sDefaultLogger = NULL; -static Boolean sAtexitFunctionSet = FALSE; -static pthread_mutex_t sLoggersListMutex = PTHREAD_MUTEX_INITIALIZER; -static pthread_mutex_t sDefaultLoggerMutex = PTHREAD_MUTEX_INITIALIZER; - -// Console logging -static void LoggerStartGrabbingConsole(Logger *logger); -static void LoggerStopGrabbingConsole(Logger *logger); -static Logger ** consoleGrabbersList = NULL; -static unsigned consoleGrabbersListLength; -static unsigned numActiveConsoleGrabbers = 0; -static pthread_mutex_t consoleGrabbersMutex = PTHREAD_MUTEX_INITIALIZER; -static pthread_t consoleGrabThread; -static int sConsolePipes[4] = { -1, -1, -1, -1 }; -static int sSTDOUT = -1, sSTDERR = -1; -static int sSTDOUThadSIGPIPE, sSTDERRhadSIGPIPE; - -// ----------------------------------------------------------------------------- -#pragma mark - -#pragma mark Default logger -// ----------------------------------------------------------------------------- -void LoggerSetDefaultLogger(Logger *defaultLogger) -{ - pthread_mutex_lock(&sDefaultLoggerMutex); - sDefaultLogger = defaultLogger; - pthread_mutex_unlock(&sDefaultLoggerMutex); -} - -Logger *LoggerGetDefaultLogger(void) -{ - Logger *l = sDefaultLogger; - if (l == NULL) - { - pthread_mutex_lock(&sDefaultLoggerMutex); - l = sDefaultLogger; - if (l == NULL) - l = LoggerInit(); - pthread_mutex_unlock(&sDefaultLoggerMutex); - } - return l; -} - -Logger *LoggerCheckDefaultLogger(void) -{ - return sDefaultLogger; -} - -// ----------------------------------------------------------------------------- -#pragma mark - -#pragma mark Initialization and setup -// ----------------------------------------------------------------------------- -Logger *LoggerInit(void) -{ - LOGGERDBG(CFSTR("LoggerInit defaultLogger=%p"), sDefaultLogger); - - Logger *logger = (Logger *)malloc(sizeof(Logger)); - bzero(logger, sizeof(Logger)); - - logger->logQueue = CFArrayCreateMutable(NULL, 0, &kCFTypeArrayCallBacks); - pthread_mutex_init(&logger->logQueueMutex, NULL); - pthread_cond_init(&logger->logQueueEmpty, NULL); - - logger->bonjourServiceBrowsers = CFArrayCreateMutable(NULL, 4, &kCFTypeArrayCallBacks); - logger->bonjourServices = CFArrayCreateMutable(NULL, 4, &kCFTypeArrayCallBacks); - - // for now we don't grow the send buffer, just use one page of memory which should be enouh - // (bigger messages will be sent separately) - logger->sendBuffer = (uint8_t *)malloc(4096); - logger->sendBufferSize = 4096; - - logger->options = LOGGER_DEFAULT_OPTIONS; -#if LOGGER_DEBUG - // when debugging NSLogger itself, don't hijack the system console - // as we are sending messages to it for display - logger->options &= ~kLoggerOption_CaptureSystemConsole; -#endif - - logger->quit = NO; - - // Add logger to the list of existing loggers - // Set this logger as the default logger is none exist already - pthread_mutex_lock(&sLoggersListMutex); - if (sLoggersList == NULL) - { - CFArrayCallBacks callbacks; - bzero(&callbacks, sizeof(callbacks)); - sLoggersList = CFArrayCreateMutable(NULL, 0, &callbacks); - } - CFArrayAppendValue(sLoggersList, (const void *)logger); - if (sDefaultLogger == NULL) - sDefaultLogger = logger; - - // Configure a low level exit() callback that will flush all connected loggers - if (!sAtexitFunctionSet) - { - atexit(&LoggerFlushAllOnExit); - sAtexitFunctionSet = TRUE; - } - pthread_mutex_unlock(&sLoggersListMutex); - - return logger; -} - -void LoggerSetOptions(Logger *logger, uint32_t options) -{ - LOGGERDBG(CFSTR("LoggerSetOptions options=0x%08lx"), options); - - // If we choose to log to system console - // make sure we are not configured to capture the system console - // When debugging NSLogger itself, we never capture the system console either - if (options & kLoggerOption_LogToConsole) - options &= (uint32_t)~kLoggerOption_CaptureSystemConsole; - - if (logger == NULL) - logger = LoggerGetDefaultLogger(); - if (logger != NULL) - logger->options = options; -} - -void LoggerSetupBonjour(Logger *logger, CFStringRef bonjourServiceType, CFStringRef bonjourServiceName) -{ - LOGGERDBG(CFSTR("LoggerSetupBonjour serviceType=%@ serviceName=%@"), bonjourServiceType, bonjourServiceName); - - if (logger == NULL) - logger = LoggerGetDefaultLogger(); - if (logger != NULL) - { - if (bonjourServiceType != NULL) - CFRetain(bonjourServiceType); - if (bonjourServiceName != NULL) - CFRetain(bonjourServiceName); - if (logger->bonjourServiceType != NULL) - CFRelease(logger->bonjourServiceType); - if (logger->bonjourServiceName != NULL) - CFRelease(logger->bonjourServiceName); - logger->bonjourServiceType = bonjourServiceType; - logger->bonjourServiceName = bonjourServiceName; - } -} - -void LoggerSetViewerHost(Logger *logger, CFStringRef hostName, UInt32 port) -{ - if (logger == NULL) - logger = LoggerGetDefaultLogger(); - if (logger == NULL) - return; - - CFStringRef previousHost = logger->host; - UInt32 previousPort = logger->port; - - logger->host = NULL; - - if (hostName != NULL) - { - logger->host = CFStringCreateCopy(NULL, hostName); - logger->port = port; - } - - if (logger->remoteOptionsChangedSource != NULL && - (logger->port != previousPort || - ((hostName == NULL) != (previousHost == NULL)) || - (hostName != NULL && CFStringCompare(hostName, previousHost, kCFCompareCaseInsensitive) != kCFCompareEqualTo))) - CFRunLoopSourceSignal(logger->remoteOptionsChangedSource); - - if (previousHost != NULL) - CFRelease(previousHost); -} - -void LoggerSetBufferFile(Logger *logger, CFStringRef absolutePath) -{ - if (logger == NULL) - { - logger = LoggerGetDefaultLogger(); - if (logger == NULL) - return; - } - - BOOL change = ((logger->bufferFile != NULL && absolutePath == NULL) || - (logger->bufferFile == NULL && absolutePath != NULL) || - (logger->bufferFile != NULL && absolutePath != NULL && CFStringCompare(logger->bufferFile, absolutePath, (CFStringCompareFlags) 0) != kCFCompareEqualTo)); - if (change) - { - if (logger->bufferFile != NULL) - { - CFRelease(logger->bufferFile); - logger->bufferFile = NULL; - } - if (absolutePath != NULL) - logger->bufferFile = CFStringCreateCopy(NULL, absolutePath); - if (logger->bufferFileChangedSource != NULL) - CFRunLoopSourceSignal(logger->bufferFileChangedSource); - } -} - -Logger *LoggerStart(Logger *logger) -{ - // will do nothing if logger is already started - if (logger == NULL) - logger = LoggerGetDefaultLogger(); - - if (logger != NULL) - { - if (logger->workerThread == NULL) - { - dispatch_once(&logger->workerThreadInit, ^{ - // Start the work thread which performs the Bonjour search, - // connects to the logging service and forwards the logs - LOGGERDBG(CFSTR("LoggerStart logger=%p"), logger); - pthread_create(&logger->workerThread, NULL, (void *(*)(void *))&LoggerWorkerThread, logger); - - // Grab console output if required - if (logger->options & kLoggerOption_CaptureSystemConsole) - LoggerStartGrabbingConsole(logger); - }); - } - } - else - { - LOGGERDBG2(CFSTR("-> could not create logger")); - } - return logger; -} - -void LoggerStop(Logger *logger) -{ - LOGGERDBG(CFSTR("LoggerStop")); - - pthread_mutex_lock(&sLoggersListMutex); - if (logger == NULL || logger == sDefaultLogger) - { - logger = sDefaultLogger; - sDefaultLogger = NULL; - } - if (sLoggersList != NULL && logger != NULL) - { - CFIndex where = CFArrayGetFirstIndexOfValue(sLoggersList, CFRangeMake(0, CFArrayGetCount(sLoggersList)), (void const *) logger); - if (where != -1) - CFArrayRemoveValueAtIndex(sLoggersList, where); - } - pthread_mutex_unlock(&sLoggersListMutex); - - if (logger != NULL) - { - if (logger->workerThread != NULL) - { - LoggerStopGrabbingConsole(logger); - logger->quit = YES; - pthread_join(logger->workerThread, NULL); - } - - CFRelease(logger->bonjourServiceBrowsers); - CFRelease(logger->bonjourServices); - free(logger->sendBuffer); - if (logger->host != NULL) - CFRelease(logger->host); - if (logger->bufferFile != NULL) - CFRelease(logger->bufferFile); - if (logger->bonjourServiceType != NULL) - CFRelease(logger->bonjourServiceType); - if (logger->bonjourServiceName != NULL) - CFRelease(logger->bonjourServiceName); - - // to make sure potential errors are caught, set the whole structure - // to a value that will make code crash if it tries using pointers to it. - memset(logger, 0x55, sizeof(Logger)); - - free(logger); - } -} - -static void LoggerFlushAllOnExit() -{ - // this function is automatically configured by NSLogger to flush all connected loggers - // on exit. this guarantees that the developer sees the last messages issued by the application. - // it is configured the first time a logger is initialized, so at the time we're being called - // the loggers list is never NULL - pthread_mutex_lock(&sLoggersListMutex); - CFIndex numLoggers = CFArrayGetCount(sLoggersList); - for (CFIndex i=0; i < numLoggers; i++) - LoggerFlush((Logger *) CFArrayGetValueAtIndex(sLoggersList, i), NO); - pthread_mutex_unlock(&sLoggersListMutex); -} - -void LoggerFlush(Logger *logger, BOOL waitForConnection) -{ - // Special case: if nothing has ever been logged, don't bother - if (logger == NULL && sDefaultLogger == NULL) - return; - if (logger == NULL) - logger = LoggerGetDefaultLogger(); - if (logger != NULL && - pthread_self() != logger->workerThread && - (logger->connected || logger->bufferFile != NULL || waitForConnection)) // TODO: change this test - { - pthread_mutex_lock(&logger->logQueueMutex); - if (CFArrayGetCount(logger->logQueue) > 0) - pthread_cond_wait(&logger->logQueueEmpty, &logger->logQueueMutex); - pthread_mutex_unlock(&logger->logQueueMutex); - } -} - -#if LOGGER_DEBUG -static void LoggerDbg(CFStringRef format, ...) -{ - // Internal debugging function - // (what do you think, that we use the Logger to debug itself ??) - if (format != NULL) - { - @autoreleasepool - { - va_list args; - va_start(args, format); - CFStringRef s = CFStringCreateWithFormatAndArguments(NULL, NULL, format, args); - va_end(args); - if (s != NULL) - { - CFShow(s); - CFRelease(s); - } - } - } -} -#endif - -// ----------------------------------------------------------------------------- -#pragma mark - -#pragma mark Main processing -// ----------------------------------------------------------------------------- -static BOOL LoggerPrepareRunloopSource(Logger *logger, CFRunLoopSourceRef *outRef, void *callback) -{ - // first call will also create the thread's runloop - CFRunLoopSourceContext context; - bzero(&context, sizeof(context)); - context.info = logger; - context.perform = callback; - *outRef = CFRunLoopSourceCreate(NULL, 0, &context); - if (*outRef == NULL) - { - // This NSLog is intentional as this failure MUST be logged to console - NSLog(@"*** NSLogger: worker thread failed creating runloop source"); - return NO; - } - CFRunLoopAddSource(CFRunLoopGetCurrent(), *outRef, kCFRunLoopDefaultMode); - return YES; -} - -static void LoggerDisposeRunloopSource(CFRunLoopSourceRef *sourceRef) -{ - if (*sourceRef != NULL) - { - CFRunLoopSourceInvalidate(*sourceRef); - CFRelease(*sourceRef); - *sourceRef = NULL; - } -} - -static void *LoggerWorkerThread(Logger *logger) -{ - LOGGERDBG(CFSTR("Start LoggerWorkerThread")); - -#if !TARGET_OS_IPHONE - // Register thread with Garbage Collector on Mac OS X if we're running an OS version that has GC - void (*registerThreadWithCollector_fn)(void); - registerThreadWithCollector_fn = (void(*)(void)) dlsym(RTLD_NEXT, "objc_registerThreadWithCollector"); - if (registerThreadWithCollector_fn) - (*registerThreadWithCollector_fn)(); -#endif - - // Create the run loop source that signals when messages have been added to the runloop - // this will directly trigger a WriteMoreData() call, which will or won't write depending - // on whether we're connected and there's space available in the stream - if (!LoggerPrepareRunloopSource(logger, &logger->messagePushedSource, &LoggerWriteMoreData)) - { - // Failing to create the runloop source for pushing messages is a major failure. - // This NSLog is intentional. We WANT console output in this case - NSLog(@"*** NSLogger: switching to console logging."); - logger->options |= kLoggerOption_LogToConsole; - logger->workerThread = NULL; - return NULL; - } - - // Create the buffering stream if needed - if (logger->bufferFile != NULL) - LoggerCreateBufferWriteStream(logger); - - // Create the runloop source that lets us know when file buffering options change - LoggerPrepareRunloopSource(logger, &logger->bufferFileChangedSource, &LoggerFileBufferingOptionsChanged); - - // Create the runloop source that lets us know when remote (host, Bonjour) settings change - LoggerPrepareRunloopSource(logger, &logger->remoteOptionsChangedSource, &LoggerRemoteSettingsChanged); - - // Start Reachability (when needed), which determines when we take the next step - // (once Reachability status is known, we'll decide to either start Bonjour browsing or - // try connecting to a direct host) - LoggerStartReachabilityChecking(logger); - - // Run logging thread until LoggerStop() is called - NSTimeInterval timeout = 0.10; - while (!logger->quit) - { - int result = CFRunLoopRunInMode(kCFRunLoopDefaultMode, timeout, true); - if (result == kCFRunLoopRunFinished || result == kCFRunLoopRunStopped) - break; - if (result == kCFRunLoopRunHandledSource) - { - timeout = 0.0; - continue; - } - timeout = fmax(1.0, fmin(0.10, timeout+0.0005)); - } - - // Cleanup - LoggerStopBonjourBrowsing(logger); - LoggerStopReachabilityChecking(logger); - LoggerStopReconnectTimer(logger); - - if (logger->logStream != NULL) - { - CFWriteStreamSetClient(logger->logStream, 0, NULL, NULL); - CFWriteStreamClose(logger->logStream); - CFRelease(logger->logStream); - logger->logStream = NULL; - } - - if (logger->bufferWriteStream == NULL && logger->bufferFile != NULL) - { - // If there are messages in the queue and LoggerStop() was called and - // a buffer file was set just before LoggerStop() was called, flush - // the log queue to the buffer file - pthread_mutex_lock(&logger->logQueueMutex); - CFIndex outstandingMessages = CFArrayGetCount(logger->logQueue); - pthread_mutex_unlock(&logger->logQueueMutex); - if (outstandingMessages) - LoggerCreateBufferWriteStream(logger); - } - - if (logger->bufferWriteStream != NULL) - { - CFWriteStreamClose(logger->bufferWriteStream); - CFRelease(logger->bufferWriteStream); - logger->bufferWriteStream = NULL; - } - - LoggerDisposeRunloopSource(&logger->messagePushedSource); - LoggerDisposeRunloopSource(&logger->bufferFileChangedSource); - LoggerDisposeRunloopSource(&logger->remoteOptionsChangedSource); - - // if the client ever tries to log again against us, make sure that logs at least - // go to console - logger->options |= kLoggerOption_LogToConsole; - logger->workerThread = NULL; - - LOGGERDBG(CFSTR("Stop LoggerWorkerThread")); - return NULL; -} - -static CFStringRef LoggerCreateStringRepresentationFromBinaryData(CFDataRef data) -{ - CFMutableStringRef s = CFStringCreateMutable(NULL, 0); - unsigned int offset = 0; - unsigned int dataLen = (unsigned int)CFDataGetLength(data); - char buffer[1+6+16*3+1+16+1+1+1]; - buffer[0] = '\0'; - const unsigned char *q = (unsigned char *)CFDataGetBytePtr(data); - if (dataLen == 1) - CFStringAppend(s, CFSTR("Raw data, 1 byte:\n")); - else - CFStringAppendFormat(s, NULL, CFSTR("Raw data, %u bytes:\n"), dataLen); - while (dataLen) - { - int i, j, b = sprintf(buffer," %04x: ", offset); - for (i=0; i < 16 && i < (int)dataLen; i++) - sprintf(&buffer[b+3*i], "%02x ", (int)q[i]); - for (j=i; j < 16; j++) - strncat(buffer, " ", 3); - - b = (int)strlen(buffer); - buffer[b++] = '\''; - for (i=0; i < 16 && i < (int)dataLen; i++, q++) - { - if (*q >= 32 && *q < 128) - buffer[b++] = (char)*q; - else - buffer[b++] = ' '; - } - for (j=i; j < 16; j++) - buffer[b++] = ' '; - buffer[b++] = '\''; - buffer[b++] = '\n'; - buffer[b] = 0; - - CFStringRef bufferStr = CFStringCreateWithBytesNoCopy(NULL, (const UInt8 *)buffer, (CFIndex)strlen(buffer), kCFStringEncodingISOLatin1, false, kCFAllocatorNull); - CFStringAppend(s, bufferStr); - CFRelease(bufferStr); - - dataLen -= (unsigned int)i; - offset += (unsigned int)i; - } - return s; -} - -static void LoggerLogToConsole(CFDataRef data) -{ - // Decode and log a message to the console. Doing this from the worker thread - // allow us to serialize logging, which is a benefit that NSLog() doesn't have. - // Only drawback is that we have to decode our own message, but that is a minor hassle. - if (data == NULL) - { - CFShow(CFSTR("LoggerLogToConsole: data is NULL")); - return; - } - struct timeval timestamp; - bzero(×tamp, sizeof(timestamp)); - int type = LOGMSG_TYPE_LOG, contentsType = PART_TYPE_STRING; - int imgWidth=0, imgHeight=0; - CFStringRef message = NULL; - CFStringRef thread = NULL; - - // decode message contents - uint8_t *p = (uint8_t *)CFDataGetBytePtr(data) + 4; - uint16_t partCount; - memcpy(&partCount, p, 2); - partCount = ntohs(partCount); - p += 2; - while (partCount--) - { - uint8_t partKey = *p++; - uint8_t partType = *p++; - uint32_t partSize; - if (partType == PART_TYPE_INT16) - partSize = 2; - else if (partType == PART_TYPE_INT32) - partSize = 4; - else if (partType == PART_TYPE_INT64) - partSize = 8; - else - { - memcpy(&partSize, p, 4); - p += 4; - partSize = ntohl(partSize); - } - CFTypeRef part = NULL; - uint32_t value32 = 0; - uint64_t value64 = 0; - if (partSize > 0) - { - if (partType == PART_TYPE_STRING) - { - // trim whitespace and newline at both ends of the string - uint8_t *q = p; - uint32_t l = partSize; - while (l && (*q == ' ' || *q == '\t' || *q == '\n' || *q == '\r')) - q++, l--; - uint8_t *r = q + l - 1; - while (l && (*r == ' ' || *r == '\t' || *r == '\n' || *r == '\r')) - r--, l--; - part = CFStringCreateWithBytesNoCopy(NULL, q, (CFIndex)l, kCFStringEncodingUTF8, false, kCFAllocatorNull); - } - else if (partType == PART_TYPE_BINARY) - { - part = CFDataCreateWithBytesNoCopy(NULL, p, (CFIndex)partSize, kCFAllocatorNull); - } - else if (partType == PART_TYPE_IMAGE) - { - // ignore image data, we can't log it to console - } - else if (partType == PART_TYPE_INT16) - { - value32 = ((uint32_t)p[0]) << 8 | (uint32_t)p[1]; - } - else if (partType == PART_TYPE_INT32) - { - memcpy(&value32, p, 4); - value32 = ntohl(value32); - } - else if (partType == PART_TYPE_INT64) - { - memcpy(&value64, p, 8); - value64 = CFSwapInt64BigToHost(value64); - } - p += partSize; - } - switch (partKey) - { - case PART_KEY_MESSAGE_TYPE: - type = (int)value32; - break; - case PART_KEY_TIMESTAMP_S: // timestamp with seconds-level resolution - timestamp.tv_sec = (partType == PART_TYPE_INT64) ? (__darwin_time_t)value64 : (__darwin_time_t)value32; - break; - case PART_KEY_TIMESTAMP_MS: // millisecond part of the timestamp (optional) - timestamp.tv_usec = ((partType == PART_TYPE_INT64) ? (__darwin_suseconds_t)value64 : (__darwin_suseconds_t)value32) * 1000; - break; - case PART_KEY_TIMESTAMP_US: // microsecond part of the timestamp (optional) - timestamp.tv_usec = (partType == PART_TYPE_INT64) ? (__darwin_suseconds_t)value64 : (__darwin_suseconds_t)value32; - break; - case PART_KEY_THREAD_ID: - if (thread == NULL) // useless test, we know what we're doing but clang analyzer doesn't... - { - if (partType == PART_TYPE_INT32) - thread = CFStringCreateWithFormat(NULL, NULL, CFSTR("thread 0x%08x"), value32); - else if (partType == PART_TYPE_INT64) - thread = CFStringCreateWithFormat(NULL, NULL, CFSTR("thread 0x%qx"), value64); - else if (partType == PART_TYPE_STRING && part != NULL) - thread = CFRetain(part); - } - break; - case PART_KEY_MESSAGE: - if (part != NULL) - { - if (partType == PART_TYPE_STRING) - message = CFRetain(part); - else if (partType == PART_TYPE_BINARY) - message = LoggerCreateStringRepresentationFromBinaryData(part); - } - contentsType = partType; - break; - case PART_KEY_IMAGE_WIDTH: - imgWidth = (partType == PART_TYPE_INT32 ? (int)value32 : (int)value64); - break; - case PART_KEY_IMAGE_HEIGHT: - imgHeight = (partType == PART_TYPE_INT32 ? (int)value32 : (int)value64); - break; - default: - break; - } - if (part != NULL) - CFRelease(part); - } - - // Prepare the final representation and log to console - CFMutableStringRef s = CFStringCreateMutable(NULL, 0); - - char buf[32]; - struct tm t; - gmtime_r(×tamp.tv_sec, &t); - strftime(buf, sizeof(buf)-1, "%T", &t); - CFStringRef ts = CFStringCreateWithBytesNoCopy( - NULL, - (const UInt8 *)buf, - (CFIndex)strlen(buf), - kCFStringEncodingASCII, - false, - kCFAllocatorNull); - CFStringAppend(s, ts); - CFRelease(ts); - - if (contentsType == PART_TYPE_IMAGE) - message = CFStringCreateWithFormat(NULL, NULL, CFSTR(""), imgWidth, imgHeight); - - buf[0] = 0; - if (thread != NULL && CFStringGetLength(thread) < 16) - { - int n = 16 - (int)CFStringGetLength(thread); - memset(buf, ' ', (size_t)n); - buf[n] = 0; - } - CFStringAppendFormat(s, NULL, CFSTR(".%04d %s%@ | %@"), - (int)(timestamp.tv_usec / 1000), - buf, (thread == NULL) ? CFSTR("") : thread, - (message != NULL) ? message : CFSTR("")); - - if (thread != NULL) - CFRelease(thread); - if (message != NULL) - CFRelease(message); - - if (type == LOGMSG_TYPE_LOG || type == LOGMSG_TYPE_MARK) - CFShow(s); - - CFRelease(s); -} - -static void LoggerWriteMoreData(Logger *logger) -{ - uint32_t logToConsole = (logger->options & kLoggerOption_LogToConsole); - - if (!logger->connected) - { - if (logToConsole) - { - pthread_mutex_lock(&logger->logQueueMutex); - while (CFArrayGetCount(logger->logQueue)) - { - LoggerLogToConsole((CFDataRef)CFArrayGetValueAtIndex(logger->logQueue, 0)); - CFArrayRemoveValueAtIndex(logger->logQueue, 0); - } - pthread_mutex_unlock(&logger->logQueueMutex); - pthread_cond_broadcast(&logger->logQueueEmpty); - } - else if (logger->bufferWriteStream != NULL) - { - LoggerFlushQueueToBufferStream(logger, NO); - } - else if (!(logger->options & kLoggerOption_BufferLogsUntilConnection)) - { - /* No client connected - * User don't want to log to console - * User don't want to log to file - * and user don't want us to buffer it in memory - * So let's just sack the whole queue - */ - pthread_mutex_lock(&logger->logQueueMutex); - while (CFArrayGetCount(logger->logQueue)) - { - CFArrayRemoveValueAtIndex(logger->logQueue, 0); - } - pthread_mutex_unlock(&logger->logQueueMutex); - pthread_cond_broadcast(&logger->logQueueEmpty); - } - return; - } - - if (CFWriteStreamCanAcceptBytes(logger->logStream)) - { - // prepare archived data with log queue contents, unblock the queue as soon as possible - CFMutableDataRef sendFirstItem = NULL; - if (logger->sendBufferUsed == 0) - { - // pull more data from the log queue - if (logger->bufferReadStream != NULL) - { - if (!CFReadStreamHasBytesAvailable(logger->bufferReadStream)) - { - CFReadStreamClose(logger->bufferReadStream); - CFRelease(logger->bufferReadStream); - logger->bufferReadStream = NULL; - LoggerEmptyBufferFile(logger); - } - else - { - logger->sendBufferUsed = (NSUInteger)CFReadStreamRead(logger->bufferReadStream, logger->sendBuffer, (CFIndex)logger->sendBufferSize); - } - } - else - { - pthread_mutex_lock(&logger->logQueueMutex); - while (CFArrayGetCount(logger->logQueue)) - { - CFDataRef d = (CFDataRef)CFArrayGetValueAtIndex(logger->logQueue, 0); - CFIndex dsize = CFDataGetLength(d); - if ((logger->sendBufferUsed + (NSUInteger)dsize) > logger->sendBufferSize) - break; - memcpy(logger->sendBuffer + logger->sendBufferUsed, CFDataGetBytePtr(d), (size_t)dsize); - logger->sendBufferUsed += (NSUInteger)dsize; - if (logToConsole) - LoggerLogToConsole(d); - CFArrayRemoveValueAtIndex(logger->logQueue, 0); - logger->incompleteSendOfFirstItem = NO; - } - pthread_mutex_unlock(&logger->logQueueMutex); - } - if (logger->sendBufferUsed == 0) - { - // are we done yet? - pthread_mutex_lock(&logger->logQueueMutex); - if (CFArrayGetCount(logger->logQueue) == 0) - { - pthread_mutex_unlock(&logger->logQueueMutex); - pthread_cond_broadcast(&logger->logQueueEmpty); - return; - } - - // first item is too big to fit in a single packet, send it separately - sendFirstItem = (CFMutableDataRef)CFArrayGetValueAtIndex(logger->logQueue, 0); - logger->incompleteSendOfFirstItem = YES; - pthread_mutex_unlock(&logger->logQueueMutex); - logger->sendBufferOffset = 0; - } - } - - // send data over the socket. We try hard to be failsafe and if we have to send - // data in fragments, we make sure that in case a disconnect occurs we restart - // sending the whole message(s) - if (logger->sendBufferUsed != 0) - { - CFIndex written = CFWriteStreamWrite(logger->logStream, - logger->sendBuffer + logger->sendBufferOffset, - (CFIndex)(logger->sendBufferUsed - logger->sendBufferOffset)); - if (written < 0) - { - // We'll get an event if the stream closes on error. Don't discard the data, - // it will be sent as soon as a connection is re-acquired. - LOGGERDBG(CFSTR("CFWriteStreamWrite got %d result"),written); - return; - } - if ((logger->sendBufferOffset + (NSUInteger)written) < logger->sendBufferUsed) - { - // everything couldn't be sent at once - logger->sendBufferOffset += (NSUInteger)written; - } - else - { - logger->sendBufferUsed = 0; - logger->sendBufferOffset = 0; - } - } - else if (sendFirstItem) - { - CFIndex length = CFDataGetLength(sendFirstItem) - (CFIndex)logger->sendBufferOffset; - CFIndex written = CFWriteStreamWrite(logger->logStream, - CFDataGetBytePtr(sendFirstItem) + logger->sendBufferOffset, - length); - if (written < 0) - { - // We'll get an event if the stream closes on error - return; - } - if (written < length) - { - // The output pipe is full, and the first item has not been sent completely - // We need to reduce the remaining data on the first item so it can be taken - // care of at the next iteration. We take advantage of the fact that each item - // in the queue is actually a mutable data block - // @@@ NOTE: IF WE GET DISCONNECTED WHILE DOING THIS, THINGS WILL GO WRONG - // NEED TO UPDATE THIS LOGIC - LOGGERDBG(CFSTR("Output pipe is full")); - CFDataReplaceBytes((CFMutableDataRef)sendFirstItem, CFRangeMake(0, written), NULL, 0); - return; - } - - // we are done sending the first item in the queue, remove it now - pthread_mutex_lock(&logger->logQueueMutex); - CFArrayRemoveValueAtIndex(logger->logQueue, 0); - logger->incompleteSendOfFirstItem = NO; - pthread_mutex_unlock(&logger->logQueueMutex); - logger->sendBufferOffset = 0; - } - - pthread_mutex_lock(&logger->logQueueMutex); - CFIndex remainingMsgs = CFArrayGetCount(logger->logQueue); - pthread_mutex_unlock(&logger->logQueueMutex); - if (remainingMsgs == 0) - pthread_cond_broadcast(&logger->logQueueEmpty); - } -} - -// ----------------------------------------------------------------------------- -#pragma mark - -#pragma mark Console logs redirection support -// ----------------------------------------------------------------------------- -static void LoggerLogFromConsole(NSString *tag, int fd, int outfd) -{ - const int BUFSIZE = 1000; - UInt8 buf[BUFSIZE]; - ssize_t bytes_read = 0; - while ((bytes_read = read(fd, buf, BUFSIZE-1)) > 0) - { - // output received data to the original fd - if (outfd != -1) - write(outfd, buf, (size_t)bytes_read); - - if (buf[bytes_read-1] == '\n') - --bytes_read; - - CFStringRef messageString = CFStringCreateWithBytes(NULL, buf, bytes_read, kCFStringEncodingUTF8, false); - if (messageString != NULL) - { - CFArrayRef array = CFStringCreateArrayBySeparatingStrings(NULL, messageString, CFSTR("\n")); - if (array != NULL) - { - pthread_mutex_lock(&consoleGrabbersMutex); - - CFIndex n = CFArrayGetCount(array); - for (CFIndex m = 0; m < n; m++) - { - CFStringRef msg = (CFStringRef)CFArrayGetValueAtIndex(array, m); - for (unsigned i = 0; i < consoleGrabbersListLength; i++) - { - if (consoleGrabbersList[i] != NULL) - LogMessageTo(consoleGrabbersList[i], tag, 0, @"%@", msg); - } - } - - pthread_mutex_unlock(&consoleGrabbersMutex); - - CFRelease(array); - } - CFRelease(messageString); - } - } -} - -static void *LoggerConsoleGrabThread(void *context) -{ -#pragma unused (context) - - int fdout = sConsolePipes[0]; - fcntl(fdout, F_SETFL, fcntl(fdout, F_GETFL, 0) | O_NONBLOCK); - - int fderr = sConsolePipes[2]; - fcntl(fderr, F_SETFL, fcntl(fderr, F_GETFL, 0) | O_NONBLOCK); - - while (numActiveConsoleGrabbers != 0) - { - fd_set set; - FD_ZERO(&set); - FD_SET(fdout, &set); - FD_SET(fderr, &set); - - int ret = select(fderr + 1, &set, NULL, NULL, NULL); - - if (ret <= 0) - { - // ==0: time expired without activity - // < 0: error occurred - break; - } - - if (FD_ISSET(fdout, &set)) - LoggerLogFromConsole(@"stdout", fdout, sSTDOUT); - if (FD_ISSET(fderr, &set )) - LoggerLogFromConsole(@"stderr", fderr, sSTDERR); - } - - return NULL; -} - -static void LoggerStartConsoleRedirection() -{ - // keep the original pipes so we can still forward everything - // (i.e. to the running IDE that needs to display or interpret console messages) - // and remember the SIGPIPE settings, as we are going to clear them to prevent - // the app from exiting when we close the pipes - if (sSTDOUT == -1) - { - sSTDOUThadSIGPIPE = fcntl(STDOUT_FILENO, F_GETNOSIGPIPE); - sSTDOUT = dup(STDOUT_FILENO); - sSTDERRhadSIGPIPE = fcntl(STDERR_FILENO, F_GETNOSIGPIPE); - sSTDERR = dup(STDERR_FILENO); - } - - // create the pipes - if (sConsolePipes[0] == -1) - { - if (pipe(sConsolePipes) != -1) - { - fcntl(sConsolePipes[0], F_SETNOSIGPIPE, 1); - fcntl(sConsolePipes[1], F_SETNOSIGPIPE, 1); - dup2(sConsolePipes[1], STDOUT_FILENO); - } - } - - if (sConsolePipes[2] == -1) - { - if (pipe(&sConsolePipes[2]) != -1) - { - fcntl(sConsolePipes[0], F_SETNOSIGPIPE, 1); - fcntl(sConsolePipes[1], F_SETNOSIGPIPE, 1); - dup2(sConsolePipes[3], STDERR_FILENO); - } - } - - pthread_create(&consoleGrabThread, NULL, &LoggerConsoleGrabThread, NULL); -} - -static void LoggerStopConsoleRedirection() -{ - // close the pipes - will force exiting the console logger thread - // assume the console grabber mutex has been acquired - dup2(sSTDOUT, STDOUT_FILENO); - dup2(sSTDERR, STDERR_FILENO); - - close(sSTDOUT); - close(sSTDERR); - - // restore sigpipe flag on standard streams - fcntl(STDOUT_FILENO, F_SETNOSIGPIPE, &sSTDOUThadSIGPIPE); - fcntl(STDERR_FILENO, F_SETNOSIGPIPE, &sSTDERRhadSIGPIPE); - - // close pipes, this will trigger an error in select() and a console grab thread exit - if (sConsolePipes[0] != -1) - { - close(sConsolePipes[0]); - close(sConsolePipes[1]); - sConsolePipes[0] = -1; - } - if (sConsolePipes[2] != -1) - { - close(sConsolePipes[2]); - close(sConsolePipes[1]); - } - sConsolePipes[0] = sConsolePipes[1] = sConsolePipes[2] = sConsolePipes[3] = -1; - - pthread_join(consoleGrabThread, NULL); -} - -static void LoggerStartGrabbingConsole(Logger *logger) -{ - if (!(logger->options & kLoggerOption_CaptureSystemConsole)) - return; - - pthread_mutex_lock(&consoleGrabbersMutex); - - Boolean added = FALSE; - for (unsigned i = 0; i < numActiveConsoleGrabbers; i++) - { - if (consoleGrabbersList[i] == NULL) - { - consoleGrabbersList[i] = logger; - numActiveConsoleGrabbers++; - added = TRUE; - break; - } - } - if (!added) - { - consoleGrabbersList = realloc(consoleGrabbersList, ++consoleGrabbersListLength * sizeof(Logger *)); - consoleGrabbersList[numActiveConsoleGrabbers++] = logger; - } - - LoggerStartConsoleRedirection(); // Start redirection if necessary - - pthread_mutex_unlock( &consoleGrabbersMutex ); -} - -static void LoggerStopGrabbingConsole(Logger *logger) -{ - if (numActiveConsoleGrabbers == 0) - return; - - pthread_mutex_lock(&consoleGrabbersMutex); - - for (unsigned grabberIndex = 0; grabberIndex < consoleGrabbersListLength; grabberIndex++) - { - if (consoleGrabbersList[grabberIndex] == logger) - { - consoleGrabbersList[grabberIndex] = NULL; - if (--numActiveConsoleGrabbers == 0) - { - consoleGrabbersListLength = 0; - free(consoleGrabbersList); - consoleGrabbersList = NULL; - LoggerStopConsoleRedirection(); - } - break; - } - } - - pthread_mutex_unlock(&consoleGrabbersMutex); -} - -// ----------------------------------------------------------------------------- -#pragma mark - -#pragma mark File buffering functions -// ----------------------------------------------------------------------------- -static void LoggerCreateBufferWriteStream(Logger *logger) -{ - LOGGERDBG(CFSTR("LoggerCreateBufferWriteStream to file %@"), logger->bufferFile); - CFURLRef fileURL = CFURLCreateWithFileSystemPath(NULL, logger->bufferFile, kCFURLPOSIXPathStyle, false); - if (fileURL != NULL) - { - // Create write stream to file - logger->bufferWriteStream = CFWriteStreamCreateWithFile(NULL, fileURL); - CFRelease(fileURL); - if (logger->bufferWriteStream != NULL) - { - // Set flag to append new data to buffer file - CFWriteStreamSetProperty(logger->bufferWriteStream, kCFStreamPropertyAppendToFile, kCFBooleanTrue); - - // Open the buffer stream for writing - if (!CFWriteStreamOpen(logger->bufferWriteStream)) - { - CFRelease(logger->bufferWriteStream); - logger->bufferWriteStream = NULL; - } - else - { - // Write client info and flush the queue contents to buffer file - LoggerPushClientInfoToFrontOfQueue(logger); - LoggerFlushQueueToBufferStream(logger, YES); - } - } - } - if (logger->bufferWriteStream == NULL) - { - CFShow(CFSTR("NSLogger Warning: failed opening buffer file for writing:")); - CFShow(logger->bufferFile); - } -} - -static void LoggerCreateBufferReadStream(Logger *logger) -{ - LOGGERDBG(CFSTR("LoggerCreateBufferReadStream from file %@"), logger->bufferFile); - CFURLRef fileURL = CFURLCreateWithFileSystemPath(NULL, logger->bufferFile, kCFURLPOSIXPathStyle, false); - if (fileURL != NULL) - { - // Create read stream from file - logger->bufferReadStream = CFReadStreamCreateWithFile(NULL, fileURL); - CFRelease(fileURL); - if (logger->bufferReadStream != NULL) - { - if (!CFReadStreamOpen(logger->bufferReadStream)) - { - CFRelease(logger->bufferReadStream); - logger->bufferReadStream = NULL; - } - } - } -} - -static void LoggerEmptyBufferFile(Logger *logger) -{ - // completely remove the buffer file from storage - LOGGERDBG(CFSTR("LoggerEmptyBufferFile %@"), logger->bufferFile); - if (logger->bufferFile != NULL) - { - CFIndex bufferSize = 1 + CFStringGetLength(logger->bufferFile) * 3; - char *buffer = (char *)malloc((size_t)bufferSize); - if (buffer != NULL) - { - if (CFStringGetFileSystemRepresentation(logger->bufferFile, buffer, bufferSize)) - { - // remove file - unlink(buffer); - } - free(buffer); - } - } -} - -static void LoggerFileBufferingOptionsChanged(Logger *logger) -{ - // File buffering options changed (callback called on logger thread): - // - close the current buffer file stream, if any - // - create a new one, if needed - LOGGERDBG(CFSTR("LoggerFileBufferingOptionsChanged bufferFile=%@"), logger->bufferFile); - if (logger->bufferWriteStream != NULL) - { - CFWriteStreamClose(logger->bufferWriteStream); - CFRelease(logger->bufferWriteStream); - logger->bufferWriteStream = NULL; - } - if (logger->bufferFile != NULL) - LoggerCreateBufferWriteStream(logger); -} - -static void LoggerFlushQueueToBufferStream(Logger *logger, BOOL firstEntryIsClientInfo) -{ - LOGGERDBG(CFSTR("LoggerFlushQueueToBufferStream")); - pthread_mutex_lock(&logger->logQueueMutex); - if (logger->incompleteSendOfFirstItem) - { - // drop anything being sent - logger->sendBufferUsed = 0; - logger->sendBufferOffset = 0; - } - logger->incompleteSendOfFirstItem = NO; - - // Write outstanding messages to the buffer file (streams don't detect disconnection - // until the next write, where we could lose one or more messages) - if (!firstEntryIsClientInfo && logger->sendBufferUsed) - CFWriteStreamWrite(logger->bufferWriteStream, logger->sendBuffer + logger->sendBufferOffset, (CFIndex)(logger->sendBufferUsed - logger->sendBufferOffset)); - - int n = 0; - while (CFArrayGetCount(logger->logQueue)) - { - CFDataRef data = CFArrayGetValueAtIndex(logger->logQueue, 0); - CFIndex dataLength = CFDataGetLength(data); - CFIndex written = CFWriteStreamWrite(logger->bufferWriteStream, CFDataGetBytePtr(data), dataLength); - if (written != dataLength) - { - // couldn't write all data to file, maybe storage run out of space? - CFShow(CFSTR("NSLogger Error: failed flushing the whole queue to buffer file:")); - CFShow(logger->bufferFile); - break; - } - CFArrayRemoveValueAtIndex(logger->logQueue, 0); - if (n == 0 && firstEntryIsClientInfo && logger->sendBufferUsed) - { - // try hard: write any outstanding messages to the buffer file, after the client info - CFWriteStreamWrite(logger->bufferWriteStream, logger->sendBuffer + logger->sendBufferOffset, (CFIndex)(logger->sendBufferUsed - logger->sendBufferOffset)); - } - n++; - } - logger->sendBufferUsed = 0; - logger->sendBufferOffset = 0; - pthread_mutex_unlock(&logger->logQueueMutex); - pthread_cond_broadcast(&logger->logQueueEmpty); -} - -// ----------------------------------------------------------------------------- -#pragma mark - -#pragma mark Bonjour browsing -// ----------------------------------------------------------------------------- -static void LoggerStartBonjourBrowsing(Logger *logger) -{ - if (!logger->targetReachable || - logger->bonjourDomainBrowser != NULL || - !(logger->options & kLoggerOption_BrowseBonjour)) - return; - - LOGGERDBG(CFSTR("LoggerStartBonjourBrowsing")); - - if (logger->options & kLoggerOption_BrowseOnlyLocalDomain) - { - LOGGERDBG(CFSTR("Logger configured to search only the local domain, searching for services on: local.")); - if (!LoggerBrowseBonjourForServices(logger, CFSTR("local.")) && logger->host == NULL) - { - LOGGERDBG(CFSTR("*** Logger: could not browse for services in domain local., no remote host configured: reverting to console logging. ***")); - logger->options |= kLoggerOption_LogToConsole; - } - } - else - { - LOGGERDBG(CFSTR("Logger configured to search all domains, browsing for domains first")); - CFNetServiceClientContext context = {0, (void *)logger, NULL, NULL, NULL}; - CFRunLoopRef runLoop = CFRunLoopGetCurrent(); - logger->bonjourDomainBrowser = CFNetServiceBrowserCreate(NULL, &LoggerServiceBrowserCallBack, &context); - CFNetServiceBrowserScheduleWithRunLoop(logger->bonjourDomainBrowser, runLoop, kCFRunLoopCommonModes); - if (!CFNetServiceBrowserSearchForDomains(logger->bonjourDomainBrowser, false, NULL)) - { - // An error occurred, revert to console logging if there is no remote host - LOGGERDBG(CFSTR("*** Logger: could not browse for domains, reverting to console logging. ***")); - CFNetServiceBrowserUnscheduleFromRunLoop(logger->bonjourDomainBrowser, runLoop, kCFRunLoopCommonModes); - CFRelease(logger->bonjourDomainBrowser); - logger->bonjourDomainBrowser = NULL; - if (logger->host == NULL) - logger->options |= kLoggerOption_LogToConsole; - } - } -} - -static void LoggerStopBonjourBrowsing(Logger *logger) -{ - LOGGERDBG(CFSTR("LoggerStopBonjourBrowsing")); - - // stop browsing for domains - if (logger->bonjourDomainBrowser != NULL) - { - CFNetServiceBrowserStopSearch(logger->bonjourDomainBrowser, NULL); - CFNetServiceBrowserUnscheduleFromRunLoop(logger->bonjourDomainBrowser, CFRunLoopGetCurrent(), kCFRunLoopCommonModes); - CFNetServiceBrowserInvalidate(logger->bonjourDomainBrowser); - CFRelease(logger->bonjourDomainBrowser); - logger->bonjourDomainBrowser = NULL; - } - - // stop browsing for services - CFIndex idx; - for (idx = 0; idx < CFArrayGetCount(logger->bonjourServiceBrowsers); idx++) - { - CFNetServiceBrowserRef browser = (CFNetServiceBrowserRef)CFArrayGetValueAtIndex(logger->bonjourServiceBrowsers, idx); - CFNetServiceBrowserStopSearch(browser, NULL); - CFNetServiceBrowserUnscheduleFromRunLoop(browser, CFRunLoopGetCurrent(), kCFRunLoopCommonModes); - CFNetServiceBrowserInvalidate(browser); - } - CFArrayRemoveAllValues(logger->bonjourServiceBrowsers); - - // Forget all services - CFArrayRemoveAllValues(logger->bonjourServices); -} - -static BOOL LoggerBrowseBonjourForServices(Logger *logger, CFStringRef domainName) -{ - BOOL result = NO; - CFNetServiceClientContext context = {0, (void *)logger, NULL, NULL, NULL}; - CFRunLoopRef runLoop = CFRunLoopGetCurrent(); - - CFNetServiceBrowserRef browser = CFNetServiceBrowserCreate(NULL, (CFNetServiceBrowserClientCallBack)&LoggerServiceBrowserCallBack, &context); - CFNetServiceBrowserScheduleWithRunLoop(browser, runLoop, kCFRunLoopCommonModes); - CFStreamError error; - - // try to use the user-specfied service type if any, fallback on our - // default service type - CFStringRef serviceType = logger->bonjourServiceType; - if (serviceType == NULL) - { - if (logger->options & kLoggerOption_UseSSL) - serviceType = LOGGER_SERVICE_TYPE_SSL; - else - serviceType = LOGGER_SERVICE_TYPE; - } - if (!CFNetServiceBrowserSearchForServices(browser, domainName, serviceType, &error)) - { - LOGGERDBG(CFSTR("Logger can't start search on domain: %@ (error %d)"), domainName, error.error); - CFNetServiceBrowserUnscheduleFromRunLoop(browser, runLoop, kCFRunLoopCommonModes); - CFNetServiceBrowserInvalidate(browser); - } - else - { - LOGGERDBG(CFSTR("Logger started search for services of type %@ in domain %@"), serviceType, domainName); - CFArrayAppendValue(logger->bonjourServiceBrowsers, browser); - result = YES; - } - CFRelease(browser); - return result; -} - -static void LoggerServiceBrowserCallBack (CFNetServiceBrowserRef browser, - CFOptionFlags flags, - CFTypeRef domainOrService, - CFStreamError* error, - void* info) -{ -#pragma unused (browser) -#pragma unused (error) - LOGGERDBG(CFSTR("LoggerServiceBrowserCallback browser=%@ flags=0x%04x domainOrService=%@ error=%d"), browser, flags, domainOrService, error==NULL ? 0 : error->error); - - Logger *logger = (Logger *)info; - assert(logger != NULL); - - if (flags & kCFNetServiceFlagRemove) - { - if (!(flags & kCFNetServiceFlagIsDomain)) - { - CFNetServiceRef service = (CFNetServiceRef)domainOrService; - CFIndex idx; - for (idx = 0; idx < CFArrayGetCount(logger->bonjourServices); idx++) - { - if (CFArrayGetValueAtIndex(logger->bonjourServices, idx) == service) - { - CFNetServiceUnscheduleFromRunLoop(service, CFRunLoopGetCurrent(), kCFRunLoopCommonModes); - CFNetServiceClientContext context = {0, NULL, NULL, NULL, NULL}; - CFNetServiceSetClient(service, NULL, &context); - CFNetServiceCancel(service); - CFArrayRemoveValueAtIndex(logger->bonjourServices, idx); - break; - } - } - } - } - else - { - if (flags & kCFNetServiceFlagIsDomain) - { - // start searching for services in this domain - LoggerBrowseBonjourForServices(logger, (CFStringRef)domainOrService); - } - else - { - // a service has been found - LOGGERDBG(CFSTR("Logger found service: %@"), domainOrService); - CFNetServiceRef service = (CFNetServiceRef)domainOrService; - if (service != NULL) - { - // if the user has specified that Logger shall only connect to the specified - // Bonjour service name, check it now. This makes things easier in a teamwork - // environment where multiple instances of NSLogger viewer may run on the - // same network - if (logger->bonjourServiceName != NULL) - { - LOGGERDBG(CFSTR("-> looking for services of name %@"), logger->bonjourServiceName); - CFStringRef name = CFNetServiceGetName(service); - if (name == NULL || kCFCompareEqualTo != CFStringCompare(name, logger->bonjourServiceName, kCFCompareCaseInsensitive | kCFCompareDiacriticInsensitive)) - { - LOGGERDBG(CFSTR("-> service name %@ does not match requested service name, ignoring."), name, logger->bonjourServiceName); - return; - } - } - else - { - // If the desktop viewer we found requested that only clients looking for its name can connect, - // honor the request and do not connect. This helps with teams having multiple devices and multiple - // desktops with NSLogger installed to avoid unwanted logs coming to a specific viewer - // To indicate that the desktop only wants clients that are looking for its specific name, - // the desktop sets the TXT record to be a dictionary containing the @"filterClients" key with value @"1" - CFDataRef txtData = CFNetServiceGetTXTData(service); - if (txtData != NULL) - { - CFDictionaryRef txtDict = CFNetServiceCreateDictionaryWithTXTData(NULL, txtData); - if (txtDict != NULL) - { - const void *value = CFDictionaryGetValue(txtDict, CFSTR("filterClients")); - Boolean mismatch = (value != NULL && - CFGetTypeID((CFTypeRef)value) == CFStringGetTypeID() && - CFStringCompare((CFStringRef)value, CFSTR("1"), 0) != kCFCompareEqualTo); - CFRelease(txtDict); - if (mismatch) - { - LOGGERDBG(CFSTR("-> service %@ requested that only clients looking for it do connect."), name, logger->bonjourServiceName); - return; - } - } - } - } - CFArrayAppendValue(logger->bonjourServices, service); - LoggerTryConnect(logger); - } - } - } -} - -// ----------------------------------------------------------------------------- -#pragma mark - -#pragma mark Reachability & Connectivity Management -// ----------------------------------------------------------------------------- -static void LoggerRemoteSettingsChanged(Logger *logger) -{ - // this is a callback for a runloop source, called on the logger thread - - // Always terminate any ongoing connection first - LoggerWriteStreamTerminated(logger); - - if (logger->host == NULL && !(logger->options & kLoggerOption_BrowseBonjour)) - { - // developer doesn't want any network connection - LoggerStopBonjourBrowsing(logger); - LoggerStopReconnectTimer(logger); - LoggerStopReachabilityChecking(logger); - } - else - { - // we may already have Reachability or Bonjour browsing running, - // the calls do nothing if they are not needed - LoggerStartReachabilityChecking(logger); - if (logger->targetReachable) - { - if (logger->options & kLoggerOption_BrowseBonjour) - LoggerStartBonjourBrowsing(logger); - else - LoggerStopBonjourBrowsing(logger); - } - LoggerTryConnect(logger); - } -} - -static void LoggerStartReachabilityChecking(Logger *logger) -{ - if (logger->reachability == NULL) - { - if (logger->host != NULL) - { - // reachability targeted to the configured host - LOGGERDBG(CFSTR("Starting SCNetworkReachability to wait for host %@ to be reachable"), logger->host); - CFIndex length = CFStringGetLength(logger->host) * 3; - char *buffer = (char *)malloc((size_t)length + 1); - CFStringGetBytes(logger->host, CFRangeMake(0, CFStringGetLength(logger->host)), kCFStringEncodingUTF8, '?', false, (UInt8 *)buffer, length, &length); - buffer[length] = 0; - - logger->reachability = SCNetworkReachabilityCreateWithName(NULL, buffer); - - free(buffer); - } - else - { - // reachability for generic connection to the internet - LOGGERDBG(CFSTR("Starting SCNetworkReachability to wait for internet to be reachable"), logger->host); - struct sockaddr_in addr; - bzero(&addr, sizeof(addr)); - addr.sin_len = (__uint8_t) sizeof(addr); - addr.sin_family = AF_INET; - - logger->reachability = SCNetworkReachabilityCreateWithAddress(NULL, (const struct sockaddr *)&addr); - } - - SCNetworkReachabilityContext context = {0, logger, NULL, NULL, NULL}; - SCNetworkReachabilitySetCallback(logger->reachability, &LoggerReachabilityCallBack, &context); - SCNetworkReachabilityScheduleWithRunLoop(logger->reachability, CFRunLoopGetCurrent(), kCFRunLoopCommonModes); - - // arm the callback - if (SCNetworkReachabilityGetFlags(logger->reachability, &logger->reachabilityFlags)) - LoggerReachabilityCallBack(logger->reachability, logger->reachabilityFlags, logger); - } -} - -static void LoggerStopReachabilityChecking(Logger *logger) -{ - if (logger->reachability != NULL) - { - LOGGERDBG(CFSTR("Stopping SCNetworkReachability")); - SCNetworkReachabilityUnscheduleFromRunLoop(logger->reachability, CFRunLoopGetCurrent(), kCFRunLoopCommonModes); - CFRelease((CFTypeRef)logger->reachability); - logger->reachability = NULL; - } - LoggerStopReconnectTimer(logger); - logger->targetReachable = NO; -} - -static void LoggerReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReachabilityFlags flags, void *info) -{ -#pragma unused (target) - Logger *logger = (Logger *)info; - - LOGGERDBG(CFSTR("LoggerReachabilityCallBack called with flags=0x%08lx"), flags); - - SCNetworkReachabilityFlags oldFlags = logger->reachabilityFlags; - logger->reachabilityFlags = flags; - - if (flags & kSCNetworkReachabilityFlagsReachable) - { - // target host or internet became reachable - LOGGERDBG(CFSTR("-> target became reachable")); - logger->targetReachable = YES; - - // in the event a network transition occurred without network loss (i.e. WiFi -> 3G), - // preemptively disconnect. In many cases, if the network stays up, we will never receive - // a disconnection (possibly due to SSH ?) - if (flags != oldFlags && logger->logStream != NULL) - LoggerWriteStreamTerminated(logger); - else - LoggerTryConnect(logger); // will start Bonjour browsing if needed - } - else if (logger->connected || logger->logStream != NULL) - { - // lost internet connecton. Force a disconnect, we'll wait for the connection to become - // available again - LOGGERDBG(CFSTR("-> target became unreachable")); - logger->targetReachable = NO; - if (flags != oldFlags && logger->logStream != NULL) - LoggerWriteStreamTerminated(logger); - LoggerStopBonjourBrowsing(logger); - LoggerStopReconnectTimer(logger); - } -} - -static void LoggerStartReconnectTimer(Logger *logger) -{ - // start a timer that will try to reconnect every 5 seconds - if (logger->reconnectTimer == NULL && (logger->host != NULL || (logger->options & kLoggerOption_BrowseBonjour))) - { - LOGGERDBG(CFSTR("Starting the reconnect timer")); - CFRunLoopTimerContext timerCtx = { - .version = 0, - .info = logger, - .retain = NULL, - .release = NULL, - .copyDescription = NULL - }; - logger->reconnectTimer = CFRunLoopTimerCreate(NULL, - CFAbsoluteTimeGetCurrent() + 5, - 5, // reconnect interval - 0, - 0, - &LoggerTimedReconnectCallback, - &timerCtx); - if (logger->reconnectTimer != NULL) - { - LOGGERDBG(CFSTR("Starting the TimedReconnect timer to regularly retry the connection")); - CFRunLoopAddTimer(CFRunLoopGetCurrent(), logger->reconnectTimer, kCFRunLoopCommonModes); - } - } -} - -static void LoggerStopReconnectTimer(Logger *logger) -{ - if (logger->reconnectTimer != NULL) - { - LOGGERDBG(CFSTR("Stopping the reconnect timer")); - CFRunLoopTimerInvalidate(logger->reconnectTimer); - CFRunLoopRemoveTimer(CFRunLoopGetCurrent(), logger->reconnectTimer, kCFRunLoopCommonModes); - CFRelease(logger->reconnectTimer); - logger->reconnectTimer = NULL; - } -} - -static void LoggerTimedReconnectCallback(CFRunLoopTimerRef timer, void *info) -{ -#pragma unused (timer) - Logger *logger = (Logger *)info; - assert(logger != NULL); - LOGGERDBG(CFSTR("LoggerTimedReconnectCallback")); - if (logger->logStream == NULL) - { - LOGGERDBG(CFSTR("-> trying to reconnect to host %@"), logger->host); - LoggerTryConnect(logger); - } - else - { - LOGGERDBG(CFSTR("-> timer not needed anymore, removing it form runloop")); - LoggerStopReconnectTimer(logger); - } -} - -// ----------------------------------------------------------------------------- -#pragma mark - -#pragma mark Stream management -// ----------------------------------------------------------------------------- -static BOOL LoggerConfigureAndOpenStream(Logger *logger) -{ - // configure and open stream - LOGGERDBG(CFSTR("LoggerConfigureAndOpenStream configuring and opening log stream")); - CFStreamClientContext context = {0, (void *)logger, NULL, NULL, NULL}; - if (CFWriteStreamSetClient(logger->logStream, - (kCFStreamEventOpenCompleted | - kCFStreamEventCanAcceptBytes | - kCFStreamEventErrorOccurred | - kCFStreamEventEndEncountered), - &LoggerWriteStreamCallback, - &context)) - { - if (logger->options & kLoggerOption_UseSSL) - { - // Configure stream to require a SSL connection - LOGGERDBG(CFSTR("-> configuring SSL")); - const void *SSLKeys[] = { - kCFStreamSSLLevel, - kCFStreamSSLValidatesCertificateChain, - kCFStreamSSLIsServer, - kCFStreamSSLPeerName - }; - const void *SSLValues[] = { - kCFStreamSocketSecurityLevelNegotiatedSSL, - kCFBooleanFalse, // no certificate chain validation (we use a self-signed certificate) - kCFBooleanFalse, // not a server - kCFNull - }; - -#if TARGET_OS_IPHONE - // workaround for TLS in iOS 5 as per TN2287 - // see http://developer.apple.com/library/ios/#technotes/tn2287/_index.html#//apple_ref/doc/uid/DTS40011309 - // if we are running iOS 5 or later, use a special mode that allows the stack to downgrade gracefully - #if ALLOW_COCOA_USE - @autoreleasepool { - NSString *versionString = [[UIDevice currentDevice] systemVersion]; - if ([versionString compare:@"5.0" options:NSNumericSearch] != NSOrderedAscending) - SSLValues[0] = CFSTR("kCFStreamSocketSecurityLevelTLSv1_0SSLv3"); - } - #else - // we can't find out, assume we _may_ be on iOS 5 but can't be certain - // go for SSLv3 which works without the TLS 1.2 / 1.1 / 1.0 downgrade issue - SSLValues[0] = kCFStreamSocketSecurityLevelSSLv3; - #endif -#endif - - CFDictionaryRef SSLDict = CFDictionaryCreate(NULL, SSLKeys, SSLValues, 4, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks); - CFWriteStreamSetProperty(logger->logStream, kCFStreamPropertySSLSettings, SSLDict); - CFRelease(SSLDict); - } - - CFWriteStreamScheduleWithRunLoop(logger->logStream, CFRunLoopGetCurrent(), kCFRunLoopCommonModes); - - if (CFWriteStreamOpen(logger->logStream)) - { - LOGGERDBG(CFSTR("-> stream open attempt, waiting for open completion")); - return YES; - } - - LOGGERDBG(CFSTR("-> stream open failed.")); - - CFWriteStreamSetClient(logger->logStream, kCFStreamEventNone, NULL, NULL); - if (CFWriteStreamGetStatus(logger->logStream) == kCFStreamStatusOpen) - CFWriteStreamClose(logger->logStream); - CFWriteStreamUnscheduleFromRunLoop(logger->logStream, CFRunLoopGetCurrent(), kCFRunLoopCommonModes); - } - else - { - LOGGERDBG(CFSTR("-> stream set client failed.")); - } - CFRelease(logger->logStream); - logger->logStream = NULL; - return NO; -} - -static void LoggerTryConnect(Logger *logger) -{ - // Core function that attempts connection to found Bonjour services and configured Host - LOGGERDBG(CFSTR("LoggerTryConnect, %d services registered, current stream=%@"), CFArrayGetCount(logger->bonjourServices), logger->logStream); - - // If we already have a connection established or being attempted, stop here - if (logger->logStream != NULL) - { - LOGGERDBG(CFSTR("-> another connection is opened or in progress, giving up for now")); - return; - } - - // If reachability status is not known yet, just wait - if (logger->targetReachable == NO) - { - LOGGERDBG(CFSTR("-> not sure target is reachable, let's wait and see")); - return; - } - - // If there are discovered Bonjour services, try them now - while (CFArrayGetCount(logger->bonjourServices)) - { - CFNetServiceRef service = (CFNetServiceRef)CFArrayGetValueAtIndex(logger->bonjourServices, 0); - LOGGERDBG(CFSTR("-> Trying to open write stream to service %@"), service); - CFStreamCreatePairWithSocketToNetService(NULL, service, NULL, &logger->logStream); - CFArrayRemoveValueAtIndex(logger->bonjourServices, 0); - if (logger->logStream == NULL) - { - // create pair failed - LOGGERDBG(CFSTR("-> failed.")); - } - else if (LoggerConfigureAndOpenStream(logger)) - { - // open is now in progress - return; - } - } - - // If there is a host to directly connect to, try it now (this will happen before - // Bonjour kicks in, Bonjour being handled as a fallback solution if direct Host - // fails) - if (logger->host != NULL) - { - LOGGERDBG(CFSTR("-> Trying to open direct connection to host %@ port %u"), logger->host, logger->port); - CFStreamCreatePairWithSocketToHost(NULL, logger->host, logger->port, NULL, &logger->logStream); - if (logger->logStream == NULL) - { - // Create stream failed - LOGGERDBG(CFSTR("-> failed.")); - if (logger->logStream != NULL) - { - CFRelease(logger->logStream); - logger->logStream = NULL; - } - } - else if (LoggerConfigureAndOpenStream(logger)) - { - // open is now in progress - return; - } - LoggerStartReconnectTimer(logger); - } - - // Finally, if Bonjour is enabled and not started yet, start it now. - if (logger->options & kLoggerOption_BrowseBonjour) - { - if (logger->bonjourDomainBrowser == NULL || CFArrayGetCount(logger->bonjourServiceBrowsers) == 0) - { - LoggerStopBonjourBrowsing(logger); - LoggerStartBonjourBrowsing(logger); - } - } -} - -static void LoggerWriteStreamTerminated(Logger *logger) -{ - LOGGERDBG(CFSTR("LoggerWriteStreamTerminated called")); - - if (logger->connected) - { - LOGGERDBG(CFSTR("-> Logger DISCONNECTED")); - logger->connected = NO; - } - - if (logger->logStream != NULL) - { - LOGGERDBG(CFSTR("-> disposing the write stream")); - CFWriteStreamSetClient(logger->logStream, 0, NULL, NULL); - CFWriteStreamUnscheduleFromRunLoop(logger->logStream, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode); - CFWriteStreamClose(logger->logStream); - - CFRelease(logger->logStream); - logger->logStream = NULL; - } - - if (logger->bufferReadStream != NULL) - { - // In the case the connection drops before we have flushed the - // whole contents of the file, we choose to keep it integrally - // and retransmit it when reconnecting to the viewer. The reason - // of this choice is that we may have transmitted only part of - // a message, and this may cause errors on the desktop side. - LOGGERDBG(CFSTR("-> closing the bufferReadStream")); - CFReadStreamClose(logger->bufferReadStream); - CFRelease(logger->bufferReadStream); - logger->bufferReadStream = NULL; - } - - if (logger->bufferFile != NULL && logger->bufferWriteStream == NULL) - LoggerCreateBufferWriteStream(logger); - - // ensure that any current block on LoggerFlush() gets unblocked - pthread_cond_broadcast(&logger->logQueueEmpty); - - // tryConnect will take care of setting up the reconnect timer if needed - if (logger->targetReachable && - (logger->host != NULL || (logger->options & kLoggerOption_BrowseBonjour))) - LoggerTryConnect(logger); -} - -static void LoggerWriteStreamCallback(CFWriteStreamRef ws, CFStreamEventType event, void* info) -{ - Logger *logger = (Logger *)info; - assert(ws == logger->logStream); - switch (event) - { - case kCFStreamEventOpenCompleted: - // A stream open was complete. Cancel all bonjour browsing, - // service resolution and connection attempts, and try to - // write existing buffer contents - LOGGERDBG(CFSTR("Logger CONNECTED")); - logger->connected = YES; - LoggerStopBonjourBrowsing(logger); - LoggerStopReconnectTimer(logger); - if (logger->bufferWriteStream != NULL) - { - // now that a connection is acquired, we can stop logging to a file - CFWriteStreamClose(logger->bufferWriteStream); - CFRelease(logger->bufferWriteStream); - logger->bufferWriteStream = NULL; - } - if (logger->bufferFile != NULL) - { - // if a buffer file was defined, try to read its contents - LoggerCreateBufferReadStream(logger); - } - LoggerPushClientInfoToFrontOfQueue(logger); - LoggerWriteMoreData(logger); - break; - - case kCFStreamEventCanAcceptBytes: - LoggerWriteMoreData(logger); - break; - - case kCFStreamEventErrorOccurred: { - CFErrorRef error = CFWriteStreamCopyError(ws); - LOGGERDBG(CFSTR("Logger stream error: %@"), error); - CFRelease(error); - // Fall-thru - } - - case kCFStreamEventEndEncountered: - LoggerWriteStreamTerminated(logger); - break; - - // avoid warnings when building; cover all enum cases. - case kCFStreamEventNone: - case kCFStreamEventHasBytesAvailable: - break; - } -} - -// ----------------------------------------------------------------------------- -#pragma mark - -#pragma mark Internal encoding functions -// ----------------------------------------------------------------------------- -static uint8_t *LoggerMessagePrepareForPart(CFMutableDataRef encoder, uint32_t requiredExtraBytes) -{ - // Ensure a data block has the required storage capacity, update the total size and part count - // then return a pointer for fast storage of the data - uint8_t *p = CFDataGetMutableBytePtr(encoder); - CFIndex size = CFDataGetLength(encoder); - uint32_t oldSize = ntohl(*(uint32_t *)p); - uint32_t newSize = oldSize + requiredExtraBytes; - if ((newSize + 4) > size) - { - // grow by 64 bytes chunks - CFDataSetLength(encoder, (newSize + 4 + 64) & ~63); - p = CFDataGetMutableBytePtr(encoder); - } - *((uint32_t *)p) = htonl(newSize); - p += 4; - *((uint16_t *)p) = htons(ntohs(*(uint16_t *)p) + 1); - - // return a pointer to where new data must be put - return p + oldSize; -} - -static void LoggerMessageAddTimestamp(CFMutableDataRef encoder) -{ - struct timeval t; - if (gettimeofday(&t, NULL) == 0) - { -#if __LP64__ - LoggerMessageAddInt64(encoder, t.tv_sec, PART_KEY_TIMESTAMP_S); - LoggerMessageAddInt64(encoder, t.tv_usec, PART_KEY_TIMESTAMP_US); -#else - LoggerMessageAddInt32(encoder, t.tv_sec, PART_KEY_TIMESTAMP_S); - LoggerMessageAddInt32(encoder, t.tv_usec, PART_KEY_TIMESTAMP_US); -#endif - } - else - { - time_t ts = time(NULL); -#if __LP64__ - LoggerMessageAddInt64(encoder, ts, PART_KEY_TIMESTAMP_S); -#else - LoggerMessageAddInt32(encoder, ts, PART_KEY_TIMESTAMP_S); -#endif - } -} - -static void LoggerMessageAddTimestampAndThreadID(CFMutableDataRef encoder) -{ - LoggerMessageAddTimestamp(encoder); - - BOOL hasThreadName = NO; -#if ALLOW_COCOA_USE - // Getting the thread number is tedious, to say the least. Since there is - // no direct way to get it, we have to do it sideways. Note that it can be dangerous - // to use any Cocoa call when in a multithreaded application that only uses non-Cocoa threads - // and for which Cocoa's multithreading has not been activated. We test for this case. - BOOL inMainThread = [NSThread isMainThread]; - if (inMainThread) - { - hasThreadName = YES; - LoggerMessageAddString(encoder, CFSTR("Main thread"), PART_KEY_THREAD_ID); - } - else if ([NSThread isMultiThreaded]) - { - NSThread *thread = [NSThread currentThread]; - NSString *name = [thread name]; - if (![name length]) - { - // use the thread dictionary to store and retrieve the computed thread name - NSMutableDictionary *threadDict = [thread threadDictionary]; - name = [threadDict objectForKey:@"__$NSLoggerThreadName$__"]; - if (name == nil) - { - @autoreleasepool { - // optimize CPU use by computing the thread name once and storing it back - // in the thread dictionary - name = [thread description]; - NSRange range = [name rangeOfString:@"num = "]; - if (range.location != NSNotFound) - { - name = [NSString stringWithFormat:@"Thread %@", - [name substringWithRange:NSMakeRange(range.location + range.length, - [name length] - range.location - range.length - 1)]]; - [threadDict setObject:name forKey:@"__$NSLoggerThreadName$__"]; - } - } - } - } - if (name != nil) - { - LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)name, PART_KEY_THREAD_ID); - hasThreadName = YES; - } - } -#endif - if (!hasThreadName) - { -#if __LP64__ - LoggerMessageAddInt64(encoder, (int64_t)pthread_self(), PART_KEY_THREAD_ID); -#else - LoggerMessageAddInt32(encoder, (int32_t)pthread_self(), PART_KEY_THREAD_ID); -#endif - } -} - -static CFMutableDataRef LoggerMessageCreate(int32_t seq) -{ - CFMutableDataRef encoder = CFDataCreateMutable(NULL, 0); - if (encoder != NULL) - { - CFDataIncreaseLength(encoder, 64); - uint8_t *p = CFDataGetMutableBytePtr(encoder); - if (p != NULL) - { - // directly write the sequence number as first part of the message - // so we find it quickly when inserting new messages in the queue - if (seq) - { - p[3] = 8; // size 0x00000008 in big endian - p[5] = 1; // part count 0x0001 - p[6] = (uint8_t)PART_KEY_MESSAGE_SEQ; - p[7] = (uint8_t)PART_TYPE_INT32; - *(uint32_t *)(p + 8) = htonl(seq); // ARMv6 and later, x86 processors do just fine with unaligned accesses - } - else - { - // empty message with a 0 part count - p[3] = 2; - } - } - LoggerMessageAddTimestampAndThreadID(encoder); - } - return encoder; -} - -static void LoggerMessageFinalize(CFMutableDataRef encoder) -{ - // Finalize a message by reducing the CFData size to the actual used size - if (encoder != NULL) - { - uint32_t *p = (uint32_t *)CFDataGetBytePtr(encoder); - if (p != NULL) - CFDataSetLength(encoder, ntohl(*p) + 4); - } -} - -static void LoggerMessageAddInt32(CFMutableDataRef encoder, int32_t anInt, int key) -{ - uint8_t *p = LoggerMessagePrepareForPart(encoder, 6); - if (p != NULL) - { - *p++ = (uint8_t)key; - *p++ = (uint8_t)PART_TYPE_INT32; - *(uint32_t *)p = htonl(anInt); // ARMv6 and later, x86 processors do just fine with unaligned accesses - } -} - -#if __LP64__ -static void LoggerMessageAddInt64(CFMutableDataRef encoder, int64_t anInt, int key) -{ - uint8_t *p = LoggerMessagePrepareForPart(encoder, 10); - if (p != NULL) - { - *p++ = (uint8_t)key; - *p++ = (uint8_t)PART_TYPE_INT64; - uint32_t *q = (uint32_t *)p; - *q++ = htonl((uint32_t)(anInt >> 32)); // ARMv6 and later, x86 processors do just fine with unaligned accesses - *q = htonl((uint32_t)anInt); - } -} -#endif - -static void LoggerMessageAddCString(CFMutableDataRef data, const char *aString, int key) -{ - if (aString == NULL || *aString == 0) - return; - - // convert to UTF-8 - int len = (int)strlen(aString); - uint8_t *buf = malloc((size_t)(2 * len)); - if (buf != NULL) - { - int i, n = 0; - for (i = 0; i < len; i++) - { - uint8_t c = (uint8_t)(*aString++); - if (c < 0x80) - buf[n++] = c; - else { - buf[n++] = 0xC0 | (c >> 6); - buf[n++] = (c & 0x6F) | 0x80; - } - } - if (n) - { - uint8_t *p = LoggerMessagePrepareForPart(data, (uint32_t)n+6); - if (p != NULL) - { - *p++ = (uint8_t)key; - *p++ = (uint8_t)PART_TYPE_STRING; - *(uint32_t *)p = htonl(n); // ARMv6 and later, x86 processors do just fine with unaligned accesses - memcpy(p + 4, buf, (size_t)n); - } - } - free(buf); - } -} - -static void LoggerMessageAddString(CFMutableDataRef encoder, CFStringRef aString, int key) -{ - if (aString == NULL) - aString = CFSTR(""); - - // All strings are UTF-8 encoded - uint32_t partSize = 0; - uint8_t *bytes = NULL; - - CFIndex stringLength = CFStringGetLength(aString); - CFIndex bytesLength = stringLength * 4; - if (stringLength) - { - bytes = (uint8_t *)malloc((size_t)bytesLength + 4); - if (bytes != NULL) - { - CFStringGetBytes(aString, CFRangeMake(0, stringLength), kCFStringEncodingUTF8, '?', false, bytes, bytesLength, &bytesLength); - partSize = (uint32_t)bytesLength; - } - } - - uint8_t *p = LoggerMessagePrepareForPart(encoder, 6 + partSize); - if (p != NULL) - { - *p++ = (uint8_t)key; - *p++ = (uint8_t)PART_TYPE_STRING; - *(uint32_t *)p = htonl(partSize); // ARMv6 and later, x86 processors do just fine with unaligned accesses - if (partSize && bytes != NULL) - memcpy(p + 4, bytes, (size_t)partSize); - } - - if (bytes != NULL) - free(bytes); -} - -static void LoggerMessageAddData(CFMutableDataRef encoder, CFDataRef theData, int key, int partType) -{ - if (theData != NULL) - { - CFIndex dataLength = CFDataGetLength(theData); - uint8_t *p = LoggerMessagePrepareForPart(encoder, (uint32_t)dataLength + 6); - if (p != NULL) - { - *p++ = (uint8_t)key; - *p++ = (uint8_t)partType; - *((uint32_t *)p) = htonl(dataLength); // ARMv6 and later, x86 processors do just fine with unaligned accesses - if (dataLength) - memcpy(p + 4, CFDataGetBytePtr(theData), (size_t)dataLength); - } - } -} - -static uint32_t LoggerMessageGetSeq(CFDataRef message) -{ - // Extract the sequence number from a message. When pushing messages to the queue, - // we use this to guarantee the logging order according to the seq# - // Since we now store the seq as first component, we only have to check whether - // the first part is the sequence number, and extract it. - uint8_t *p = (uint8_t *)CFDataGetBytePtr(message) + 4; - uint16_t partCount = ntohs(*(uint16_t *)p); - if (partCount) - { - if (p[2] == PART_KEY_MESSAGE_SEQ) - return ntohl(*(uint32_t *)(p+4)); // ARMv6 and later, x86 processors do just fine with unaligned accesses - } - return 0; -} - -// ----------------------------------------------------------------------------- -#pragma mark - -#pragma mark Private logging functions -// ----------------------------------------------------------------------------- -static void LoggerPushClientInfoToFrontOfQueue(Logger *logger) -{ - // Extract client information from the main bundle, as well as platform info, - // and assemble it to a message that will be put in front of the queue - // Helps desktop viewer display who's talking to it - // Note that we must be called from the logger work thread, as we don't - // run through the message port to transmit this message to the queue - CFBundleRef bundle = CFBundleGetMainBundle(); - if (bundle == NULL) - return; - CFMutableDataRef encoder = LoggerMessageCreate(0); - if (encoder != NULL) - { - LoggerMessageAddInt32(encoder, LOGMSG_TYPE_CLIENTINFO, PART_KEY_MESSAGE_TYPE); - - CFStringRef version = (CFStringRef)CFBundleGetValueForInfoDictionaryKey(bundle, kCFBundleVersionKey); - if (version != NULL && CFGetTypeID(version) == CFStringGetTypeID()) - LoggerMessageAddString(encoder, version, PART_KEY_CLIENT_VERSION); - CFStringRef name = (CFStringRef)CFBundleGetValueForInfoDictionaryKey(bundle, kCFBundleNameKey); - if (name != NULL) - LoggerMessageAddString(encoder, name, PART_KEY_CLIENT_NAME); - -#if TARGET_OS_IPHONE && ALLOW_COCOA_USE - if ([NSThread isMultiThreaded] || [NSThread isMainThread]) - { - @autoreleasepool - { - UIDevice *device = [UIDevice currentDevice]; - LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)device.name, PART_KEY_UNIQUEID); - LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)device.systemVersion, PART_KEY_OS_VERSION); - LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)device.systemName, PART_KEY_OS_NAME); - LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)device.model, PART_KEY_CLIENT_MODEL); - } - } -#elif TARGET_OS_MAC - CFStringRef osName = NULL, osVersion = NULL; - #if ALLOW_COCOA_USE - // Read the OS version without using deprecated Gestalt calls - @autoreleasepool - { - @try - { - NSString* versionString = [[NSDictionary dictionaryWithContentsOfFile: @"/System/Library/CoreServices/SystemVersion.plist"] objectForKey: @"ProductVersion"]; - if ([versionString length]) - { - osName = CFSTR("Mac OS X"); - osVersion = CFRetain((CAST_TO_CFSTRING)versionString); - } - } - @catch (NSException *exc) - { - } - } - #endif - if (osVersion == NULL) - { - // Not allowed to call into Cocoa ? use the Darwin version string - struct utsname u; - if (uname(&u) == 0) - { - osName = CFStringCreateWithCString(NULL, u.sysname, kCFStringEncodingUTF8); - osVersion = CFStringCreateWithCString(NULL, u.release, kCFStringEncodingUTF8); - } - else - { - osName = CFSTR("Mac OS X"); - osVersion = CFSTR(""); - } - } - LoggerMessageAddString(encoder, osVersion, PART_KEY_OS_VERSION); - LoggerMessageAddString(encoder, osName, PART_KEY_OS_NAME); - CFRelease(osVersion); - CFRelease(osName); - - char buf[64]; - size_t len; - int ncpu = 0; - bzero(buf, sizeof(buf)); - len = sizeof(buf)-1; - sysctlbyname("hw.model", buf, &len, NULL, 0); - len = sizeof(ncpu); - sysctlbyname("hw.ncpu", &ncpu, &len, NULL, 0); - sprintf(buf+strlen(buf), " - %d * ", ncpu); - len = sizeof(buf)-strlen(buf)-1; - sysctlbyname("hw.machine", buf+strlen(buf), &len, NULL, 0); - - CFStringRef s = CFStringCreateWithCString(NULL, buf, kCFStringEncodingASCII); - LoggerMessageAddString(encoder, s, PART_KEY_CLIENT_MODEL); - CFRelease(s); -#endif - LoggerMessageFinalize(encoder); - - pthread_mutex_lock(&logger->logQueueMutex); - CFArrayInsertValueAtIndex(logger->logQueue, logger->incompleteSendOfFirstItem ? 1 : 0, encoder); - pthread_mutex_unlock(&logger->logQueueMutex); - - CFRelease(encoder); - } -} - -static void LoggerPushMessageToQueue(Logger *logger, CFDataRef message) -{ - // Add the message to the log queue and signal the runLoop source that will trigger - // a send on the worker thread. - pthread_mutex_lock(&logger->logQueueMutex); - CFIndex idx = CFArrayGetCount(logger->logQueue); - if (idx) - { - // to prevent out-of-order messages (as much as possible), we try to transmit messages in the - // order their sequence number was generated. Since the seq is generated first-thing, - // we can provide fine-grained ordering that gives a reasonable idea of the order - // the logging calls were made (useful for precise information about multithreading code) - uint32_t lastSeq, seq = LoggerMessageGetSeq(message); - do { - lastSeq = LoggerMessageGetSeq(CFArrayGetValueAtIndex(logger->logQueue, idx-1)); - } while (lastSeq > seq && --idx > 0); - } - if (idx >= 0) - CFArrayInsertValueAtIndex(logger->logQueue, idx, message); - else - CFArrayAppendValue(logger->logQueue, message); - pthread_mutex_unlock(&logger->logQueueMutex); - - if (logger->messagePushedSource != NULL) - { - // One case where the pushed source may be NULL is if the client code - // immediately starts logging without initializing the logger first. - // In this case, the worker thread has not completed startup, so we don't need - // to fire the runLoop source - CFRunLoopSourceSignal(logger->messagePushedSource); - } - else if (logger->workerThread == NULL && (logger->options & kLoggerOption_LogToConsole)) - { - // In this case, a failure creating the message runLoop source forces us - // to always log to console - pthread_mutex_lock(&logger->logQueueMutex); - while (CFArrayGetCount(logger->logQueue)) - { - LoggerLogToConsole(CFArrayGetValueAtIndex(logger->logQueue, 0)); - CFArrayRemoveValueAtIndex(logger->logQueue, 0); - } - pthread_mutex_unlock(&logger->logQueueMutex); - pthread_cond_broadcast(&logger->logQueueEmpty); // in case other threads are waiting for a flush - } -} - -static void LogMessageRawTo_internal(Logger *logger, - const char *filename, - int lineNumber, - const char *functionName, - NSString *domain, - int level, - NSString *message) -{ - // Variant of the LogMessage function that doesn't perform any variable arguments formatting - logger = LoggerStart(logger); // start if needed - if (logger != NULL) - { - int32_t seq = OSAtomicIncrement32Barrier(&logger->messageSeq); - LOGGERDBG2(CFSTR("%ld LogMessage"), seq); - - CFMutableDataRef encoder = LoggerMessageCreate(seq); - if (encoder != NULL) - { - LoggerMessageAddInt32(encoder, LOGMSG_TYPE_LOG, PART_KEY_MESSAGE_TYPE); - if (domain != nil && [domain length]) - LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)domain, PART_KEY_TAG); - if (level) - LoggerMessageAddInt32(encoder, level, PART_KEY_LEVEL); - if (filename != NULL) - LoggerMessageAddCString(encoder, filename, PART_KEY_FILENAME); - if (lineNumber) - LoggerMessageAddInt32(encoder, lineNumber, PART_KEY_LINENUMBER); - if (functionName != NULL) - LoggerMessageAddCString(encoder, functionName, PART_KEY_FUNCTIONNAME); - if (message != nil) - LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)message, PART_KEY_MESSAGE); - else - LoggerMessageAddString(encoder, CFSTR(""), PART_KEY_MESSAGE); - - LoggerMessageFinalize(encoder); - LoggerPushMessageToQueue(logger, encoder); - CFRelease(encoder); - } - else - { - LOGGERDBG2(CFSTR("-> failed creating encoder")); - } - } -} - -static void LogMessageTo_internal(Logger *logger, - const char *filename, - int lineNumber, - const char *functionName, - NSString *domain, - int level, - NSString *format, - va_list args) -{ - logger = LoggerStart(logger); // start if needed - if (logger != NULL) - { - int32_t seq = OSAtomicIncrement32Barrier(&logger->messageSeq); - LOGGERDBG2(CFSTR("%ld LogMessage"), seq); - - CFMutableDataRef encoder = LoggerMessageCreate(seq); - if (encoder != NULL) - { - LoggerMessageAddInt32(encoder, LOGMSG_TYPE_LOG, PART_KEY_MESSAGE_TYPE); - if (domain != nil && [domain length]) - LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)domain, PART_KEY_TAG); - if (level) - LoggerMessageAddInt32(encoder, level, PART_KEY_LEVEL); - if (filename != NULL) - LoggerMessageAddCString(encoder, filename, PART_KEY_FILENAME); - if (lineNumber) - LoggerMessageAddInt32(encoder, lineNumber, PART_KEY_LINENUMBER); - if (functionName != NULL) - LoggerMessageAddCString(encoder, functionName, PART_KEY_FUNCTIONNAME); - -#if ALLOW_COCOA_USE - // Go though NSString to avoid low-level logging of CF datastructures (i.e. too detailed NSDictionary, etc) - NSString *msgString = [[NSString alloc] initWithFormat:format arguments:args]; - if (msgString != nil) - { - LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)msgString, PART_KEY_MESSAGE); - RELEASE(msgString); - } -#else - CFStringRef msgString = CFStringCreateWithFormatAndArguments(NULL, NULL, (CFStringRef)format, args); - if (msgString != NULL) - { - LoggerMessageAddString(encoder, msgString, PART_KEY_MESSAGE); - CFRelease(msgString); - } -#endif - - LoggerMessageFinalize(encoder); - LoggerPushMessageToQueue(logger, encoder); - CFRelease(encoder); - } - else - { - LOGGERDBG2(CFSTR("-> failed creating encoder")); - } - } -} - -static void LogImageTo_internal(Logger *logger, - const char *filename, - int lineNumber, - const char *functionName, - NSString *domain, - int level, - int width, - int height, - NSData *data) -{ - logger = LoggerStart(logger); // start if needed - if (logger != NULL) - { - int32_t seq = OSAtomicIncrement32Barrier(&logger->messageSeq); - LOGGERDBG2(CFSTR("%ld LogImage"), seq); - - CFMutableDataRef encoder = LoggerMessageCreate(seq); - if (encoder != NULL) - { - LoggerMessageAddInt32(encoder, LOGMSG_TYPE_LOG, PART_KEY_MESSAGE_TYPE); - if (domain != nil && [domain length]) - LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)domain, PART_KEY_TAG); - if (level) - LoggerMessageAddInt32(encoder, level, PART_KEY_LEVEL); - if (width && height) - { - LoggerMessageAddInt32(encoder, width, PART_KEY_IMAGE_WIDTH); - LoggerMessageAddInt32(encoder, height, PART_KEY_IMAGE_HEIGHT); - } - if (filename != NULL) - LoggerMessageAddCString(encoder, filename, PART_KEY_FILENAME); - if (lineNumber) - LoggerMessageAddInt32(encoder, lineNumber, PART_KEY_LINENUMBER); - if (functionName != NULL) - LoggerMessageAddCString(encoder, functionName, PART_KEY_FUNCTIONNAME); - LoggerMessageAddData(encoder, (CAST_TO_CFDATA)data, PART_KEY_MESSAGE, PART_TYPE_IMAGE); - - LoggerMessageFinalize(encoder); - LoggerPushMessageToQueue(logger, encoder); - CFRelease(encoder); - } - else - { - LOGGERDBG2(CFSTR("-> failed creating encoder")); - } - } -} - -static void LogDataTo_internal(Logger *logger, - const char *filename, - int lineNumber, - const char *functionName, - NSString *domain, - int level, NSData *data) -{ - logger = LoggerStart(logger); // start if needed - if (logger != NULL) - { - int32_t seq = OSAtomicIncrement32Barrier(&logger->messageSeq); - LOGGERDBG2(CFSTR("%ld LogData"), seq); - - CFMutableDataRef encoder = LoggerMessageCreate(seq); - if (encoder != NULL) - { - LoggerMessageAddInt32(encoder, LOGMSG_TYPE_LOG, PART_KEY_MESSAGE_TYPE); - if (domain != nil && [domain length]) - LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)domain, PART_KEY_TAG); - if (level) - LoggerMessageAddInt32(encoder, level, PART_KEY_LEVEL); - if (filename != NULL) - LoggerMessageAddCString(encoder, filename, PART_KEY_FILENAME); - if (lineNumber) - LoggerMessageAddInt32(encoder, lineNumber, PART_KEY_LINENUMBER); - if (functionName != NULL) - LoggerMessageAddCString(encoder, functionName, PART_KEY_FUNCTIONNAME); - LoggerMessageAddData(encoder, (CAST_TO_CFDATA)data, PART_KEY_MESSAGE, PART_TYPE_BINARY); - - LoggerMessageFinalize(encoder); - LoggerPushMessageToQueue(logger, encoder); - CFRelease(encoder); - } - else - { - LOGGERDBG2(CFSTR("-> failed creating encoder")); - } - } -} - -static void LogStartBlockTo_internal(Logger *logger, NSString *format, va_list args) -{ - logger = LoggerStart(logger); // start if needed - if (logger) - { - int32_t seq = OSAtomicIncrement32Barrier(&logger->messageSeq); - LOGGERDBG2(CFSTR("%ld LogStartBlock"), seq); - - CFMutableDataRef encoder = LoggerMessageCreate(seq); - if (encoder != NULL) - { - LoggerMessageAddInt32(encoder, LOGMSG_TYPE_BLOCKSTART, PART_KEY_MESSAGE_TYPE); - if (format != nil) - { - CFStringRef msgString = CFStringCreateWithFormatAndArguments(NULL, NULL, (CAST_TO_CFSTRING)format, args); - if (msgString != NULL) - { - LoggerMessageAddString(encoder, msgString, PART_KEY_MESSAGE); - CFRelease(msgString); - } - } - - LoggerMessageFinalize(encoder); - LoggerPushMessageToQueue(logger, encoder); - CFRelease(encoder); - } - } -} - -// ----------------------------------------------------------------------------- -#pragma mark - -#pragma mark Public logging functions -// ----------------------------------------------------------------------------- -void LogMessageRaw(NSString *message) -{ - LogMessageRawTo_internal(NULL, NULL, 0, NULL, nil, 0, message); -} - -void LogMessageRawF(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *message) -{ - LogMessageRawTo_internal(NULL, filename, lineNumber, functionName, domain, level, message); -} - -void LogMessageRawToF(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *message) -{ - LogMessageRawTo_internal(logger, filename, lineNumber, functionName, domain, level, message); -} - -void LogMessageCompat(NSString *format, ...) -{ - va_list args; - va_start(args, format); - LogMessageTo_internal(NULL, NULL, 0, NULL, nil, 0, format, args); - va_end(args); -} - -void LogMessageTo(Logger *logger, NSString *domain, int level, NSString *format, ...) -{ - va_list args; - va_start(args, format); - LogMessageTo_internal(logger, NULL, 0, NULL, domain, level, format, args); - va_end(args); -} - -void LogMessageToF(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *format, ...) -{ - va_list args; - va_start(args, format); - LogMessageTo_internal(logger, filename, lineNumber, functionName, domain, level, format, args); - va_end(args); -} - -void LogMessageTo_va(Logger *logger, NSString *domain, int level, NSString *format, va_list args) -{ - LogMessageTo_internal(logger, NULL, 0, NULL, domain, level, format, args); -} - -void LogMessageToF_va(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *format, va_list args) -{ - LogMessageTo_internal(logger, filename, lineNumber, functionName, domain, level, format, args); -} - -void LogMessage(NSString *domain, int level, NSString *format, ...) -{ - va_list args; - va_start(args, format); - LogMessageTo_internal(NULL, NULL, 0, NULL, domain, level, format, args); - va_end(args); -} - -void LogMessageF(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *format, ...) -{ - va_list args; - va_start(args, format); - LogMessageTo_internal(NULL, filename, lineNumber, functionName, domain, level, format, args); - va_end(args); -} - -void LogMessage_va(NSString *domain, int level, NSString *format, va_list args) -{ - LogMessageTo_internal(NULL, NULL, 0, NULL, domain, level, format, args); -} - -void LogMessageF_va(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *format, va_list args) -{ - LogMessageTo_internal(NULL, filename, lineNumber, functionName, domain, level, format, args); -} - -void LogData(NSString *domain, int level, NSData *data) -{ - LogDataTo_internal(NULL, NULL, 0, NULL, domain, level, data); -} - -void LogDataF(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSData *data) -{ - LogDataTo_internal(NULL, filename, lineNumber, functionName, domain, level, data); -} - -void LogDataTo(Logger *logger, NSString *domain, int level, NSData *data) -{ - LogDataTo_internal(logger, NULL, 0, NULL, domain, level, data); -} - -void LogDataToF(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSData *data) -{ - LogDataTo_internal(logger, filename, lineNumber, functionName, domain, level, data); -} - -void LogImageData(NSString *domain, int level, int width, int height, NSData *data) -{ - LogImageTo_internal(NULL, NULL, 0, NULL, domain, level, width, height, data); -} - -void LogImageDataF(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, int width, int height, NSData *data) -{ - LogImageTo_internal(NULL, filename, lineNumber, functionName, domain, level, width, height, data); -} - -void LogImageDataTo(Logger *logger, NSString *domain, int level, int width, int height, NSData *data) -{ - LogImageTo_internal(logger, NULL, 0, NULL, domain, level, width, height, data); -} - -void LogImageDataToF(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, int width, int height, NSData *data) -{ - LogImageTo_internal(logger, filename, lineNumber, functionName, domain, level, width, height, data); -} - -void LogStartBlock(NSString *format, ...) -{ - va_list args; - va_start(args, format); - LogStartBlockTo_internal(NULL, format, args); - va_end(args); -} - -void LogStartBlockTo(Logger *logger, NSString *format, ...) -{ - va_list args; - va_start(args, format); - LogStartBlockTo_internal(logger, format, args); - va_end(args); -} - -void LogEndBlockTo(Logger *logger) -{ - logger = LoggerStart(logger); - if (logger) - { - if (logger->options & kLoggerOption_LogToConsole) - return; - - int32_t seq = OSAtomicIncrement32Barrier(&logger->messageSeq); - LOGGERDBG2(CFSTR("%ld LogEndBlock"), seq); - - CFMutableDataRef encoder = LoggerMessageCreate(seq); - if (encoder != NULL) - { - LoggerMessageAddInt32(encoder, LOGMSG_TYPE_BLOCKEND, PART_KEY_MESSAGE_TYPE); - LoggerMessageFinalize(encoder); - LoggerPushMessageToQueue(logger, encoder); - CFRelease(encoder); - } - else - { - LOGGERDBG2(CFSTR("-> failed creating encoder")); - } - } -} - -void LogEndBlock(void) -{ - LogEndBlockTo(NULL); -} - -void LogMarkerTo(Logger *logger, NSString *text) -{ - logger = LoggerStart(logger); // start if needed - if (logger != NULL) - { - int32_t seq = OSAtomicIncrement32Barrier(&logger->messageSeq); - LOGGERDBG2(CFSTR("%ld LogMarker"), seq); - - CFMutableDataRef encoder = LoggerMessageCreate(seq); - if (encoder != NULL) - { - LoggerMessageAddInt32(encoder, LOGMSG_TYPE_MARK, PART_KEY_MESSAGE_TYPE); - if (text == nil) - { - CFDateFormatterRef df = CFDateFormatterCreate(NULL, NULL, kCFDateFormatterShortStyle, kCFDateFormatterMediumStyle); - CFStringRef str = CFDateFormatterCreateStringWithAbsoluteTime(NULL, df, CFAbsoluteTimeGetCurrent()); - CFRelease(df); - if (str != NULL) - { - LoggerMessageAddString(encoder, str, PART_KEY_MESSAGE); - CFRelease(str); - } - } - else - { - LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)text, PART_KEY_MESSAGE); - } - LoggerMessageFinalize(encoder); - LoggerPushMessageToQueue(logger, encoder); - CFRelease(encoder); - } - else - { - LOGGERDBG2(CFSTR("-> failed creating encoder")); - } - } -} - -void LogMarker(NSString *text) -{ - LogMarkerTo(NULL, text); -} diff --git a/external/nslog/ios/LoggerCommon.h b/external/nslog/ios/LoggerCommon.h deleted file mode 100644 index 29c762da98..0000000000 --- a/external/nslog/ios/LoggerCommon.h +++ /dev/null @@ -1,113 +0,0 @@ -/* - * LoggerCommon.h - * - * version 1.5-RC2 22-NOV-2013 - * - * Definitions common to NSLogger Viewer and NSLoggerClient - * for the binary messages format - * https://github.com/fpillet/NSLogger - * - * BSD license follows (http://www.opensource.org/licenses/bsd-license.php) - * - * Copyright (c) 2010-2013 Florent Pillet All Rights Reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. Redistributions in - * binary form must reproduce the above copyright notice, this list of - * conditions and the following disclaimer in the documentation and/or other - * materials provided with the distribution. Neither the name of Florent - * Pillet nor the names of its contributors may be used to endorse or promote - * products derived from this software without specific prior written - * permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT - * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED - * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -/* NSLogger native binary message format: - * Each message is a dictionary encoded in a compact format. All values are stored - * in network order (big endian). A message is made of several "parts", which are - * typed chunks of data, each with a specific purpose (partKey), data type (partType) - * and data size (partSize). - * - * uint32_t totalSize (total size for the whole message excluding this 4-byte count) - * uint16_t partCount (number of parts below) - * [repeat partCount times]: - * uint8_t partKey the part key - * uint8_t partType (string, binary, image, int16, int32, int64) - * uint32_t partSize (only for string, binary and image types, others are implicit) - * .. `partSize' data bytes - * - * Complete message is usually made of: - * - a PART_KEY_MESSAGE_TYPE (mandatory) which contains one of the LOGMSG_TYPE_* values - * - a PART_KEY_TIMESTAMP_S (mandatory) which is the timestamp returned by gettimeofday() (seconds from 01.01.1970 00:00) - * - a PART_KEY_TIMESTAMP_MS (optional) complement of the timestamp seconds, in milliseconds - * - a PART_KEY_TIMESTAMP_US (optional) complement of the timestamp seconds and milliseconds, in microseconds - * - a PART_KEY_THREAD_ID (mandatory) the ID of the user thread that produced the log entry - * - a PART_KEY_TAG (optional) a tag that helps categorizing and filtering logs from your application, and shows up in viewer logs - * - a PART_KEY_LEVEL (optional) a log level that helps filtering logs from your application (see as few or as much detail as you need) - * - a PART_KEY_MESSAGE which is the message text, binary data or image - * - a PART_KEY_MESSAGE_SEQ which is the message sequence number (message# sent by client) - * - a PART_KEY_FILENAME (optional) with the filename from which the log was generated - * - a PART_KEY_LINENUMBER (optional) the linenumber in the filename at which the log was generated - * - a PART_KEY_FUNCTIONNAME (optional) the function / method / selector from which the log was generated - * - if logging an image, PART_KEY_IMAGE_WIDTH and PART_KEY_IMAGE_HEIGHT let the desktop know the image size without having to actually decode it - */ - -// Constants for the "part key" field -#define PART_KEY_MESSAGE_TYPE 0 -#define PART_KEY_TIMESTAMP_S 1 // "seconds" component of timestamp -#define PART_KEY_TIMESTAMP_MS 2 // milliseconds component of timestamp (optional, mutually exclusive with PART_KEY_TIMESTAMP_US) -#define PART_KEY_TIMESTAMP_US 3 // microseconds component of timestamp (optional, mutually exclusive with PART_KEY_TIMESTAMP_MS) -#define PART_KEY_THREAD_ID 4 -#define PART_KEY_TAG 5 -#define PART_KEY_LEVEL 6 -#define PART_KEY_MESSAGE 7 -#define PART_KEY_IMAGE_WIDTH 8 // messages containing an image should also contain a part with the image size -#define PART_KEY_IMAGE_HEIGHT 9 // (this is mainly for the desktop viewer to compute the cell size without having to immediately decode the image) -#define PART_KEY_MESSAGE_SEQ 10 // the sequential number of this message which indicates the order in which messages are generated -#define PART_KEY_FILENAME 11 // when logging, message can contain a file name -#define PART_KEY_LINENUMBER 12 // as well as a line number -#define PART_KEY_FUNCTIONNAME 13 // and a function or method name - -// Constants for parts in LOGMSG_TYPE_CLIENTINFO -#define PART_KEY_CLIENT_NAME 20 -#define PART_KEY_CLIENT_VERSION 21 -#define PART_KEY_OS_NAME 22 -#define PART_KEY_OS_VERSION 23 -#define PART_KEY_CLIENT_MODEL 24 // For iPhone, device model (i.e 'iPhone', 'iPad', etc) -#define PART_KEY_UNIQUEID 25 // for remote device identification, part of LOGMSG_TYPE_CLIENTINFO - -// Area starting at which you may define your own constants -#define PART_KEY_USER_DEFINED 100 - -// Constants for the "partType" field -#define PART_TYPE_STRING 0 // Strings are stored as UTF-8 data -#define PART_TYPE_BINARY 1 // A block of binary data -#define PART_TYPE_INT16 2 -#define PART_TYPE_INT32 3 -#define PART_TYPE_INT64 4 -#define PART_TYPE_IMAGE 5 // An image, stored in PNG format - -// Data values for the PART_KEY_MESSAGE_TYPE parts -#define LOGMSG_TYPE_LOG 0 // A standard log message -#define LOGMSG_TYPE_BLOCKSTART 1 // The start of a "block" (a group of log entries) -#define LOGMSG_TYPE_BLOCKEND 2 // The end of the last started "block" -#define LOGMSG_TYPE_CLIENTINFO 3 // Information about the client app -#define LOGMSG_TYPE_DISCONNECT 4 // Pseudo-message on the desktop side to identify client disconnects -#define LOGMSG_TYPE_MARK 5 // Pseudo-message that defines a "mark" that users can place in the log flow - -// Default Bonjour service identifiers -#define LOGGER_SERVICE_TYPE_SSL CFSTR("_nslogger-ssl._tcp") -#define LOGGER_SERVICE_TYPE CFSTR("_nslogger._tcp") diff --git a/external/nslog/ios/NSLogger.h b/external/nslog/ios/NSLogger.h deleted file mode 100644 index f2721ca31f..0000000000 --- a/external/nslog/ios/NSLogger.h +++ /dev/null @@ -1,92 +0,0 @@ -/* - * NSLogger.h - * - * version 1.5-RC2 22-NOV-2013 - * - * Part of NSLogger (client side) - * https://github.com/fpillet/NSLogger - * - * BSD license follows (http://www.opensource.org/licenses/bsd-license.php) - * - * Copyright (c) 2010-2013 Florent Pillet All Rights Reserved. - * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. Redistributions in - * binary form must reproduce the above copyright notice, this list of - * conditions and the following disclaimer in the documentation and/or other - * materials provided with the distribution. Neither the name of Florent - * Pillet nor the names of its contributors may be used to endorse or promote - * products derived from this software without specific prior written - * permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT - * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED - * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ -#import "LoggerClient.h" - - - -// Log level usual usage: -// Level 0: errors only! -// Level 1: important informations, app states… -// Level 2: less important logs, network requests… -// Level 3: network responses, datas and images… -// Level 4: really not important stuff. - - - -#if 0 - #define NSLog(...) LogMessageF(__FILE__, __LINE__, __FUNCTION__, @"NSLog", 0, __VA_ARGS__) - #define LoggerError(level, ...) LogMessageF(__FILE__, __LINE__, __FUNCTION__, @"Error", level, __VA_ARGS__) - #define LoggerApp(level, ...) LogMessageF(__FILE__, __LINE__, __FUNCTION__, @"App", level, __VA_ARGS__) - #define LoggerView(level, ...) LogMessageF(__FILE__, __LINE__, __FUNCTION__, @"View", level, __VA_ARGS__) - #define LoggerService(level, ...) LogMessageF(__FILE__, __LINE__, __FUNCTION__, @"Service", level, __VA_ARGS__) - #define LoggerModel(level, ...) LogMessageF(__FILE__, __LINE__, __FUNCTION__, @"Model", level, __VA_ARGS__) - #define LoggerData(level, ...) LogMessageF(__FILE__, __LINE__, __FUNCTION__, @"Data", level, __VA_ARGS__) - #define LoggerNetwork(level, ...) LogMessageF(__FILE__, __LINE__, __FUNCTION__, @"Network", level, __VA_ARGS__) - #define LoggerLocation(level, ...) LogMessageF(__FILE__, __LINE__, __FUNCTION__, @"Location", level, __VA_ARGS__) - #define LoggerPush(level, ...) LogMessageF(__FILE__, __LINE__, __FUNCTION__, @"Push", level, __VA_ARGS__) - #define LoggerFile(level, ...) LogMessageF(__FILE__, __LINE__, __FUNCTION__, @"File", level, __VA_ARGS__) - #define LoggerSharing(level, ...) LogMessageF(__FILE__, __LINE__, __FUNCTION__, @"Sharing", level, __VA_ARGS__) - #define LoggerAd(level, ...) LogMessageF(__FILE__, __LINE__, __FUNCTION__, @"Ad and Stat", level, __VA_ARGS__) - -#else - #define NSLog(...) LogMessageCompat(__VA_ARGS__) - #define LoggerError(...) while(0} {} - #define LoggerApp(level, ...) while(0) {} - #define LoggerView(...) while(0) {} - #define LoggerService(...) while(0) {} - #define LoggerModel(...) while(0) {} - #define LoggerData(...) while(0) {} - #define LoggerNetwork(...) while(0) {} - #define LoggerLocation(...) while(0) {} - #define LoggerPush(...) while(0) {} - #define LoggerFile(...) while(0) {} - #define LoggerSharing(...) while(0) {} - #define LoggerAd(...) while(0) {} - -#endif - - - -// Starts the logger with the username defined in the build settings. -// The build setting NSLOGGER_BUILD_USERNAME is automatically configured when NSLogger is -// added to a project using CocoaPods. To use it, just add this macro call to your main() function. -#define LoggerStartForBuildUser() LoggerSetupBonjour(LoggerGetDefaultLogger(), NULL, CFSTR(xstr(NSLOGGER_BUILD_USERNAME))) - - - - - - diff --git a/templates/cocos2dx_files.json b/templates/cocos2dx_files.json index c39bed7595..5cab9f5015 100644 --- a/templates/cocos2dx_files.json +++ b/templates/cocos2dx_files.json @@ -278,19 +278,6 @@ "cocos/base/CCConfiguration.h", "cocos/base/CCConsole.cpp", "cocos/base/CCConsole.h", - "cocos/base/CCController-android.cpp", - "cocos/base/CCController-iOS.mm", - "cocos/base/CCController.h", - "cocos/base/CCControllerAxisInput.cpp", - "cocos/base/CCControllerAxisInput.h", - "cocos/base/CCControllerButtonInput.cpp", - "cocos/base/CCControllerButtonInput.h", - "cocos/base/CCControllerDirectionPad.cpp", - "cocos/base/CCControllerDirectionPad.h", - "cocos/base/CCControllerElement.cpp", - "cocos/base/CCControllerElement.h", - "cocos/base/CCControllerThumbstick.cpp", - "cocos/base/CCControllerThumbstick.h", "cocos/base/CCData.cpp", "cocos/base/CCData.h", "cocos/base/CCDataVisitor.cpp", @@ -301,8 +288,6 @@ "cocos/base/CCEvent.h", "cocos/base/CCEventAcceleration.cpp", "cocos/base/CCEventAcceleration.h", - "cocos/base/CCEventController.cpp", - "cocos/base/CCEventController.h", "cocos/base/CCEventCustom.cpp", "cocos/base/CCEventCustom.h", "cocos/base/CCEventDispatcher.cpp", @@ -315,8 +300,6 @@ "cocos/base/CCEventListener.h", "cocos/base/CCEventListenerAcceleration.cpp", "cocos/base/CCEventListenerAcceleration.h", - "cocos/base/CCEventListenerController.cpp", - "cocos/base/CCEventListenerController.h", "cocos/base/CCEventListenerCustom.cpp", "cocos/base/CCEventListenerCustom.h", "cocos/base/CCEventListenerFocus.cpp", @@ -332,9 +315,6 @@ "cocos/base/CCEventTouch.cpp", "cocos/base/CCEventTouch.h", "cocos/base/CCEventType.h", - "cocos/base/CCGameController.h", - "cocos/base/CCGamepad.cpp", - "cocos/base/CCGamepad.h", "cocos/base/CCIMEDelegate.h", "cocos/base/CCIMEDispatcher.cpp", "cocos/base/CCIMEDispatcher.h", @@ -747,45 +727,12 @@ "cocos/platform/android/CCGLView.h", "cocos/platform/android/CCPlatformDefine.h", "cocos/platform/android/CCStdC.h", - "cocos/platform/android/ControllerDelegate/.classpath", - "cocos/platform/android/ControllerDelegate/.project", - "cocos/platform/android/ControllerDelegate/.settings/org.eclipse.jdt.core.prefs", - "cocos/platform/android/ControllerDelegate/AndroidManifest.xml", - "cocos/platform/android/ControllerDelegate/ant.properties", - "cocos/platform/android/ControllerDelegate/build.xml", - "cocos/platform/android/ControllerDelegate/proguard-project.txt", - "cocos/platform/android/ControllerDelegate/src/org/cocos2dx/lib/GameControllerDelegate.java", - "cocos/platform/android/ControllerMoga/.classpath", - "cocos/platform/android/ControllerMoga/.project", - "cocos/platform/android/ControllerMoga/.settings/org.eclipse.jdt.core.prefs", - "cocos/platform/android/ControllerMoga/AndroidManifest.xml", - "cocos/platform/android/ControllerMoga/ant.properties", - "cocos/platform/android/ControllerMoga/build.xml", - "cocos/platform/android/ControllerMoga/proguard-project.txt", - "cocos/platform/android/ControllerMoga/src/org/cocos2dx/lib/GameControllerMoga.java", - "cocos/platform/android/ControllerNibiru/.classpath", - "cocos/platform/android/ControllerNibiru/.project", - "cocos/platform/android/ControllerNibiru/.settings/org.eclipse.jdt.core.prefs", - "cocos/platform/android/ControllerNibiru/AndroidManifest.xml", - "cocos/platform/android/ControllerNibiru/ant.properties", - "cocos/platform/android/ControllerNibiru/build.xml", - "cocos/platform/android/ControllerNibiru/proguard-project.txt", - "cocos/platform/android/ControllerNibiru/src/org/cocos2dx/lib/GameControllerNibiru.java", - "cocos/platform/android/ControllerOuya/.classpath", - "cocos/platform/android/ControllerOuya/.project", - "cocos/platform/android/ControllerOuya/.settings/org.eclipse.jdt.core.prefs", - "cocos/platform/android/ControllerOuya/AndroidManifest.xml", - "cocos/platform/android/ControllerOuya/ant.properties", - "cocos/platform/android/ControllerOuya/build.xml", - "cocos/platform/android/ControllerOuya/proguard-project.txt", - "cocos/platform/android/ControllerOuya/src/org/cocos2dx/lib/GameControllerOuya.java", "cocos/platform/android/java/.classpath", "cocos/platform/android/java/.project", "cocos/platform/android/java/.settings/org.eclipse.jdt.core.prefs", "cocos/platform/android/java/AndroidManifest.xml", "cocos/platform/android/java/ant.properties", "cocos/platform/android/java/build.xml", - "cocos/platform/android/java/lint.xml", "cocos/platform/android/java/proguard-project.txt", "cocos/platform/android/java/project.properties", "cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxAccelerometer.java", @@ -806,12 +753,6 @@ "cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxTypefaces.java", "cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxVideoHelper.java", "cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxVideoView.java", - "cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerAdapter.java", - "cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerHelper.java", - "cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerUtils.java", - "cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerCompat.java", - "cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerV16.java", - "cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerV9.java", "cocos/platform/android/javaactivity.cpp", "cocos/platform/android/jni/DPIJni.cpp", "cocos/platform/android/jni/DPIJni.h", @@ -2050,12 +1991,6 @@ "external/linux-specific/fmod/prebuilt/64-bit/libfmodex64.so", "external/linux-specific/fmod/prebuilt/64-bit/libfmodexL64-4.38.00.so", "external/linux-specific/fmod/prebuilt/64-bit/libfmodexL64.so", - "external/nslog/CCNSLog.h", - "external/nslog/ios/CCNSLog.mm", - "external/nslog/ios/LoggerClient.h", - "external/nslog/ios/LoggerClient.m", - "external/nslog/ios/LoggerCommon.h", - "external/nslog/ios/NSLogger.h", "external/png/include/android/png.h", "external/png/include/android/pngconf.h", "external/png/include/android/pnglibconf.h", diff --git a/tests/cpp-tests/Classes/SchedulerTest/SchedulerTest.cpp b/tests/cpp-tests/Classes/SchedulerTest/SchedulerTest.cpp index 198ff3998b..33fae8fb89 100644 --- a/tests/cpp-tests/Classes/SchedulerTest/SchedulerTest.cpp +++ b/tests/cpp-tests/Classes/SchedulerTest/SchedulerTest.cpp @@ -1183,7 +1183,6 @@ void ScheduleUpdatePriority::onEnter() void ScheduleUpdatePriority::onExit() { - Node::onExit(); unscheduleUpdate(); } diff --git a/tests/cpp-tests/Resources/Shaders/example_outline.fsh b/tests/cpp-tests/Resources/Shaders/example_outline.fsh index d478eadb36..990119525a 100644 --- a/tests/cpp-tests/Resources/Shaders/example_outline.fsh +++ b/tests/cpp-tests/Resources/Shaders/example_outline.fsh @@ -24,10 +24,12 @@ void main() accum += texture2D(CC_Texture0, vec2(v_texCoord.x - radius, v_texCoord.y + radius)); accum *= u_threshold; - accum.rgb = u_outlineColor * accum.a; - accum.a = 1.0; - normal = ( accum * (1.0 - normal.a)) + (normal * normal.a); + accum.r = u_outlineColor.x; + accum.g = u_outlineColor.y; + accum.b = u_outlineColor.z; + + normal = (accum * (1.0 - normal.a)) + (normal * normal.a); gl_FragColor = v_fragmentColor * normal; } diff --git a/tests/cpp-tests/proj.wp8-xaml/cpp-testsComponent/cpp-testsComponent.vcxproj b/tests/cpp-tests/proj.wp8-xaml/cpp-testsComponent/cpp-testsComponent.vcxproj index f81bb0d720..1e37b6b1f2 100644 --- a/tests/cpp-tests/proj.wp8-xaml/cpp-testsComponent/cpp-testsComponent.vcxproj +++ b/tests/cpp-tests/proj.wp8-xaml/cpp-testsComponent/cpp-testsComponent.vcxproj @@ -230,7 +230,6 @@ - @@ -428,7 +427,6 @@ - diff --git a/tests/cpp-tests/proj.wp8-xaml/cpp-testsComponent/cpp-testsComponent.vcxproj.filters b/tests/cpp-tests/proj.wp8-xaml/cpp-testsComponent/cpp-testsComponent.vcxproj.filters index 7f73aa616c..360c126675 100644 --- a/tests/cpp-tests/proj.wp8-xaml/cpp-testsComponent/cpp-testsComponent.vcxproj.filters +++ b/tests/cpp-tests/proj.wp8-xaml/cpp-testsComponent/cpp-testsComponent.vcxproj.filters @@ -846,9 +846,6 @@ Classes\ExtensionsTest\CocoStudioActionTimelineTest - - Classes\TileMapTest - @@ -1569,9 +1566,6 @@ Classes\ExtensionsTest\CocoStudioActionTimelineTest - - Classes\TileMapTest - diff --git a/tests/game-controller-test/Classes/AppDelegate.cpp b/tests/game-controller-test/Classes/AppDelegate.cpp deleted file mode 100644 index ae7ef0a2cf..0000000000 --- a/tests/game-controller-test/Classes/AppDelegate.cpp +++ /dev/null @@ -1,102 +0,0 @@ -#include "AppDelegate.h" - -#include -#include - -#include "GameControllerTest.h" -#include "AppMacros.h" - -USING_NS_CC; -using namespace std; - -AppDelegate::AppDelegate() { - -} - -AppDelegate::~AppDelegate() -{ -} - -bool AppDelegate::applicationDidFinishLaunching() { - // initialize director - auto director = Director::getInstance(); - auto glview = director->getOpenGLView(); - if(!glview) { - glview = GLView::create("Cpp Empty Test"); - director->setOpenGLView(glview); - } - - director->setOpenGLView(glview); - - // Set the design resolution -#if (CC_TARGET_PLATFORM == CC_PLATFORM_WP8) - // a bug in DirectX 11 level9-x on the device prevents ResolutionPolicy::NO_BORDER from working correctly - glview->setDesignResolutionSize(designResolutionSize.width, designResolutionSize.height, ResolutionPolicy::SHOW_ALL); -#else - glview->setDesignResolutionSize(designResolutionSize.width, designResolutionSize.height, ResolutionPolicy::NO_BORDER); -#endif - - Size frameSize = glview->getFrameSize(); - - vector searchPath; - - // In this demo, we select resource according to the frame's height. - // If the resource size is different from design resolution size, you need to set contentScaleFactor. - // We use the ratio of resource's height to the height of design resolution, - // this can make sure that the resource's height could fit for the height of design resolution. - - // if the frame's height is larger than the height of medium resource size, select large resource. - if (frameSize.height > mediumResource.size.height) - { - searchPath.push_back(largeResource.directory); - - director->setContentScaleFactor(MIN(largeResource.size.height/designResolutionSize.height, largeResource.size.width/designResolutionSize.width)); - } - // if the frame's height is larger than the height of small resource size, select medium resource. - else if (frameSize.height > smallResource.size.height) - { - searchPath.push_back(mediumResource.directory); - - director->setContentScaleFactor(MIN(mediumResource.size.height/designResolutionSize.height, mediumResource.size.width/designResolutionSize.width)); - } - // if the frame's height is smaller than the height of medium resource size, select small resource. - else - { - searchPath.push_back(smallResource.directory); - - director->setContentScaleFactor(MIN(smallResource.size.height/designResolutionSize.height, smallResource.size.width/designResolutionSize.width)); - } - - // set searching path - FileUtils::getInstance()->setSearchPaths(searchPath); - - // turn on display FPS - director->setDisplayStats(true); - - // set FPS. the default value is 1.0/60 if you don't call this - director->setAnimationInterval(1.0 / 60); - - // create a scene. it's an autorelease object - auto scene = GameControllerTest::scene(); - - // run - director->runWithScene(scene); - - return true; -} - -// This function will be called when the app is inactive. When comes a phone call,it's be invoked too -void AppDelegate::applicationDidEnterBackground() { - Director::getInstance()->stopAnimation(); - - // if you use SimpleAudioEngine, it must be pause - // SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic(); -} - -// this function will be called when the app is active again -void AppDelegate::applicationWillEnterForeground() { - Director::getInstance()->startAnimation(); - - // if you use SimpleAudioEngine, it must resume here - // SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic(); -} diff --git a/tests/game-controller-test/Classes/AppDelegate.h b/tests/game-controller-test/Classes/AppDelegate.h deleted file mode 100644 index 18ee8aeb63..0000000000 --- a/tests/game-controller-test/Classes/AppDelegate.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef _APP_DELEGATE_H_ -#define _APP_DELEGATE_H_ - -#include "cocos2d.h" - -/** -@brief The cocos2d Application. - -The reason for implement as private inheritance is to hide some interface call by Director. -*/ -class AppDelegate : private cocos2d::Application -{ -public: - AppDelegate(); - virtual ~AppDelegate(); - - /** - @brief Implement Director and Scene init code here. - @return true Initialize success, app continue. - @return false Initialize failed, app terminate. - */ - virtual bool applicationDidFinishLaunching(); - - /** - @brief The function be called when the application enter background - @param the pointer of the application - */ - virtual void applicationDidEnterBackground(); - - /** - @brief The function be called when the application enter foreground - @param the pointer of the application - */ - virtual void applicationWillEnterForeground(); -}; - -#endif // _APP_DELEGATE_H_ - diff --git a/tests/game-controller-test/Classes/AppMacros.h b/tests/game-controller-test/Classes/AppMacros.h deleted file mode 100644 index 417da9a190..0000000000 --- a/tests/game-controller-test/Classes/AppMacros.h +++ /dev/null @@ -1,56 +0,0 @@ -#ifndef __APPMACROS_H__ -#define __APPMACROS_H__ - -#include "cocos2d.h" - -/* For demonstrating using one design resolution to match different resources, - or one resource to match different design resolutions. - - [Situation 1] Using one design resolution to match different resources. - Please look into Appdelegate::applicationDidFinishLaunching. - We check current device frame size to decide which resource need to be selected. - So if you want to test this situation which said in title '[Situation 1]', - you should change ios simulator to different device(e.g. iphone, iphone-retina3.5, iphone-retina4.0, ipad, ipad-retina), - or change the window size in "proj.XXX/main.cpp" by "CCEGLView::setFrameSize" if you are using win32 or linux plaform - and modify "proj.mac/AppController.mm" by changing the window rectangle. - - [Situation 2] Using one resource to match different design resolutions. - The coordinates in your codes is based on your current design resolution rather than resource size. - Therefore, your design resolution could be very large and your resource size could be small. - To test this, just define the marco 'TARGET_DESIGN_RESOLUTION_SIZE' to 'DESIGN_RESOLUTION_2048X1536' - and open iphone simulator or create a window of 480x320 size. - - [Note] Normally, developer just need to define one design resolution(e.g. 960x640) with one or more resources. - */ - -#define DESIGN_RESOLUTION_480X320 0 -#define DESIGN_RESOLUTION_1024X768 1 -#define DESIGN_RESOLUTION_2048X1536 2 - -/* If you want to switch design resolution, change next line */ -#define TARGET_DESIGN_RESOLUTION_SIZE DESIGN_RESOLUTION_480X320 - -typedef struct tagResource -{ - cocos2d::Size size; - char directory[100]; -}Resource; - -static Resource smallResource = { cocos2d::Size(480, 320), "iphone" }; -static Resource mediumResource = { cocos2d::Size(1024, 768), "ipad" }; -static Resource largeResource = { cocos2d::Size(2048, 1536), "ipadhd" }; - -#if (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_480X320) -static cocos2d::Size designResolutionSize = cocos2d::Size(480, 320); -#elif (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_1024X768) -static cocos2d::Size designResolutionSize = cocos2d::Size(1024, 768); -#elif (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_2048X1536) -static cocos2d::Size designResolutionSize = cocos2d::Size(2048, 1536); -#else -#error unknown target design resolution! -#endif - -// The font size 24 is designed for small resolution, so we should change it to fit for current design resolution -#define TITLE_FONT_SIZE (cocos2d::Director::getInstance()->getOpenGLView()->getDesignResolutionSize().width / smallResource.size.width * 24) - -#endif /* __APPMACROS_H__ */ diff --git a/tests/game-controller-test/Classes/GameControllerTest.cpp b/tests/game-controller-test/Classes/GameControllerTest.cpp deleted file mode 100644 index 820a4ec5fc..0000000000 --- a/tests/game-controller-test/Classes/GameControllerTest.cpp +++ /dev/null @@ -1,259 +0,0 @@ -#include "GameControllerTest.h" -#include "AppMacros.h" -#include "ui/CocosGUI.h" - -USING_NS_CC; - - -Scene* GameControllerTest::scene() -{ - auto scene = Scene::create(); - GameControllerTest *layer = GameControllerTest::create(); - scene->addChild(layer); - - return scene; -} - -GameControllerTest::~GameControllerTest() -{ - Controller::stopDiscoveryController(); -} - -bool GameControllerTest::init() -{ - if ( !Layer::init() ) - { - return false; - } - - auto visibleSize = Director::getInstance()->getVisibleSize(); - auto origin = Director::getInstance()->getVisibleOrigin(); - - auto tmpPos = Vec2(visibleSize / 2) + origin; - _actor = Sprite::create("CloseNormal.png"); - _actor->setPosition(tmpPos); - this->addChild(_actor,10); - - tmpPos.y -= 35; - _statusLabel = Label::createWithTTF("status", "fonts/Marker Felt.ttf", 40); - _statusLabel->setPosition(tmpPos); - this->addChild(_statusLabel, 0, 100); - - tmpPos.y += 65; - _leftTriggerLabel = Label::createWithTTF("left trigger", "fonts/Marker Felt.ttf", 40); - _leftTriggerLabel->setPosition(tmpPos); - this->addChild(_leftTriggerLabel, 0, 100); - - tmpPos.y += 40; - _rightTriggerLabel = Label::createWithTTF("right trigger", "fonts/Marker Felt.ttf", 40); - _rightTriggerLabel->setPosition(tmpPos); - this->addChild(_rightTriggerLabel, 0, 100); - - _listener = EventListenerController::create(); - _listener->onConnected = [=](Controller* controller, Event* event){ - _player1 = controller; - _statusLabel->setString("controller connected!"); - }; - - _listener->onDisconnected = [=](Controller* controller, Event* event){ - _player1 = nullptr; - _statusLabel->setString("controller disconnected!"); - }; - - _listener->onButtonPressed = CC_CALLBACK_3(GameControllerTest::onButtonPressed, this); - _listener->onButtonReleased = CC_CALLBACK_3(GameControllerTest::onButtonReleased, this); - _listener->onAxisValueChanged = CC_CALLBACK_3(GameControllerTest::onAxisValueChanged, this); - - _eventDispatcher->addEventListenerWithSceneGraphPriority(_listener, this); - - Controller::startDiscoveryController(); - - auto closeItem = MenuItemImage::create("CloseNormal.png", "CloseSelected.png", CC_CALLBACK_1(GameControllerTest::menuCloseCallback, this)); - closeItem->setPosition(origin + visibleSize - closeItem->getContentSize() / 2); - - auto menu = Menu::create(closeItem,nullptr); - menu->setPosition(Vec2::ZERO); - this->addChild(menu); - - //get game pad status in polling mode - scheduleUpdate(); - - return true; -} - -void GameControllerTest::onButtonPressed(cocos2d::Controller *controller, cocos2d::ControllerButtonInput *button, cocos2d::Event *event) -{ - if (controller == nullptr) - { - return; - } - _player1 = controller; - - auto gamePad = controller->getGamepad(); - - if (button == gamePad->getButtonA()) - { - _statusLabel->setString("button A pressed!"); - } - - if (button == gamePad->getButtonB()) - { - _statusLabel->setString("button B pressed!"); - } - - if (button == gamePad->getButtonX()) - { - _statusLabel->setString("button X pressed!"); - } - - if (button == gamePad->getButtonY()) - { - _statusLabel->setString("button Y pressed!"); - } - - if (button == gamePad->getDirectionPad()->getUp()) - { - _statusLabel->setString("Dpad up pressed!"); - } - - if (button == gamePad->getDirectionPad()->getDown()) - { - _statusLabel->setString("Dpad down pressed!"); - } - - if (button == gamePad->getDirectionPad()->getLeft()) - { - _statusLabel->setString("Dpad left pressed!"); - } - - if (button == gamePad->getDirectionPad()->getRight()) - { - _statusLabel->setString("Dpad right pressed!"); - } - - if (button == gamePad->getLeftShoulder()) - { - _statusLabel->setString("Left shoulder pressed!"); - } - - if (button == gamePad->getRightShoulder()) - { - _statusLabel->setString("Right shoulder pressed!"); - } -} - -void GameControllerTest::onButtonReleased(cocos2d::Controller *controller, cocos2d::ControllerButtonInput *button, cocos2d::Event *event) -{ - if (controller == nullptr) - { - return; - } - _player1 = controller; - - auto gamePad = controller->getGamepad(); - - if (button == gamePad->getButtonA()) - { - _statusLabel->setString("button A released!"); - } - - if (button == gamePad->getButtonB()) - { - _statusLabel->setString("button B released!"); - } - - if (button == gamePad->getButtonX()) - { - _statusLabel->setString("button X released!"); - } - - if (button == gamePad->getButtonY()) - { - _statusLabel->setString("button Y released!"); - } - - if (button == gamePad->getDirectionPad()->getUp()) - { - _statusLabel->setString("Dpad up released!"); - } - - if (button == gamePad->getDirectionPad()->getDown()) - { - _statusLabel->setString("Dpad down released!"); - } - - if (button == gamePad->getDirectionPad()->getLeft()) - { - _statusLabel->setString("Dpad left released!"); - } - - if (button == gamePad->getDirectionPad()->getRight()) - { - _statusLabel->setString("Dpad right released!"); - } - - if (button == gamePad->getLeftShoulder()) - { - _statusLabel->setString("Left shoulder released!"); - } - - if (button == gamePad->getRightShoulder()) - { - _statusLabel->setString("Right shoulder released!"); - } -} - -void GameControllerTest::onAxisValueChanged(cocos2d::Controller* controller, cocos2d::ControllerAxisInput* axis, cocos2d::Event* event) -{ - if (controller == nullptr) - { - return; - } - _player1 = controller; - - auto moveDelta = axis->getValue(); - Vec2 newPos = _actor->getPosition(); - auto gamePad = controller->getGamepad(); - - if (axis == gamePad->getLeftThumbstick()->getAxisX() || axis == gamePad->getRightThumbstick()->getAxisX()) - { - newPos.x += moveDelta; - } - else if (axis == gamePad->getLeftThumbstick()->getAxisY() || axis == gamePad->getRightThumbstick()->getAxisY()) - { - newPos.y -= moveDelta; - } - _actor->setPosition(newPos); -} - -void GameControllerTest::update(float dt) -{ - if (_player1 && _player1->isConnected()) - { - Vec2 newPos = _actor->getPosition(); - auto gamePad = _player1->getGamepad(); - - newPos.x += gamePad->getLeftThumbstick()->getAxisX()->getValue(); - newPos.y -= gamePad->getLeftThumbstick()->getAxisY()->getValue(); - - newPos.x += gamePad->getRightThumbstick()->getAxisX()->getValue(); - newPos.y -= gamePad->getRightThumbstick()->getAxisY()->getValue(); - - _actor->setPosition(newPos); - - char triggerStatus[50]; - sprintf(triggerStatus,"left trigger:%f",gamePad->getLeftTrigger()->getValue()); - _leftTriggerLabel->setString(triggerStatus); - sprintf(triggerStatus,"right trigger:%f",gamePad->getRightTrigger()->getValue()); - _rightTriggerLabel->setString(triggerStatus); - } -} - -void GameControllerTest::menuCloseCallback(Ref* sender) -{ - Director::getInstance()->end(); - -#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) - exit(0); -#endif -} \ No newline at end of file diff --git a/tests/game-controller-test/Classes/GameControllerTest.h b/tests/game-controller-test/Classes/GameControllerTest.h deleted file mode 100644 index 98e2fdb55e..0000000000 --- a/tests/game-controller-test/Classes/GameControllerTest.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef __GAMECONTROLLER_TEST_H__ -#define __GAMECONTROLLER_TEST_H__ - -#include "cocos2d.h" -#include "base/CCGameController.h" - -class GameControllerTest : public cocos2d::Layer -{ -public: - virtual ~GameControllerTest(); - - virtual bool init(); - - static cocos2d::Scene* scene(); - - // a selector callback - void menuCloseCallback(Ref* sender); - - // implement the "static node()" method manually - CREATE_FUNC(GameControllerTest); - - void update(float dt); - void onButtonPressed(cocos2d::Controller* controller, cocos2d::ControllerButtonInput* button, cocos2d::Event* event); - void onButtonReleased(cocos2d::Controller* controller, cocos2d::ControllerButtonInput* button, cocos2d::Event* event); - void onAxisValueChanged(cocos2d::Controller* controller, cocos2d::ControllerAxisInput* axis, cocos2d::Event* event); -private: - cocos2d::Controller* _player1; - cocos2d::Sprite* _actor; - cocos2d::Label* _statusLabel; - cocos2d::Label* _leftTriggerLabel; - cocos2d::Label* _rightTriggerLabel; - cocos2d::EventListenerController* _listener; -}; - -#endif // __GAMECONTROLLER_TEST_H__ diff --git a/tests/game-controller-test/Resources/.gitignore b/tests/game-controller-test/Resources/.gitignore deleted file mode 100644 index 1d65afe366..0000000000 --- a/tests/game-controller-test/Resources/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -#Do now ignore Marmalade icf files -!*.icf diff --git a/tests/game-controller-test/Resources/fonts/Marker Felt.ttf b/tests/game-controller-test/Resources/fonts/Marker Felt.ttf deleted file mode 100644 index 3752ef31106960b4a060bcc850ac89d8de7c71b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25776 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 Oh;?XN1X%k=Y5jl3*|FsS diff --git a/tests/game-controller-test/Resources/ipad/CloseNormal.png b/tests/game-controller-test/Resources/ipad/CloseNormal.png deleted file mode 100644 index 85a44c0d0367b9b621a714547bf483b8e1e21344..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16933 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 diff --git a/tests/game-controller-test/Resources/iphone/CloseSelected.png b/tests/game-controller-test/Resources/iphone/CloseSelected.png deleted file mode 100644 index f75c4179a57cf4803549c6739ad2ea0e6186e307..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5711 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 B=o

og7!T{y>(EFU(}JS|HmX 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 literal 0 HcmV?d00001 diff --git a/tests/game-controller-test/proj.ios/Default@2x.png b/tests/game-controller-test/proj.ios/Default@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..84689888a14a2123d2b39f7f2f61be8c15207479 GIT binary patch literal 580904 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%0DV`!*t~tQoIcS`9q!ry7yIlJnxFV`sDXqW9&=#h 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

wg8 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 literal 0 HcmV?d00001 diff --git a/cocos/platform/android/ControllerNibiru/proguard-project.txt b/cocos/platform/android/ControllerNibiru/proguard-project.txt new file mode 100644 index 0000000000..f2fe1559a2 --- /dev/null +++ b/cocos/platform/android/ControllerNibiru/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/cocos/platform/android/ControllerNibiru/res/.gitignore b/cocos/platform/android/ControllerNibiru/res/.gitignore new file mode 100644 index 0000000000..e69de29bb2 diff --git a/cocos/platform/android/ControllerNibiru/src/org/cocos2dx/lib/GameControllerNibiru.java b/cocos/platform/android/ControllerNibiru/src/org/cocos2dx/lib/GameControllerNibiru.java new file mode 100644 index 0000000000..c53a661500 --- /dev/null +++ b/cocos/platform/android/ControllerNibiru/src/org/cocos2dx/lib/GameControllerNibiru.java @@ -0,0 +1,209 @@ +package org.cocos2dx.lib; + +import org.cocos2dx.lib.GameControllerDelegate; + +import com.nibiru.lib.controller.AccEvent; +import com.nibiru.lib.controller.Controller; +import com.nibiru.lib.controller.ControllerDevice; +import com.nibiru.lib.controller.ControllerKeyEvent; +import com.nibiru.lib.controller.ControllerService; +import com.nibiru.lib.controller.ControllerService.OnControllerSeviceListener; +import com.nibiru.lib.controller.ControllerServiceException; +import com.nibiru.lib.controller.GyroEvent; +import com.nibiru.lib.controller.OnAccListener; +import com.nibiru.lib.controller.OnGyroListener; +import com.nibiru.lib.controller.OnKeyListener; +import com.nibiru.lib.controller.OnSimpleStickListener; +import com.nibiru.lib.controller.OnStateListener; + +import android.content.Context; +import android.os.Bundle; +import android.util.Log; +import android.util.SparseIntArray; +import android.view.KeyEvent; +import android.view.MotionEvent; + +public class GameControllerNibiru implements OnControllerSeviceListener, OnKeyListener, +OnSimpleStickListener, OnAccListener, OnGyroListener, OnStateListener, GameControllerDelegate { + + private static final String TAG = "NibiruTag"; + private static final String mVendorName = "Nibiru"; + + private Context mContext; + private SparseIntArray mKeyMap; + private ControllerEventListener mControllerEventListener = null; + private ControllerService mControllerService = null; + + public GameControllerNibiru() { + mKeyMap = new SparseIntArray(20); + + mKeyMap.put(ControllerKeyEvent.KEYCODE_BUTTON_A , GameControllerDelegate.BUTTON_A); + mKeyMap.put(ControllerKeyEvent.KEYCODE_BUTTON_B , GameControllerDelegate.BUTTON_B); + mKeyMap.put(ControllerKeyEvent.KEYCODE_BUTTON_X , GameControllerDelegate.BUTTON_X); + mKeyMap.put(ControllerKeyEvent.KEYCODE_BUTTON_Y , GameControllerDelegate.BUTTON_Y); + mKeyMap.put(ControllerKeyEvent.KEYCODE_BUTTON_L1 , GameControllerDelegate.BUTTON_LEFT_SHOULDER); + mKeyMap.put(ControllerKeyEvent.KEYCODE_BUTTON_R1 , GameControllerDelegate.BUTTON_RIGHT_SHOULDER); + mKeyMap.put(ControllerKeyEvent.KEYCODE_BUTTON_L2, GameControllerDelegate.BUTTON_LEFT_TRIGGER); + mKeyMap.put(ControllerKeyEvent.KEYCODE_BUTTON_R2, GameControllerDelegate.BUTTON_RIGHT_TRIGGER); + mKeyMap.put(ControllerKeyEvent.KEYCODE_UP , GameControllerDelegate.BUTTON_DPAD_UP); + mKeyMap.put(ControllerKeyEvent.KEYCODE_DOWN , GameControllerDelegate.BUTTON_DPAD_DOWN); + mKeyMap.put(ControllerKeyEvent.KEYCODE_LEFT , GameControllerDelegate.BUTTON_DPAD_LEFT); + mKeyMap.put(ControllerKeyEvent.KEYCODE_RIGHT , GameControllerDelegate.BUTTON_DPAD_RIGHT); + mKeyMap.put(ControllerKeyEvent.KEYCODE_BUTTON_START , GameControllerDelegate.BUTTON_START); + mKeyMap.put(ControllerKeyEvent.KEYCODE_BUTTON_SELECT , GameControllerDelegate.BUTTON_SELECT); + mKeyMap.put(ControllerKeyEvent.KEYCODE_BUTTON_THUMBL , GameControllerDelegate.BUTTON_LEFT_THUMBSTICK); + mKeyMap.put(ControllerKeyEvent.KEYCODE_BUTTON_THUMBR , GameControllerDelegate.BUTTON_RIGHT_THUMBSTICK); + } + + @Override + public void setControllerEventListener(ControllerEventListener listener) { + mControllerEventListener = listener; + } + + public void onCreate(Context context) { + mContext = context; + + mControllerService = Controller.getControllerService(); + if (mControllerService != null) { + mControllerService.setControllerServiceListener(this); + mControllerService.setStateListener(this); + mControllerService.setKeyListener(this); + mControllerService.setSimpleStickListener(this); + //mControllerService.setAccListener(this); + //mControllerService.setGyroListener(this); + mControllerService.setEnableLR2(true); + mControllerService.setAutoKeyUpMode(false); + + mControllerService.checkNibiruInstall(mContext, true); + } + } + + public void onPause() { + if (mControllerService != null) { + mControllerService.setEnable(false); + } + } + + public void onResume() { + if (mControllerService != null) { + if (mControllerService.isServiceEnable()) { + //onControllerServiceReady(true); + } else { + if (mControllerService.checkNibiruInstall(mContext, false)) { + try { + mControllerService.register(mContext); + } catch (ControllerServiceException e) { + e.printStackTrace(); + } + } + } + + mControllerService.setEnable(true); + } + } + + public void onDestroy() { + if( mControllerService != null ){ + mControllerService.unregister(); + } + } + + @Override + public void onControllerServiceReady(boolean isSucc) { + if( isSucc ) + { + if( !mControllerService.hasDeviceConnected() ){ + Bundle bun = new Bundle(); + bun.putBoolean(ControllerService.FLAG_IS_SHOW_GAMEPAD_TIP, true); + try { + mControllerService.showDeviceManagerUI(mContext, bun); + } catch (ControllerServiceException e) { + e.printStackTrace(); + } + } + } + } + + @Override + public void onControllerKeyDown(int playerOrder, int keyCode, ControllerKeyEvent event) { + if (mKeyMap.get(keyCode) == 0) { + Log.e(TAG, "Didn't map the key: " + keyCode); + return; + } + + if (mControllerEventListener != null) { + mControllerEventListener.onButtonEvent(mVendorName, playerOrder, mKeyMap.get(keyCode), true, 1.0f, false); + } + } + + @Override + public void onControllerKeyUp(int playerOrder, int keyCode, ControllerKeyEvent event) { + if (mKeyMap.get(keyCode) == 0) { + Log.e(TAG, "Didn't map the key: " + keyCode); + return; + } + + if (mControllerEventListener != null) { + mControllerEventListener.onButtonEvent(mVendorName, playerOrder, + mKeyMap.get(keyCode), false, 0.0f, false); + } + } + + @Override + public void onLeftStickChanged(int playerOrder, float x, float y) { + if (mControllerEventListener != null) { + mControllerEventListener.onAxisEvent(mVendorName, playerOrder, + GameControllerDelegate.THUMBSTICK_LEFT_X, x, true); + mControllerEventListener.onAxisEvent(mVendorName, playerOrder, + GameControllerDelegate.THUMBSTICK_LEFT_Y, y, true); + } + } + + @Override + public void onRightStickChanged(int playerOrder, float x, float y) { + if (mControllerEventListener != null) { + mControllerEventListener.onAxisEvent(mVendorName, playerOrder, + GameControllerDelegate.THUMBSTICK_RIGHT_X, x, true); + mControllerEventListener.onAxisEvent(mVendorName, playerOrder, + GameControllerDelegate.THUMBSTICK_RIGHT_Y, y, true); + } + } + + @Override + public void onControllerStateChanged(int playerOrder, int state, ControllerDevice device) { + if (mControllerEventListener != null) { + if (state == ControllerDevice.STATE_CONN) + { + mControllerEventListener.onConnected(mVendorName, playerOrder); + } + else if (state == ControllerDevice.STATE_DISCONN) + { + mControllerEventListener.onDisconnected(mVendorName, playerOrder); + } + } + } + + public boolean dispatchGenericMotionEvent(MotionEvent event){ + return mControllerService.handleExternalInput(event); + } + + public boolean dispatchKeyEvent(KeyEvent event){ + return mControllerService.handleExternalInput(event); + } + + @Override + public void onControllerAccEvent(int playerOrder, AccEvent event) { + + } + + @Override + public void onControllerGyroEvent(int playerOrder, GyroEvent event) { + + } + + @Override + public void onBluetoothStateChanged(int state) { + Log.d(TAG, "onBluetoothStateChanged:"+state); + } + +} diff --git a/cocos/platform/android/ControllerOuya/.classpath b/cocos/platform/android/ControllerOuya/.classpath new file mode 100644 index 0000000000..51769745b2 --- /dev/null +++ b/cocos/platform/android/ControllerOuya/.classpath @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/cocos/platform/android/ControllerOuya/.project b/cocos/platform/android/ControllerOuya/.project new file mode 100644 index 0000000000..51255ee3c0 --- /dev/null +++ b/cocos/platform/android/ControllerOuya/.project @@ -0,0 +1,33 @@ + + + libcontrollerouya + + + + + + com.android.ide.eclipse.adt.ResourceManagerBuilder + + + + + com.android.ide.eclipse.adt.PreCompilerBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.android.ide.eclipse.adt.ApkBuilder + + + + + + com.android.ide.eclipse.adt.AndroidNature + org.eclipse.jdt.core.javanature + + diff --git a/cocos/platform/android/ControllerOuya/.settings/org.eclipse.jdt.core.prefs b/cocos/platform/android/ControllerOuya/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000000..b080d2ddc8 --- /dev/null +++ b/cocos/platform/android/ControllerOuya/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/cocos/platform/android/ControllerOuya/AndroidManifest.xml b/cocos/platform/android/ControllerOuya/AndroidManifest.xml new file mode 100644 index 0000000000..d1f4a837d8 --- /dev/null +++ b/cocos/platform/android/ControllerOuya/AndroidManifest.xml @@ -0,0 +1,9 @@ + + + + + + diff --git a/cocos/platform/android/ControllerOuya/ant.properties b/cocos/platform/android/ControllerOuya/ant.properties new file mode 100644 index 0000000000..b0971e891e --- /dev/null +++ b/cocos/platform/android/ControllerOuya/ant.properties @@ -0,0 +1,17 @@ +# This file is used to override default values used by the Ant build system. +# +# This file must be checked into Version Control Systems, as it is +# integral to the build system of your project. + +# This file is only used by the Ant script. + +# You can use this to override default values such as +# 'source.dir' for the location of your java source folder and +# 'out.dir' for the location of your output folder. + +# You can also use it define how the release builds are signed by declaring +# the following properties: +# 'key.store' for the location of your keystore and +# 'key.alias' for the name of the key to use. +# The password will be asked during the build when you use the 'release' target. + diff --git a/cocos/platform/android/ControllerOuya/build.xml b/cocos/platform/android/ControllerOuya/build.xml new file mode 100644 index 0000000000..7fc3634914 --- /dev/null +++ b/cocos/platform/android/ControllerOuya/build.xml @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cocos/platform/android/ControllerOuya/libs/ouya-sdk.jar b/cocos/platform/android/ControllerOuya/libs/ouya-sdk.jar new file mode 100644 index 0000000000000000000000000000000000000000..90e039b5e53830074e8d1212d02d8160a25ec81e GIT binary patch literal 167378 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%0D?(tjIA{~R7PMno`#>h2jwL_EoG#?O`ggrbLR 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�FT{u0C2kK$AqMX;iZ5 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 bDEzOM0Re~&U|<4){|12gcnA3BFfjiQ8DmE_ literal 0 HcmV?d00001 diff --git a/cocos/platform/android/ControllerOuya/proguard-project.txt b/cocos/platform/android/ControllerOuya/proguard-project.txt new file mode 100644 index 0000000000..f2fe1559a2 --- /dev/null +++ b/cocos/platform/android/ControllerOuya/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/cocos/platform/android/ControllerOuya/res/.gitignore b/cocos/platform/android/ControllerOuya/res/.gitignore new file mode 100644 index 0000000000..e69de29bb2 diff --git a/cocos/platform/android/ControllerOuya/src/org/cocos2dx/lib/GameControllerOuya.java b/cocos/platform/android/ControllerOuya/src/org/cocos2dx/lib/GameControllerOuya.java new file mode 100644 index 0000000000..30149f7761 --- /dev/null +++ b/cocos/platform/android/ControllerOuya/src/org/cocos2dx/lib/GameControllerOuya.java @@ -0,0 +1,182 @@ +package org.cocos2dx.lib; + + +import org.cocos2dx.lib.GameControllerDelegate; + +import tv.ouya.console.api.OuyaController; +import android.content.Context; +import android.util.SparseIntArray; +import android.view.KeyEvent; +import android.view.MotionEvent; + +public class GameControllerOuya implements GameControllerDelegate{ + + public static final String sVendorName = "Ouya"; + + private SparseIntArray mKeyMap; + + public GameControllerOuya(){ + mKeyMap = new SparseIntArray(20); + mKeyMap.put(OuyaController.BUTTON_A, GameControllerDelegate.BUTTON_B); + mKeyMap.put(OuyaController.BUTTON_O, GameControllerDelegate.BUTTON_A); + mKeyMap.put(OuyaController.BUTTON_U, GameControllerDelegate.BUTTON_X); + mKeyMap.put(OuyaController.BUTTON_Y, GameControllerDelegate.BUTTON_Y); + mKeyMap.put(OuyaController.BUTTON_DPAD_DOWN, GameControllerDelegate.BUTTON_DPAD_DOWN); + mKeyMap.put(OuyaController.BUTTON_DPAD_LEFT, GameControllerDelegate.BUTTON_DPAD_LEFT); + mKeyMap.put(OuyaController.BUTTON_DPAD_RIGHT, GameControllerDelegate.BUTTON_DPAD_RIGHT); + mKeyMap.put(OuyaController.BUTTON_DPAD_UP, GameControllerDelegate.BUTTON_DPAD_UP); + mKeyMap.put(OuyaController.BUTTON_L1, GameControllerDelegate.BUTTON_LEFT_SHOULDER); + mKeyMap.put(OuyaController.BUTTON_R1, GameControllerDelegate.BUTTON_RIGHT_SHOULDER); + mKeyMap.put(OuyaController.AXIS_L2, GameControllerDelegate.BUTTON_LEFT_TRIGGER); + mKeyMap.put(OuyaController.AXIS_R2, GameControllerDelegate.BUTTON_RIGHT_TRIGGER); + + mKeyMap.put(OuyaController.AXIS_LS_X, GameControllerDelegate.BUTTON_LEFT_THUMBSTICK); + mKeyMap.put(OuyaController.AXIS_LS_Y, GameControllerDelegate.BUTTON_LEFT_THUMBSTICK); + mKeyMap.put(OuyaController.AXIS_RS_X, GameControllerDelegate.BUTTON_RIGHT_THUMBSTICK); + mKeyMap.put(OuyaController.AXIS_RS_Y, GameControllerDelegate.BUTTON_RIGHT_THUMBSTICK); + } + + public void onCreate(Context context) { + OuyaController.init(context); + /*GameControllerAdapter.addRunnableToFrameStartList(new Runnable() { + + @Override + public void run() { + OuyaController.startOfFrame(); + } + + });*/ + } + + private float mOldLeftThumbstickX = 0.0f; + private float mOldLeftThumbstickY = 0.0f; + private float mOldRightThumbstickX = 0.0f; + private float mOldRightThumbstickY = 0.0f; + + private float mOldLeftTrigger = 0.0f; + private float mOldRightTrigger = 0.0f; + + public boolean dispatchGenericMotionEvent(MotionEvent event) { + boolean handled = OuyaController.onGenericMotionEvent(event); + + if (handled && mControllerEventListener != null) + { + OuyaController c = OuyaController.getControllerByDeviceId(event.getDeviceId()); + int controllerID = OuyaController.getPlayerNumByDeviceId(event.getDeviceId()); + + float newLeftTrigger = c.getAxisValue(OuyaController.AXIS_L2); + if (Float.compare(newLeftTrigger, mOldLeftTrigger) != 0) { + if (Float.compare(newLeftTrigger, 0.0f) == 0) { + mControllerEventListener.onButtonEvent(sVendorName, controllerID, GameControllerDelegate.BUTTON_LEFT_TRIGGER, false, 0.0f, true); + }else { + mControllerEventListener.onButtonEvent(sVendorName, controllerID, GameControllerDelegate.BUTTON_LEFT_TRIGGER, true, newLeftTrigger, true); + } + mOldLeftTrigger = newLeftTrigger; + } + + float newRightTrigger = c.getAxisValue(OuyaController.AXIS_R2); + if (Float.compare(newRightTrigger, mOldRightTrigger) != 0) { + if (Float.compare(newRightTrigger, 0.0f) == 0) { + mControllerEventListener.onButtonEvent(sVendorName, controllerID, GameControllerDelegate.BUTTON_RIGHT_TRIGGER, false, 0.0f, true); + }else { + mControllerEventListener.onButtonEvent(sVendorName, controllerID, GameControllerDelegate.BUTTON_RIGHT_TRIGGER, true, newRightTrigger, true); + } + mOldRightTrigger = newRightTrigger; + } + + float newLeftThumbstickX = c.getAxisValue(OuyaController.AXIS_LS_X); + if (Float.compare(newLeftThumbstickX, mOldLeftThumbstickX) != 0) { + if (Float.compare(newLeftThumbstickX, 0.0f) == 0) { + mControllerEventListener.onAxisEvent(sVendorName, controllerID, GameControllerDelegate.THUMBSTICK_LEFT_X, 0.0f, true); + }else { + mControllerEventListener.onAxisEvent(sVendorName, controllerID, GameControllerDelegate.THUMBSTICK_LEFT_X, newLeftThumbstickX, true); + } + mOldLeftThumbstickX = newLeftThumbstickX; + } + + float newLeftThumbstickY = c.getAxisValue(OuyaController.AXIS_LS_Y); + if (Float.compare(newLeftThumbstickY, mOldLeftThumbstickY) != 0) { + if (Float.compare(newLeftThumbstickY, 0.0f) == 0) { + mControllerEventListener.onAxisEvent(sVendorName, controllerID, GameControllerDelegate.THUMBSTICK_LEFT_Y, 0.0f, true); + }else { + mControllerEventListener.onAxisEvent(sVendorName, controllerID, GameControllerDelegate.THUMBSTICK_LEFT_Y, newLeftThumbstickY, true); + } + mOldLeftThumbstickY = newLeftThumbstickY; + } + + float newRightThumbstickX = c.getAxisValue(OuyaController.AXIS_RS_X); + if (Float.compare(newRightThumbstickX, mOldRightThumbstickX) != 0) { + if (Float.compare(newRightThumbstickX, 0.0f) == 0) { + mControllerEventListener.onAxisEvent(sVendorName, controllerID, GameControllerDelegate.THUMBSTICK_RIGHT_X, 0.0f, true); + }else { + mControllerEventListener.onAxisEvent(sVendorName, controllerID, GameControllerDelegate.THUMBSTICK_RIGHT_X, newRightThumbstickX, true); + } + mOldRightThumbstickX = newRightThumbstickX; + } + + float newRightThumbstickY = c.getAxisValue(OuyaController.AXIS_RS_Y); + if (Float.compare(newRightThumbstickY, mOldRightThumbstickY) != 0) { + if (Float.compare(newRightThumbstickY, 0.0f) == 0) { + mControllerEventListener.onAxisEvent(sVendorName, controllerID, GameControllerDelegate.THUMBSTICK_RIGHT_Y, 0.0f, true); + }else { + mControllerEventListener.onAxisEvent(sVendorName, controllerID, GameControllerDelegate.THUMBSTICK_RIGHT_Y, newRightThumbstickY, true); + } + mOldRightThumbstickY = newRightThumbstickY; + } + } + + return handled; + } + + public boolean dispatchKeyEvent(KeyEvent event) { + boolean handled = false; + int action = event.getAction(); + int keyCode = event.getKeyCode(); + + if (action == KeyEvent.ACTION_DOWN) { + handled = OuyaController.onKeyDown(keyCode, event); + } + else if (action == KeyEvent.ACTION_UP) { + handled = OuyaController.onKeyUp(keyCode, event); + } + + if (handled && mControllerEventListener != null) { + boolean isAnalog = false; + + if (keyCode == KeyEvent.KEYCODE_BUTTON_THUMBL || keyCode == KeyEvent.KEYCODE_BUTTON_THUMBR){ + isAnalog = true; + } + + int controllerID = OuyaController.getPlayerNumByDeviceId(event.getDeviceId()); + if (action == KeyEvent.ACTION_DOWN) { + mControllerEventListener.onButtonEvent(sVendorName, controllerID, mKeyMap.get(keyCode), true, 1.0f, isAnalog); + }else { + mControllerEventListener.onButtonEvent(sVendorName, controllerID, mKeyMap.get(keyCode), false, 0.0f, isAnalog); + } + } + + return handled; + } + + public void onPause() { + // show the mouse cursor + OuyaController.showCursor(true); + } + + public void onResume() { + // hide the mouse cursor + OuyaController.showCursor(false); + } + + public void onDestroy() { + + } + + private ControllerEventListener mControllerEventListener; + + @Override + public void setControllerEventListener(ControllerEventListener listener) { + mControllerEventListener = listener; + } + +} diff --git a/cocos/platform/android/java/lint.xml b/cocos/platform/android/java/lint.xml new file mode 100644 index 0000000000..3ec474892d --- /dev/null +++ b/cocos/platform/android/java/lint.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/cocos/platform/android/java/project.properties b/cocos/platform/android/java/project.properties index 88ca83f9d0..732c58e368 100644 --- a/cocos/platform/android/java/project.properties +++ b/cocos/platform/android/java/project.properties @@ -12,4 +12,5 @@ android.library=true # Project target. -target=android-10 +target=android-16 +android.library.reference.1=../ControllerDelegate diff --git a/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxActivity.java b/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxActivity.java index a1bac4a217..265387c29e 100644 --- a/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxActivity.java +++ b/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxActivity.java @@ -24,6 +24,9 @@ THE SOFTWARE. package org.cocos2dx.lib; import org.cocos2dx.lib.Cocos2dxHelper.Cocos2dxHelperListener; +import org.cocos2dx.lib.GameControllerDelegate.ControllerEventListener; +import org.cocos2dx.lib.inputmanagercompat.InputManagerCompat; +import org.cocos2dx.lib.inputmanagercompat.InputManagerCompat.InputDeviceListener; import android.app.Activity; import android.content.Context; @@ -33,12 +36,15 @@ import android.content.pm.PackageManager; import android.os.Build; import android.os.Bundle; import android.os.Message; +import android.view.InputDevice; +import android.view.KeyEvent; +import android.view.MotionEvent; import android.view.ViewGroup; import android.util.Log; import android.widget.FrameLayout; import android.preference.PreferenceManager.OnActivityResultListener; -public abstract class Cocos2dxActivity extends Activity implements Cocos2dxHelperListener { +public abstract class Cocos2dxActivity extends Activity implements Cocos2dxHelperListener, InputDeviceListener { // =========================================================== // Constants // =========================================================== @@ -50,32 +56,68 @@ public abstract class Cocos2dxActivity extends Activity implements Cocos2dxHelpe // =========================================================== private Cocos2dxGLSurfaceView mGLSurfaceView; - private Cocos2dxHandler mHandler; + private Cocos2dxHandler mHandler; private static Cocos2dxActivity sContext = null; private Cocos2dxVideoHelper mVideoHelper = null; + private InputManagerCompat mInputManager = null; + + protected GameControllerHelper mControllerHelper = null; + protected GameControllerDelegate mControllerDelegate = null; public static Context getContext() { return sContext; } - protected void onLoadNativeLibraries() { try { ApplicationInfo ai = getPackageManager().getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA); Bundle bundle = ai.metaData; - try { - String libName = bundle.getString("android.app.lib_name"); - System.loadLibrary(libName); - } catch (Exception e) { - // ERROR - e.printStackTrace(); - } - } catch (PackageManager.NameNotFoundException e) { - // ERROR + String libName = bundle.getString("android.app.lib_name"); + System.loadLibrary(libName); + } catch (Exception e) { e.printStackTrace(); } } + public void setGameControllerInstance(GameControllerDelegate controllerDelegate) { + if (mControllerDelegate != null) { + mControllerDelegate.onDestroy(); + mControllerDelegate = null; + } + mControllerDelegate = controllerDelegate; + mControllerDelegate.setControllerEventListener(mControllerEventListener); + mControllerDelegate.onCreate(this); + } + + public GameControllerDelegate getGameControllerInstance(){ + return mControllerDelegate; + } + + ControllerEventListener mControllerEventListener = new ControllerEventListener() { + + @Override + public void onButtonEvent(String vendorName, int controller, int button, + boolean isPressed, float value, boolean isAnalog) { + GameControllerAdapter.onButtonEvent(vendorName, controller, button, isPressed, value, isAnalog); + } + + @Override + public void onAxisEvent(String vendorName, int controller, int axisID, + float value, boolean isAnalog) { + GameControllerAdapter.onAxisEvent(vendorName, controller, axisID, value, isAnalog); + } + + @Override + public void onConnected(String vendorName, int controller) { + GameControllerAdapter.onConnected(vendorName, controller); + } + + @Override + public void onDisconnected(String vendorName, int controller) { + GameControllerAdapter.onDisconnected(vendorName, controller); + } + }; + // =========================================================== // Constructors // =========================================================== @@ -95,6 +137,16 @@ public abstract class Cocos2dxActivity extends Activity implements Cocos2dxHelpe if (mVideoHelper == null) { mVideoHelper = new Cocos2dxVideoHelper(this, mFrameLayout); } + + mInputManager = InputManagerCompat.Factory.getInputManager(this); + mInputManager.registerInputDeviceListener(this, null); + + if (mControllerDelegate != null) { + mControllerDelegate.onCreate(this); + } + if (mControllerHelper == null) { + mControllerHelper = new GameControllerHelper(this); + } } // =========================================================== @@ -105,21 +157,111 @@ public abstract class Cocos2dxActivity extends Activity implements Cocos2dxHelpe // Methods for/from SuperClass/Interfaces // =========================================================== + @Override + public boolean dispatchKeyEvent(KeyEvent event) { + boolean handled = false; + if (mControllerDelegate != null) { + handled = mControllerDelegate.dispatchKeyEvent(event); + } + else { + handled = mControllerHelper.dispatchKeyEvent(event); + } + return handled || super.dispatchKeyEvent(event); + } + + @Override + public boolean dispatchGenericMotionEvent(MotionEvent event) { + boolean handled = false; + if (mControllerDelegate != null) { + handled = mControllerDelegate.dispatchGenericMotionEvent(event); + }else { + handled = mControllerHelper.dispatchGenericMotionEvent(event); + } + return handled || super.dispatchGenericMotionEvent(event); + } + + @Override + public void onInputDeviceAdded(int deviceId) { + + Log.d(TAG,"onInputDeviceAdded:" + deviceId); + + InputDevice device = InputDevice.getDevice(deviceId); + int deviceSource = device.getSources(); + + if ( ((deviceSource & InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD) + || ((deviceSource & InputDevice.SOURCE_JOYSTICK) == InputDevice.SOURCE_JOYSTICK) ) + { + GameControllerAdapter.onConnected("Standard", deviceId); + } + } + /* + * This is an unusual case. Input devices don't typically change, but they + * certainly can --- for example a device may have different modes. We use + * this to make sure that the ship has an up-to-date InputDevice. + * + * @see + * com.example.inputmanagercompat.InputManagerCompat.InputDeviceListener + * #onInputDeviceChanged(int) + */ + @Override + public void onInputDeviceChanged(int deviceId) { + Log.d(TAG,"onInputDeviceChanged:" + deviceId); + } + + /* + * Remove any ship associated with the ID. + * + * @see + * com.example.inputmanagercompat.InputManagerCompat.InputDeviceListener + * #onInputDeviceRemoved(int) + */ + @Override + public void onInputDeviceRemoved(int deviceId) { + Log.d(TAG,"onInputDeviceRemoved:" + deviceId); + + InputDevice device = InputDevice.getDevice(deviceId); + int deviceSource = device.getSources(); + + if ( ((deviceSource & InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD) + || ((deviceSource & InputDevice.SOURCE_JOYSTICK) == InputDevice.SOURCE_JOYSTICK) ) + { + GameControllerAdapter.onDisconnected("Standard", deviceId); + } + } + @Override protected void onResume() { super.onResume(); Cocos2dxHelper.onResume(); this.mGLSurfaceView.onResume(); + + if (mControllerDelegate != null) { + mControllerDelegate.onResume(); + } } @Override protected void onPause() { + if (mControllerDelegate != null) { + mControllerDelegate.onPause(); + } + super.onPause(); - + Cocos2dxHelper.onPause(); this.mGLSurfaceView.onPause(); } + + @Override + protected void onDestroy() { + if (mControllerDelegate != null) { + mControllerDelegate.onDestroy(); + } + mControllerHelper.destrory(); + + super.onDestroy(); + } @Override public void showDialog(final String pTitle, final String pMessage) { diff --git a/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxHelper.java b/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxHelper.java index e3617b80ef..3cabec4822 100644 --- a/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxHelper.java +++ b/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxHelper.java @@ -33,9 +33,7 @@ import java.lang.Runnable; import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; -import android.content.pm.ActivityInfo; import android.content.pm.ApplicationInfo; -import android.content.pm.PackageManager; import android.content.res.AssetManager; import android.os.Build; import android.preference.PreferenceManager.OnActivityResultListener; diff --git a/cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerAdapter.java b/cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerAdapter.java new file mode 100644 index 0000000000..93f675f0a2 --- /dev/null +++ b/cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerAdapter.java @@ -0,0 +1,77 @@ +package org.cocos2dx.lib; + +import java.util.ArrayList; + +public class GameControllerAdapter { + private static ArrayList sRunnableFrameStartList = null; + + public static void addRunnableToFrameStartList(Runnable runnable) { + if (sRunnableFrameStartList == null) + sRunnableFrameStartList = new ArrayList(); + sRunnableFrameStartList.add(runnable); + } + + public static void removeRunnableFromFrameStartList(Runnable runnable) { + if (sRunnableFrameStartList != null) + sRunnableFrameStartList.remove(runnable); + } + + public static void onDrawFrameStart() { + if (sRunnableFrameStartList != null) + { + int size = sRunnableFrameStartList.size(); + for (int i = 0; i < size; ++i) { + sRunnableFrameStartList.get(i).run(); + } + } + } + + public static void onConnected(final String vendorName, final int controller) + { + Cocos2dxHelper.runOnGLThread(new Runnable() { + + @Override + public void run() { + nativeControllerConnected(vendorName, controller); + } + }); + } + + public static void onDisconnected(final String vendorName, final int controller) + { + Cocos2dxHelper.runOnGLThread(new Runnable() { + + @Override + public void run() { + nativeControllerDisconnected(vendorName, controller); + } + }); + } + + public static void onButtonEvent(final String vendorName, final int controller, final int button, final boolean isPressed, final float value, final boolean isAnalog) + { + Cocos2dxHelper.runOnGLThread(new Runnable() { + + @Override + public void run() { + nativeControllerButtonEvent(vendorName, controller, button, isPressed, value, isAnalog); + } + }); + } + + public static void onAxisEvent(final String vendorName, final int controller, final int axisID, final float value, final boolean isAnalog) + { + Cocos2dxHelper.runOnGLThread(new Runnable() { + + @Override + public void run() { + nativeControllerAxisEvent(vendorName, controller, axisID, value, isAnalog); + } + }); + } + + private static native void nativeControllerConnected(final String vendorName, final int controller); + private static native void nativeControllerDisconnected(final String vendorName, final int controller); + private static native void nativeControllerButtonEvent(final String vendorName, final int controller, final int button, final boolean isPressed, final float value, final boolean isAnalog); + private static native void nativeControllerAxisEvent(final String vendorName, final int controller, final int axisID, final float value, final boolean isAnalog); +} diff --git a/cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerHelper.java b/cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerHelper.java new file mode 100644 index 0000000000..8c143c63a1 --- /dev/null +++ b/cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerHelper.java @@ -0,0 +1,870 @@ +package org.cocos2dx.lib; + +import java.io.File; +import java.io.FileOutputStream; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Set; + +import org.json.JSONArray; +import org.json.JSONObject; +import org.apache.http.Header; + +import com.loopj.android.http.AsyncHttpClient; +import com.loopj.android.http.FileAsyncHttpResponseHandler; +import com.loopj.android.http.JsonHttpResponseHandler; + +import dalvik.system.DexClassLoader; +import android.bluetooth.BluetoothAdapter; +import android.bluetooth.BluetoothDevice; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageManager; +import android.content.pm.PackageManager.NameNotFoundException; +import android.net.Uri; +import android.os.Environment; +import android.util.Log; +import android.util.SparseIntArray; +import android.view.InputDevice; +import android.view.KeyEvent; +import android.view.MotionEvent; +import android.widget.Toast; + +public class GameControllerHelper { + + private final static String TAG = GameControllerHelper.class.getSimpleName(); + + public static final String StandardControllerName = "Standard"; + public static final String[] DRIVERS_NAME = {"nibiru","moga","ouya",StandardControllerName}; + + public static final int DRIVERTYPE_NIBIRU = 0; + public static final int DRIVERTYPE_MOGA = 1; + public static final int DRIVERTYPE_OUYA = 2; + public static final int DRIVERTYPE_STANDARD = 3; + public static final int DRIVERTYPE_UNKNOWN = 4; + + public static final String SPP_UUID = "00001101-0000-1000-8000-00805F9B34FB"; + + SparseIntArray ControllerKeyMap; + + private static final String COCOS_CONTROLLER_URL = "http://115.28.134.83:9000/download/cocoscontroller/"; + private static final String COCOS_CONTROLLER_CONFIG = "controller.json"; + + private static final String NIBIRU_DEP_PACKAGE = "com.nibiru"; + private static final String MOGA__DEP_PACKAGE = "com.bda.pivot.mogapgp"; + + private static Cocos2dxActivity sCocos2dxActivity; + private static GameControllerHelper sControllerHelper; + + private List mNibiruSupportedDrives; + private String mNibiruDepFileName; + private String mNibiruLibFileName; + private int mNibiruLibFileSize; + private int mNibiruDepFileSize; + + private List mMogaSupportedDrives; + private String mMogaDepFileName; + private String mMogaLibFileName; + private int mMogaLibFileSize; + private int mMogaDepFileSize; + + private List mOuyaSupportedDrives; + private String mOuyaLibFileName; + private int mOuyaLibFileSize; + + private AsyncHttpClient mDownDepsHttpClient = null; + + private BluetoothAdapter mBluetoothAdapter = null; + private ArrayList mBluetoothDevices = null; + private SparseIntArray mDevicesDriver; + private int mClearDevices = 0; + + private String mConfigFilePath; + private String mLocalSavePath = null; + + private boolean mLazyInit = true; + private boolean mLazyConfigInit = true; + private static ControllerListener mControllerListener = null; + + public static interface ControllerListener{ + void onDownloadConfigStarted(); + void onDownloadConfigFinished(boolean isSuccess); + + void onControllerDiscoveryStarted(); + // + void onControllerDiscoveryFinish(ArrayList devices); + + void onDownloadDepsStarted(); + void onDownloadDepsProgress(int bytesWritten, int totalSize); + void onDownloadDepsFinished(boolean isSuccess); + + void onInstallDriver(String filePath); + void onConnectController(); + } + + public void setControllerListener(ControllerListener listener){ + mControllerListener = listener; + } + + public GameControllerHelper(Cocos2dxActivity activity){ + sCocos2dxActivity = activity; + sControllerHelper = this; + + ControllerKeyMap = new SparseIntArray(25); + ControllerKeyMap.put(KeyEvent.KEYCODE_BUTTON_A, GameControllerDelegate.BUTTON_A); + ControllerKeyMap.put(KeyEvent.KEYCODE_BUTTON_B, GameControllerDelegate.BUTTON_B); + ControllerKeyMap.put(KeyEvent.KEYCODE_BUTTON_C, GameControllerDelegate.BUTTON_C); + ControllerKeyMap.put(KeyEvent.KEYCODE_BUTTON_X, GameControllerDelegate.BUTTON_X); + ControllerKeyMap.put(KeyEvent.KEYCODE_BUTTON_Y, GameControllerDelegate.BUTTON_Y); + ControllerKeyMap.put(KeyEvent.KEYCODE_BUTTON_Z, GameControllerDelegate.BUTTON_Z); + + ControllerKeyMap.put(KeyEvent.KEYCODE_DPAD_UP, GameControllerDelegate.BUTTON_DPAD_UP); + ControllerKeyMap.put(KeyEvent.KEYCODE_DPAD_DOWN, GameControllerDelegate.BUTTON_DPAD_DOWN); + ControllerKeyMap.put(KeyEvent.KEYCODE_DPAD_LEFT, GameControllerDelegate.BUTTON_DPAD_LEFT); + ControllerKeyMap.put(KeyEvent.KEYCODE_DPAD_RIGHT, GameControllerDelegate.BUTTON_DPAD_RIGHT); + ControllerKeyMap.put(KeyEvent.KEYCODE_DPAD_CENTER, GameControllerDelegate.BUTTON_DPAD_CENTER); + + ControllerKeyMap.put(KeyEvent.KEYCODE_BUTTON_THUMBL, GameControllerDelegate.BUTTON_LEFT_THUMBSTICK); + ControllerKeyMap.put(KeyEvent.KEYCODE_BUTTON_THUMBR, GameControllerDelegate.BUTTON_RIGHT_THUMBSTICK); + + ControllerKeyMap.put(KeyEvent.KEYCODE_BUTTON_L1, GameControllerDelegate.BUTTON_LEFT_SHOULDER); + ControllerKeyMap.put(KeyEvent.KEYCODE_BUTTON_R1, GameControllerDelegate.BUTTON_RIGHT_SHOULDER); + ControllerKeyMap.put(KeyEvent.KEYCODE_BUTTON_L2, GameControllerDelegate.BUTTON_LEFT_TRIGGER); + ControllerKeyMap.put(KeyEvent.KEYCODE_BUTTON_R2, GameControllerDelegate.BUTTON_RIGHT_TRIGGER); + + ControllerKeyMap.put(MotionEvent.AXIS_X, GameControllerDelegate.THUMBSTICK_LEFT_X); + ControllerKeyMap.put(MotionEvent.AXIS_Y, GameControllerDelegate.THUMBSTICK_LEFT_Y); + ControllerKeyMap.put(MotionEvent.AXIS_Z, GameControllerDelegate.THUMBSTICK_RIGHT_X); + ControllerKeyMap.put(MotionEvent.AXIS_RZ, GameControllerDelegate.THUMBSTICK_RIGHT_Y); + + ControllerKeyMap.put(KeyEvent.KEYCODE_BUTTON_START, GameControllerDelegate.BUTTON_START); + ControllerKeyMap.put(KeyEvent.KEYCODE_BUTTON_SELECT, GameControllerDelegate.BUTTON_SELECT); + //KEYCODE_BUTTON_MODE + } + + public void connectController(){ + if (mLazyInit) { + mLazyInit = false; + mNibiruSupportedDrives = new ArrayList(30); + mMogaSupportedDrives = new ArrayList(5); + mOuyaSupportedDrives = new ArrayList(5); + + mLocalSavePath = Environment.getExternalStorageDirectory() + File.separator + "CocosGameController" + File.separator; + mConfigFilePath = sCocos2dxActivity.getFilesDir().getAbsolutePath() + File.separator + COCOS_CONTROLLER_CONFIG; + mDownDepsHttpClient = new AsyncHttpClient(); + mDownDepsHttpClient.setTimeout(360 * 1000); + } + + if (mControllerListener != null) { + mControllerListener.onDownloadConfigStarted(); + } + if (mLazyConfigInit) { + if (mDownDepsHttpClient != null) { + mDownDepsHttpClient.cancelRequests(sCocos2dxActivity, true); + } + requestControllerConfig(); + } + else { + scanBluetoothDrive(); + } + } + + public Set getBondedDevices(){ + if (mBluetoothAdapter == null) { + mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); + if (mBluetoothAdapter == null) { + return null; + } + } + + return mBluetoothAdapter.getBondedDevices(); + } + + public void destrory(){ + if (mDownDepsHttpClient != null) { + mDownDepsHttpClient.cancelRequests(sCocos2dxActivity, true); + } + } + + private boolean scanBluetoothDrive(){ + if (mControllerListener != null) { + mControllerListener.onDownloadConfigFinished(true); + } + + if (mBluetoothAdapter == null) { + mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); + if (mBluetoothAdapter == null) { + return false; + } + + if (mBluetoothDevices == null) { + mBluetoothDevices = new ArrayList(5); + mDevicesDriver = new SparseIntArray(); + } + + IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND); + //filter.addAction(BluetoothDevice.ACTION_BOND_STATE_CHANGED); + //filter.addAction(BluetoothAdapter.ACTION_SCAN_MODE_CHANGED); + //filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED); + filter.addAction(BluetoothAdapter.ACTION_DISCOVERY_FINISHED); + filter.addAction(BluetoothAdapter.ACTION_DISCOVERY_STARTED); + sCocos2dxActivity.registerReceiver(mBluetoothReceiver, filter); + + IntentFilter appFilter = new IntentFilter(); + appFilter.addAction("android.intent.action.PACKAGE_ADDED"); + appFilter.addDataScheme("package"); + sCocos2dxActivity.registerReceiver(mAppReceiver, appFilter); + } + + if (!mBluetoothAdapter.isEnabled()) { + mBluetoothAdapter.enable(); + } + + if (mBluetoothAdapter.isDiscovering()) { + mBluetoothAdapter.cancelDiscovery(); + } + + mBluetoothAdapter.startDiscovery(); + + return true; + } + + public int checkDriverType(BluetoothDevice device){ + String deviceName = device.getName(); + + if (mNibiruSupportedDrives.contains(deviceName)) { + return DRIVERTYPE_NIBIRU; + } + else if (mMogaSupportedDrives.contains(deviceName)) { + return DRIVERTYPE_MOGA; + } + else if (mOuyaSupportedDrives.contains(deviceName)) { + return DRIVERTYPE_OUYA; + } + else { + + } + + return DRIVERTYPE_UNKNOWN; + } + + public static void installApplication(String filePath){ + if (sCocos2dxActivity != null) { + Intent intent = new Intent(); + intent.setAction(Intent.ACTION_VIEW); + intent.setDataAndType(Uri.parse("file://" + filePath), "application/vnd.android.package-archive"); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + sCocos2dxActivity.startActivity(intent); + } + } + + public static boolean checkApplication(String packName){ + try { + ApplicationInfo applicationInfo = sCocos2dxActivity.getPackageManager().getApplicationInfo(packName, PackageManager.GET_UNINSTALLED_PACKAGES); + Log.d(TAG, applicationInfo.toString()); + return true; + } catch (NameNotFoundException e) { + return false; + } + } + + private BroadcastReceiver mBluetoothReceiver = new BroadcastReceiver() { + + @Override + public void onReceive(Context context, Intent intent) { + String action = intent.getAction(); + + if (BluetoothDevice.ACTION_FOUND.equals(action)) { + BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); + if (mBluetoothDevices.contains(device)) { + return; + } + Log.d(TAG, "Remote device discovered :" + device.getName()); + //We can't ensure non-controller can be filtered out.Some game controller marked with computer class. + /*String deviceName = device.getName(); + + if(device.getBluetoothClass().getMajorDeviceClass() == BluetoothClass.Device.Major.COMPUTER + || device.getBluetoothClass().getMajorDeviceClass() == BluetoothClass.Device.Major.PHONE) + { + Log.w(TAG, "Remote device discovered :" + deviceName + " is computer or phone." + device.getBluetoothClass().getMajorDeviceClass()); + return; + }*/ + + mBluetoothDevices.add(device); + int type = checkDriverType(device); + if (type != DRIVERTYPE_UNKNOWN) { + mTargetDriverType = type; + mClearDevices += 1; + } + mDevicesDriver.append(mBluetoothDevices.size() - 1, type); + } + else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) { + Log.d(TAG, "The local Bluetooth adapter has finished the device discovery process."); + + if (mControllerListener != null) { + mControllerListener.onControllerDiscoveryFinish(mBluetoothDevices); + } + else { + if (mBluetoothDevices.size() == 0) { + if (checkApplication(NIBIRU_DEP_PACKAGE)) { + downControllerDeps(DRIVERTYPE_NIBIRU); + } + Log.w(TAG, "Not found any supported bluetooth game controller!"); + }else { + if (mClearDevices == 1 ) { + downControllerDeps(mTargetDriverType); + } + else { + Log.i(TAG, "More than one device"); + //todo:show sel + } + } + } + } + else if (BluetoothAdapter.ACTION_DISCOVERY_STARTED.equals(action)) { + Log.d(TAG, "The local Bluetooth adapter has started the remote device discovery process."); + if(mControllerListener != null){ + mControllerListener.onControllerDiscoveryStarted(); + } + + mBluetoothDevices.clear(); + mDevicesDriver.clear(); + mClearDevices = 0; + mTargetDriverType = DRIVERTYPE_UNKNOWN; + + //check moga controller + Iterator it = mBluetoothAdapter.getBondedDevices().iterator(); + while (it.hasNext()) { + BluetoothDevice device = it.next(); + //if(device.getBluetoothClass().getMajorDeviceClass() != BluetoothClass.Device.Major.COMPUTER + // && device.getBluetoothClass().getMajorDeviceClass() != BluetoothClass.Device.Major.PHONE) + { + if (!mBluetoothDevices.contains(device)) { + mBluetoothDevices.add(device); + int type = checkDriverType(device); + Log.d(TAG, "BluetoothDevice objects that are bonded (paired) to the local adapter :" + device.getName()); + if (type != DRIVERTYPE_UNKNOWN) { + mClearDevices += 1; + mTargetDriverType = type; + } + mDevicesDriver.append(mBluetoothDevices.size() - 1, type); + } + } + } + } + } + }; + + private static int depsCount = 0; + private static int mTargetDriverType = DRIVERTYPE_UNKNOWN; + + private static int mDownloadTotalSize; + private static int mDownloadLibSize; + private static int mLibDownloadCompletedSize; + private static int mDepDownloadCompletedSize; + + public void downControllerDeps(int driverType){ + if (driverType == DRIVERTYPE_STANDARD || driverType == DRIVERTYPE_UNKNOWN) { + return; + } + + if (mControllerListener != null) { + mControllerListener.onDownloadDepsStarted(); + } + + mDownloadTotalSize = 0; + mLibDownloadCompletedSize = 0; + mDepDownloadCompletedSize = 0; + + mTargetDriverType = driverType; + depsCount = 1; + + GameControllerUtils.ensureDirectoryExist(mLocalSavePath); + + String remoteDir = COCOS_CONTROLLER_URL + DRIVERS_NAME[driverType] + File.separator; + + if (driverType == DRIVERTYPE_NIBIRU) { + mDownloadLibSize = mNibiruLibFileSize; + mDownloadTotalSize += mNibiruLibFileSize; + if (!checkApplication(NIBIRU_DEP_PACKAGE)) { + depsCount += 1; + mDownloadTotalSize += mNibiruDepFileSize; + mDownDepsHttpClient.get(remoteDir + mNibiruDepFileName, new MyDepsAsyncHandler( + new File(mLocalSavePath + mNibiruDepFileName), MyDepsAsyncHandler.FILETYPE_DEP_APK)); + } + + File libFile = new File(mLocalSavePath + mNibiruLibFileName); + if (libFile.exists() && libFile.length() == mNibiruLibFileSize) { + depsCount -= 1; + if (depsCount == 0) { + onDepsReady(); + } + } + else { + mDownDepsHttpClient.get(remoteDir + mNibiruLibFileName, new MyDepsAsyncHandler( + libFile, MyDepsAsyncHandler.FILETYPE_JAR)); + } + + } + else if (driverType == DRIVERTYPE_MOGA) { + mDownloadLibSize = mMogaLibFileSize; + mDownloadTotalSize += mMogaLibFileSize; + if (!checkApplication(MOGA__DEP_PACKAGE)) { + mDownloadTotalSize += mMogaDepFileSize; + depsCount += 1; + mDownDepsHttpClient.get(remoteDir + mMogaDepFileName, new MyDepsAsyncHandler( + new File(mLocalSavePath + mMogaDepFileName), MyDepsAsyncHandler.FILETYPE_DEP_APK)); + } + + File libFile = new File(mLocalSavePath + mMogaLibFileName); + if (libFile.exists() && libFile.length() == mMogaLibFileSize) { + depsCount -= 1; + if (depsCount == 0) { + onDepsReady(); + } + }else { + mDownDepsHttpClient.get(remoteDir + mMogaLibFileName, new MyDepsAsyncHandler( + libFile, MyDepsAsyncHandler.FILETYPE_JAR)); + } + } + else if(driverType == DRIVERTYPE_OUYA){ + mDownloadLibSize = mOuyaLibFileSize; + mDownloadTotalSize += mOuyaLibFileSize; + + File libFile = new File(mLocalSavePath + mOuyaLibFileName); + if (libFile.exists() && libFile.length() == mOuyaLibFileSize) { + depsCount -= 1; + if (depsCount == 0) { + onDepsReady(); + } + }else { + mDownDepsHttpClient.get(remoteDir + mOuyaLibFileName, new MyDepsAsyncHandler( + new File(mLocalSavePath + mOuyaLibFileName), MyDepsAsyncHandler.FILETYPE_JAR)); + } + } + } + + static class MyDepsAsyncHandler extends FileAsyncHttpResponseHandler{ + + public static final int FILETYPE_DEP_APK = 0; + public static final int FILETYPE_JAR = 1; + + private int mFileType = FILETYPE_DEP_APK; + + public MyDepsAsyncHandler(File file, int fileType) { + super(file); + mFileType = fileType; + } + + @Override + public void onFailure(int statusCode, Header[] headers, + Throwable e, File file) { + if (mFileType == FILETYPE_JAR) { + if (file.exists() && file.length() == mDownloadLibSize) { + depsCount -= 1; + if (depsCount == 0) { + if (mControllerListener != null) { + mControllerListener.onDownloadDepsFinished(true); + } + sControllerHelper.onDepsReady(); + } + } + } + else if (mFileType == FILETYPE_DEP_APK) { + if (mControllerListener != null) { + mControllerListener.onDownloadDepsFinished(false); + } + } + + Log.e(TAG,"Failed to download:" + file.getName()); + } + + @Override + public void onSuccess(File file) { + Log.d(TAG, "Down file success:" + file.getName()); + + depsCount -= 1; + if (depsCount == 0) { + if (mControllerListener != null) { + mControllerListener.onDownloadDepsFinished(true); + } + sControllerHelper.onDepsReady(); + } + } + + @Override + public void onProgress(int bytesWritten, int totalSize) { + if (mFileType == FILETYPE_JAR) { + mLibDownloadCompletedSize = bytesWritten; + } else { + mDepDownloadCompletedSize = bytesWritten; + } + if (mControllerListener != null) { + + mControllerListener.onDownloadDepsProgress(mLibDownloadCompletedSize + mDepDownloadCompletedSize, mDownloadTotalSize); + } + Log.d(TAG, "totalSize:" + totalSize + ", bytesWritten:" + bytesWritten); + } + } + + private void onDepsReady(){ + Log.d(TAG, "onDepsReady:" + mTargetDriverType); + + if (mTargetDriverType == DRIVERTYPE_NIBIRU) { + if (checkApplication(NIBIRU_DEP_PACKAGE)) { + createControllerInstance(mLocalSavePath + mNibiruLibFileName, mTargetDriverType); + } + else { + if (mControllerListener != null) { + mControllerListener.onInstallDriver(mLocalSavePath + mMogaDepFileName); + } + installApplication(mLocalSavePath + mNibiruDepFileName); + } + } + else if (mTargetDriverType == DRIVERTYPE_MOGA) { + if (checkApplication(MOGA__DEP_PACKAGE)) { + createControllerInstance(mLocalSavePath + mMogaLibFileName, mTargetDriverType); + } + else { + if (mControllerListener != null) { + mControllerListener.onInstallDriver(mLocalSavePath + mMogaDepFileName); + } + installApplication(mLocalSavePath + mMogaDepFileName); + } + } + else if (mTargetDriverType == DRIVERTYPE_OUYA) { + /*if (checkApplication(OUYA_FRAMEWORK_PACKAGE)) { + if (checkApplication(OUYA_LAUNCHER_PACKAGE)) { + createControllerInstance(mLocalSavePath + mOuyaLibFileName, mTargetSDK); + } + else { + installApplication(mLocalSavePath + mOuyaLauncherFileName); + } + } + else { + installApplication(mLocalSavePath + mOuyaFrameworkFileName); + }*/ + createControllerInstance(mLocalSavePath + mOuyaLibFileName, mTargetDriverType); + } + } + + private static final String CONFIGKEY_DRIVES = "drives"; + private static final String CONFIGKEY_LIB_FILENAME = "lib"; + private static final String CONFIGKEY_LIB_FILESIZE = "lib-size"; + private static final String CONFIGKEY_DEP_FILENAME = "dep-apk"; + private static final String CONFIGKEY_DEP_FILESIZE = "dep-size"; + + private boolean parseConfig(String jsonString){ + mMogaSupportedDrives.clear(); + mNibiruSupportedDrives.clear(); + mOuyaSupportedDrives.clear(); + + try { + JSONObject configObject = new JSONObject(jsonString); + + JSONObject nibiruObject = configObject.getJSONObject("nibiru"); + JSONArray drives = nibiruObject.getJSONArray(CONFIGKEY_DRIVES); + int count = drives.length(); + for (int i = 0; i < count; i++) { + mNibiruSupportedDrives.add(drives.getString(i)); + } + mNibiruDepFileName = nibiruObject.getString(CONFIGKEY_DEP_FILENAME); + mNibiruDepFileSize = nibiruObject.getInt(CONFIGKEY_DEP_FILESIZE); + mNibiruLibFileName = nibiruObject.getString(CONFIGKEY_LIB_FILENAME); + mNibiruLibFileSize = nibiruObject.getInt(CONFIGKEY_LIB_FILESIZE); + + JSONObject mogaObject = configObject.getJSONObject("moga"); + drives = mogaObject.getJSONArray(CONFIGKEY_DRIVES); + count = drives.length(); + for (int i = 0; i < count; i++) { + mMogaSupportedDrives.add(drives.getString(i)); + } + mMogaDepFileName = mogaObject.getString(CONFIGKEY_DEP_FILENAME); + mMogaDepFileSize = mogaObject.getInt(CONFIGKEY_DEP_FILESIZE); + mMogaLibFileName = mogaObject.getString(CONFIGKEY_LIB_FILENAME); + mMogaLibFileSize = mogaObject.getInt(CONFIGKEY_LIB_FILESIZE); + + JSONObject ouyaObject = configObject.getJSONObject("ouya"); + drives = ouyaObject.getJSONArray(CONFIGKEY_DRIVES); + count = drives.length(); + for (int i = 0; i < count; i++) { + mOuyaSupportedDrives.add(drives.getString(i)); + } + mOuyaLibFileName = ouyaObject.getString(CONFIGKEY_LIB_FILENAME); + mOuyaLibFileSize = ouyaObject.getInt(CONFIGKEY_LIB_FILESIZE); + //mOuyaFrameworkFileName = ouyaObject.getString("dep-framework"); + //mOuyaLauncherFileName = ouyaObject.getString("dep-launcher"); + mLazyConfigInit = false; + return true; + } catch (Exception e1) { + e1.printStackTrace(); + return false; + } + } + + private void requestControllerConfig() { + + final JsonHttpResponseHandler configResponseHandler = new JsonHttpResponseHandler() { + + @Override + public void onFailure(int statusCode, Header[] headers, + String responseBody, Throwable e) { + + Log.e(TAG, "Failed to download game controller config!"); + + String configJSON = GameControllerUtils.readJsonFile(mConfigFilePath); + if (configJSON != null) { + if (parseConfig(configJSON)) { + scanBluetoothDrive(); + return; + } + } + if (mControllerListener != null) { + mControllerListener.onDownloadConfigFinished(false); + } + /*new AlertDialog.Builder(sCocos2dxActivity) + .setTitle("Loading controller config failed!") + .setMessage( + "Please make sure internet connection works ok!") + .setPositiveButton("Retry", + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, + int which) { + dialog.dismiss(); + requestControllerConfig(); + } + }).setCancelable(false).show();*/ + } + + @Override + public void onSuccess(int statusCode, Header[] headers, + String responseBody) { + + String jsonString = responseBody.trim(); + + try { + if (parseConfig(jsonString)) { + scanBluetoothDrive(); + showToast("Get controller config succeed!"); + + File configFile = new File(mConfigFilePath); + FileOutputStream outputStream = new FileOutputStream(configFile); + byte[] contentString = jsonString.getBytes(); + outputStream.write(contentString, 0, contentString.length); + outputStream.flush(); + outputStream.close(); + return; + } + else { + String jsonStr = GameControllerUtils.readJsonFile(mConfigFilePath); + if (jsonStr != null) { + if (parseConfig(jsonStr)) { + scanBluetoothDrive(); + showToast("Get controller config succeed!"); + return; + } + } + } + } catch (Exception e1) { + e1.printStackTrace(); + } + + if (mControllerListener != null) { + mControllerListener.onDownloadConfigFinished(false); + } + Log.e(TAG, "Failed to download controller config!"); + } + }; + + mDownDepsHttpClient.get(COCOS_CONTROLLER_URL + COCOS_CONTROLLER_CONFIG, configResponseHandler); + } + + private static void showToast(String message){ + Toast.makeText(sCocos2dxActivity, message, Toast.LENGTH_SHORT).show(); + } + + private static void createControllerInstance(String libFilePath,int sdkType) { + File libFile = new File(libFilePath); + if (! libFile.exists()) { + Log.w(TAG, libFile.toString() + "not exist!"); + return; + } + + DexClassLoader classLoader = null; + + try { + File dexOutputDir = sCocos2dxActivity.getDir("dex", Context.MODE_PRIVATE); + + classLoader = new DexClassLoader(libFile.getCanonicalPath(), dexOutputDir.getCanonicalPath(), + null, sCocos2dxActivity.getClassLoader()); + } catch (Exception e1) { + e1.printStackTrace(); + } + + try { + Class controllerDelegate = null; + if (sdkType == DRIVERTYPE_MOGA) { + controllerDelegate = classLoader.loadClass("org.cocos2dx.lib.GameControllerMoga"); + } else if (sdkType == DRIVERTYPE_NIBIRU) { + controllerDelegate = classLoader.loadClass("org.cocos2dx.lib.GameControllerNibiru"); + } else if (sdkType == DRIVERTYPE_OUYA) { + controllerDelegate = classLoader.loadClass("org.cocos2dx.lib.GameControllerOuya"); + } + + GameControllerDelegate instance = (GameControllerDelegate)controllerDelegate.newInstance(); + + if (mControllerListener != null) { + mControllerListener.onConnectController(); + } + sCocos2dxActivity.setGameControllerInstance(instance); + if (sdkType == DRIVERTYPE_NIBIRU) { + Method method = controllerDelegate.getDeclaredMethod("onResume"); + method.invoke(instance); + } + } + catch (Exception e) { + e.printStackTrace(); + } + } + + private BroadcastReceiver mAppReceiver = new BroadcastReceiver() { + + @Override + public void onReceive(Context context, Intent intent) { + String packageName = intent.getDataString(); + Log.d(TAG, "mAppReceiver:" + intent); + if (packageName.contains(NIBIRU_DEP_PACKAGE)) { + createControllerInstance(mLocalSavePath + mNibiruLibFileName, DRIVERTYPE_NIBIRU); + } + else if (packageName.contains(MOGA__DEP_PACKAGE)) { + createControllerInstance(mLocalSavePath + mMogaLibFileName, DRIVERTYPE_MOGA); + } + } + }; + + private float mOldLeftThumbstickX = 0.0f; + private float mOldLeftThumbstickY = 0.0f; + private float mOldRightThumbstickX = 0.0f; + private float mOldRightThumbstickY = 0.0f; + + private float mOldLeftTrigger = 0.0f; + private float mOldRightTrigger = 0.0f; + private float mOldThrottle = 0.0f; + private float mOldBrake = 0.0f; + + public boolean dispatchGenericMotionEvent(MotionEvent event) { + boolean handled = false; + + int eventSource = event.getSource(); + + if ( ((eventSource & InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD) + || ((eventSource & InputDevice.SOURCE_JOYSTICK) == InputDevice.SOURCE_JOYSTICK) ) + { + if (event.getAction() == MotionEvent.ACTION_MOVE) { + int devicedId = event.getDeviceId(); + + float newAXIS_LX = event.getAxisValue(MotionEvent.AXIS_X); + if (Float.compare(newAXIS_LX , mOldLeftThumbstickX) != 0) { + GameControllerAdapter.onAxisEvent(StandardControllerName, devicedId, GameControllerDelegate.THUMBSTICK_LEFT_X, newAXIS_LX, true); + mOldLeftThumbstickX = newAXIS_LX; + handled = true; + } + + float newAXIS_LY = event.getAxisValue(MotionEvent.AXIS_Y); + if (Float.compare(newAXIS_LY , mOldLeftThumbstickY) != 0) { + GameControllerAdapter.onAxisEvent(StandardControllerName, devicedId, GameControllerDelegate.THUMBSTICK_LEFT_Y, newAXIS_LY, true); + mOldLeftThumbstickY = newAXIS_LY; + handled = true; + } + + float newAXIS_RX = event.getAxisValue(MotionEvent.AXIS_Z); + if (Float.compare(newAXIS_RX , mOldRightThumbstickX) != 0) { + GameControllerAdapter.onAxisEvent(StandardControllerName, devicedId, GameControllerDelegate.THUMBSTICK_RIGHT_X, newAXIS_RX, true); + mOldRightThumbstickX = newAXIS_RX; + handled = true; + } + + float newAXIS_RY = event.getAxisValue(MotionEvent.AXIS_RZ); + if (Float.compare(newAXIS_RY , mOldRightThumbstickY) != 0) { + GameControllerAdapter.onAxisEvent(StandardControllerName, devicedId, GameControllerDelegate.THUMBSTICK_RIGHT_Y, newAXIS_RY, true); + mOldRightThumbstickY = newAXIS_RY; + handled = true; + } + + float newAXIS_LTRIGGER = event.getAxisValue(MotionEvent.AXIS_LTRIGGER); + if (Float.compare(newAXIS_LTRIGGER , mOldLeftTrigger) != 0) { + if (Float.compare(newAXIS_LTRIGGER, 0.0f) == 0) { + GameControllerAdapter.onButtonEvent(StandardControllerName, devicedId, GameControllerDelegate.BUTTON_LEFT_TRIGGER, false, 0.0f, true); + }else { + GameControllerAdapter.onButtonEvent(StandardControllerName, devicedId, GameControllerDelegate.BUTTON_LEFT_TRIGGER, true, newAXIS_LTRIGGER, true); + } + mOldLeftTrigger = newAXIS_LTRIGGER; + handled = true; + } + + float newAXIS_RTRIGGER = event.getAxisValue(MotionEvent.AXIS_RTRIGGER); + if (Float.compare(newAXIS_RTRIGGER , mOldRightTrigger) != 0) { + if (Float.compare(newAXIS_RTRIGGER, 0.0f) == 0) { + GameControllerAdapter.onButtonEvent(StandardControllerName, devicedId, GameControllerDelegate.BUTTON_RIGHT_TRIGGER, false, 0.0f, true); + }else { + GameControllerAdapter.onButtonEvent(StandardControllerName, devicedId, GameControllerDelegate.BUTTON_RIGHT_TRIGGER, true, newAXIS_RTRIGGER, true); + } + mOldRightTrigger = newAXIS_RTRIGGER; + handled = true; + } + + float newAXIS_BRAKE = event.getAxisValue(MotionEvent.AXIS_BRAKE); + if (Float.compare(newAXIS_BRAKE , mOldBrake) != 0) { + if (Float.compare(newAXIS_BRAKE, 0.0f) == 0) { + GameControllerAdapter.onButtonEvent(StandardControllerName, devicedId, GameControllerDelegate.BUTTON_LEFT_TRIGGER, false, 0.0f, true); + }else { + GameControllerAdapter.onButtonEvent(StandardControllerName, devicedId, GameControllerDelegate.BUTTON_LEFT_TRIGGER, true, newAXIS_BRAKE, true); + } + mOldBrake = newAXIS_BRAKE; + handled = true; + } + + float newAXIS_THROTTLE = event.getAxisValue(MotionEvent.AXIS_THROTTLE); + if (Float.compare(newAXIS_THROTTLE , mOldThrottle) != 0) { + if (Float.compare(newAXIS_THROTTLE, 0.0f) == 0) { + GameControllerAdapter.onButtonEvent(StandardControllerName, devicedId, GameControllerDelegate.BUTTON_RIGHT_TRIGGER, false, 0.0f, true); + }else { + GameControllerAdapter.onButtonEvent(StandardControllerName, devicedId, GameControllerDelegate.BUTTON_RIGHT_TRIGGER, true, newAXIS_THROTTLE, true); + } + mOldThrottle = newAXIS_THROTTLE; + handled = true; + } + } + } + + return handled; + } + + public boolean dispatchKeyEvent(KeyEvent event) { + boolean handled = false; + + int eventSource = event.getSource(); + int controllerKey = ControllerKeyMap.get(event.getKeyCode()); + + if (controllerKey != 0 && (((eventSource & InputDevice.SOURCE_GAMEPAD) == InputDevice.SOURCE_GAMEPAD) + || ((eventSource & InputDevice.SOURCE_JOYSTICK) == InputDevice.SOURCE_JOYSTICK) + || ((eventSource & InputDevice.SOURCE_DPAD) == InputDevice.SOURCE_DPAD))) + { + int action = event.getAction(); + if (action == KeyEvent.ACTION_DOWN) { + handled = true; + GameControllerAdapter.onButtonEvent(StandardControllerName,event.getDeviceId(), controllerKey,true, 1.0f, false); + }else if (action == KeyEvent.ACTION_UP) { + handled = true; + GameControllerAdapter.onButtonEvent(StandardControllerName,event.getDeviceId(), controllerKey,false, 0.0f, false); + } + } + + return handled; + } +} diff --git a/cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerUtils.java b/cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerUtils.java new file mode 100644 index 0000000000..addb0c5f42 --- /dev/null +++ b/cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerUtils.java @@ -0,0 +1,43 @@ +package org.cocos2dx.lib; + +import java.io.File; +import java.io.FileInputStream; + +public class GameControllerUtils { + + public static void ensureDirectoryExist(String path){ + + File sdkDir = new File(path); + if(!sdkDir.exists()){ + sdkDir.mkdirs(); + } + } + + public static String readJsonFile(String filePath) { + + File file = new File(filePath); + + if (!file.exists()){ + return null; + } + + try { + + FileInputStream is = new FileInputStream(file);; + + int size = is.available(); + byte[] buffer = new byte[size]; + + is.read(buffer); + is.close(); + + String jsonstr = new String(buffer, "UTF-8"); + + return jsonstr; + } catch (Exception e) { + e.printStackTrace(); + } + + return null; + } +} diff --git a/cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerCompat.java b/cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerCompat.java new file mode 100644 index 0000000000..65b919bdae --- /dev/null +++ b/cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerCompat.java @@ -0,0 +1,140 @@ +/* + * Copyright (C) 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.cocos2dx.lib.inputmanagercompat; + +import android.content.Context; +import android.os.Build; +import android.os.Handler; +import android.view.InputDevice; +import android.view.MotionEvent; + +public interface InputManagerCompat { + /** + * Gets information about the input device with the specified id. + * + * @param id The device id + * @return The input device or null if not found + */ + public InputDevice getInputDevice(int id); + + /** + * Gets the ids of all input devices in the system. + * + * @return The input device ids. + */ + public int[] getInputDeviceIds(); + + /** + * Registers an input device listener to receive notifications about when + * input devices are added, removed or changed. + * + * @param listener The listener to register. + * @param handler The handler on which the listener should be invoked, or + * null if the listener should be invoked on the calling thread's + * looper. + */ + public void registerInputDeviceListener(InputManagerCompat.InputDeviceListener listener, + Handler handler); + + /** + * Unregisters an input device listener. + * + * @param listener The listener to unregister. + */ + public void unregisterInputDeviceListener(InputManagerCompat.InputDeviceListener listener); + + /* + * The following three calls are to simulate V16 behavior on pre-Jellybean + * devices. If you don't call them, your callback will never be called + * pre-API 16. + */ + + /** + * Pass the motion events to the InputManagerCompat. This is used to + * optimize for polling for controllers. If you do not pass these events in, + * polling will cause regular object creation. + * + * @param event the motion event from the app + */ + public void onGenericMotionEvent(MotionEvent event); + + /** + * Tell the V9 input manager that it should stop polling for disconnected + * devices. You can call this during onPause in your activity, although you + * might want to call it whenever your game is not active (or whenever you + * don't care about being notified of new input devices) + */ + public void onPause(); + + /** + * Tell the V9 input manager that it should start polling for disconnected + * devices. You can call this during onResume in your activity, although you + * might want to call it less often (only when the gameplay is actually + * active) + */ + public void onResume(); + + public interface InputDeviceListener { + /** + * Called whenever the input manager detects that a device has been + * added. This will only be called in the V9 version when a motion event + * is detected. + * + * @param deviceId The id of the input device that was added. + */ + void onInputDeviceAdded(int deviceId); + + /** + * Called whenever the properties of an input device have changed since + * they were last queried. This will not be called for the V9 version of + * the API. + * + * @param deviceId The id of the input device that changed. + */ + void onInputDeviceChanged(int deviceId); + + /** + * Called whenever the input manager detects that a device has been + * removed. For the V9 version, this can take some time depending on the + * poll rate. + * + * @param deviceId The id of the input device that was removed. + */ + void onInputDeviceRemoved(int deviceId); + } + + /** + * Use this to construct a compatible InputManager. + */ + public static class Factory { + + /** + * Constructs and returns a compatible InputManger + * + * @param context the Context that will be used to get the system + * service from + * @return a compatible implementation of InputManager + */ + public static InputManagerCompat getInputManager(Context context) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { + return new InputManagerV16(context); + } else { + return new InputManagerV9(); + } + } + } +} diff --git a/cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerV16.java b/cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerV16.java new file mode 100644 index 0000000000..f0d265adb0 --- /dev/null +++ b/cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerV16.java @@ -0,0 +1,107 @@ +/* + * Copyright (C) 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.cocos2dx.lib.inputmanagercompat; + +import android.annotation.TargetApi; +import android.content.Context; +import android.hardware.input.InputManager; +import android.os.Build; +import android.os.Handler; +import android.view.InputDevice; +import android.view.MotionEvent; + +import java.util.HashMap; +import java.util.Map; + +@TargetApi(Build.VERSION_CODES.JELLY_BEAN) +public class InputManagerV16 implements InputManagerCompat { + + private final InputManager mInputManager; + private final Map mListeners; + + public InputManagerV16(Context context) { + mInputManager = (InputManager) context.getSystemService(Context.INPUT_SERVICE); + mListeners = new HashMap(); + } + + @Override + public InputDevice getInputDevice(int id) { + return mInputManager.getInputDevice(id); + } + + @Override + public int[] getInputDeviceIds() { + return mInputManager.getInputDeviceIds(); + } + + static class V16InputDeviceListener implements InputManager.InputDeviceListener { + final InputManagerCompat.InputDeviceListener mIDL; + + public V16InputDeviceListener(InputDeviceListener idl) { + mIDL = idl; + } + + @Override + public void onInputDeviceAdded(int deviceId) { + mIDL.onInputDeviceAdded(deviceId); + } + + @Override + public void onInputDeviceChanged(int deviceId) { + mIDL.onInputDeviceChanged(deviceId); + } + + @Override + public void onInputDeviceRemoved(int deviceId) { + mIDL.onInputDeviceRemoved(deviceId); + } + + } + + @Override + public void registerInputDeviceListener(InputDeviceListener listener, Handler handler) { + V16InputDeviceListener v16Listener = new V16InputDeviceListener(listener); + mInputManager.registerInputDeviceListener(v16Listener, handler); + mListeners.put(listener, v16Listener); + } + + @Override + public void unregisterInputDeviceListener(InputDeviceListener listener) { + V16InputDeviceListener curListener = mListeners.remove(listener); + if (null != curListener) + { + mInputManager.unregisterInputDeviceListener(curListener); + } + + } + + @Override + public void onGenericMotionEvent(MotionEvent event) { + // unused in V16 + } + + @Override + public void onPause() { + // unused in V16 + } + + @Override + public void onResume() { + // unused in V16 + } + +} diff --git a/cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerV9.java b/cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerV9.java new file mode 100644 index 0000000000..abb47a8719 --- /dev/null +++ b/cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerV9.java @@ -0,0 +1,211 @@ +/* + * Copyright (C) 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.cocos2dx.lib.inputmanagercompat; + +import android.os.Handler; +import android.os.Message; +import android.os.SystemClock; +import android.util.Log; +import android.util.SparseArray; +import android.view.InputDevice; +import android.view.MotionEvent; + +import java.lang.ref.WeakReference; +import java.util.ArrayDeque; +import java.util.HashMap; +import java.util.Map; +import java.util.Queue; + +public class InputManagerV9 implements InputManagerCompat { + private static final String LOG_TAG = "InputManagerV9"; + private static final int MESSAGE_TEST_FOR_DISCONNECT = 101; + private static final long CHECK_ELAPSED_TIME = 3000L; + + private static final int ON_DEVICE_ADDED = 0; + private static final int ON_DEVICE_CHANGED = 1; + private static final int ON_DEVICE_REMOVED = 2; + + private final SparseArray mDevices; + private final Map mListeners; + private final Handler mDefaultHandler; + + private static class PollingMessageHandler extends Handler { + private final WeakReference mInputManager; + + PollingMessageHandler(InputManagerV9 im) { + mInputManager = new WeakReference(im); + } + + @Override + public void handleMessage(Message msg) { + super.handleMessage(msg); + switch (msg.what) { + case MESSAGE_TEST_FOR_DISCONNECT: + InputManagerV9 imv = mInputManager.get(); + if (null != imv) { + long time = SystemClock.elapsedRealtime(); + int size = imv.mDevices.size(); + for (int i = 0; i < size; i++) { + long[] lastContact = imv.mDevices.valueAt(i); + if (null != lastContact) { + if (time - lastContact[0] > CHECK_ELAPSED_TIME) { + // check to see if the device has been + // disconnected + int id = imv.mDevices.keyAt(i); + if (null == InputDevice.getDevice(id)) { + // disconnected! + imv.notifyListeners(ON_DEVICE_REMOVED, id); + imv.mDevices.remove(id); + } else { + lastContact[0] = time; + } + } + } + } + sendEmptyMessageDelayed(MESSAGE_TEST_FOR_DISCONNECT, + CHECK_ELAPSED_TIME); + } + break; + } + } + + } + + public InputManagerV9() { + mDevices = new SparseArray(); + mListeners = new HashMap(); + mDefaultHandler = new PollingMessageHandler(this); + // as a side-effect, populates our collection of watched + // input devices + getInputDeviceIds(); + } + + @Override + public InputDevice getInputDevice(int id) { + return InputDevice.getDevice(id); + } + + @Override + public int[] getInputDeviceIds() { + // add any hitherto unknown devices to our + // collection of watched input devices + int[] activeDevices = InputDevice.getDeviceIds(); + long time = SystemClock.elapsedRealtime(); + for ( int id : activeDevices ) { + long[] lastContact = mDevices.get(id); + if ( null == lastContact ) { + // we have a new device + mDevices.put(id, new long[] { time }); + } + } + return activeDevices; + } + + @Override + public void registerInputDeviceListener(InputDeviceListener listener, Handler handler) { + mListeners.remove(listener); + if (handler == null) { + handler = mDefaultHandler; + } + mListeners.put(listener, handler); + } + + @Override + public void unregisterInputDeviceListener(InputDeviceListener listener) { + mListeners.remove(listener); + } + + private void notifyListeners(int why, int deviceId) { + // the state of some device has changed + if (!mListeners.isEmpty()) { + // yes... this will cause an object to get created... hopefully + // it won't happen very often + for (InputDeviceListener listener : mListeners.keySet()) { + Handler handler = mListeners.get(listener); + DeviceEvent odc = DeviceEvent.getDeviceEvent(why, deviceId, listener); + handler.post(odc); + } + } + } + + private static class DeviceEvent implements Runnable { + private int mMessageType; + private int mId; + private InputDeviceListener mListener; + private static Queue sEventQueue = new ArrayDeque(); + + private DeviceEvent() { + } + + static DeviceEvent getDeviceEvent(int messageType, int id, + InputDeviceListener listener) { + DeviceEvent curChanged = sEventQueue.poll(); + if (null == curChanged) { + curChanged = new DeviceEvent(); + } + curChanged.mMessageType = messageType; + curChanged.mId = id; + curChanged.mListener = listener; + return curChanged; + } + + @Override + public void run() { + switch (mMessageType) { + case ON_DEVICE_ADDED: + mListener.onInputDeviceAdded(mId); + break; + case ON_DEVICE_CHANGED: + mListener.onInputDeviceChanged(mId); + break; + case ON_DEVICE_REMOVED: + mListener.onInputDeviceRemoved(mId); + break; + default: + Log.e(LOG_TAG, "Unknown Message Type"); + break; + } + // dump this runnable back in the queue + sEventQueue.offer(this); + } + } + + @Override + public void onGenericMotionEvent(MotionEvent event) { + // detect new devices + int id = event.getDeviceId(); + long[] timeArray = mDevices.get(id); + if (null == timeArray) { + notifyListeners(ON_DEVICE_ADDED, id); + timeArray = new long[1]; + mDevices.put(id, timeArray); + } + long time = SystemClock.elapsedRealtime(); + timeArray[0] = time; + } + + @Override + public void onPause() { + mDefaultHandler.removeMessages(MESSAGE_TEST_FOR_DISCONNECT); + } + + @Override + public void onResume() { + mDefaultHandler.sendEmptyMessage(MESSAGE_TEST_FOR_DISCONNECT); + } + +} diff --git a/cocos/renderer/CCTexture2D.cpp b/cocos/renderer/CCTexture2D.cpp index 9e2e8f36db..3449f5a7a6 100644 --- a/cocos/renderer/CCTexture2D.cpp +++ b/cocos/renderer/CCTexture2D.cpp @@ -61,7 +61,7 @@ namespace { typedef Texture2D::PixelFormatInfoMap::value_type PixelFormatInfoMapValue; static const PixelFormatInfoMapValue TexturePixelFormatInfoTablesValue[] = { - PixelFormatInfoMapValue(Texture2D::PixelFormat::BGRA8888, Texture2D::PixelFormatInfo(GL_RGBA, GL_BGRA, GL_UNSIGNED_BYTE, 32, false, true)), + PixelFormatInfoMapValue(Texture2D::PixelFormat::BGRA8888, Texture2D::PixelFormatInfo(GL_BGRA, GL_BGRA, GL_UNSIGNED_BYTE, 32, false, true)), PixelFormatInfoMapValue(Texture2D::PixelFormat::RGBA8888, Texture2D::PixelFormatInfo(GL_RGBA, GL_RGBA, GL_UNSIGNED_BYTE, 32, false, true)), PixelFormatInfoMapValue(Texture2D::PixelFormat::RGBA4444, Texture2D::PixelFormatInfo(GL_RGBA, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4, 16, false, true)), PixelFormatInfoMapValue(Texture2D::PixelFormat::RGB5A1, Texture2D::PixelFormatInfo(GL_RGBA, GL_RGBA, GL_UNSIGNED_SHORT_5_5_5_1, 16, false, true)), @@ -1032,6 +1032,14 @@ rgba(1) -> 12345678 */ Texture2D::PixelFormat Texture2D::convertDataToFormat(const unsigned char* data, ssize_t dataLen, PixelFormat originFormat, PixelFormat format, unsigned char** outData, ssize_t* outDataLen) { + // don't need to convert + if (format == originFormat || format == PixelFormat::AUTO) + { + *outData = (unsigned char*)data; + *outDataLen = dataLen; + return originFormat; + } + switch (originFormat) { case PixelFormat::I8: diff --git a/cocos/scripting/lua-bindings/auto/api/ActionTimeline.lua b/cocos/scripting/lua-bindings/auto/api/ActionTimeline.lua index 5bc5839862..5a22f5c635 100644 --- a/cocos/scripting/lua-bindings/auto/api/ActionTimeline.lua +++ b/cocos/scripting/lua-bindings/auto/api/ActionTimeline.lua @@ -47,6 +47,11 @@ -- @param self -- @return int#int ret (return value: int) +-------------------------------- +-- @function [parent=#ActionTimeline] setCurrentFrame +-- @param self +-- @param #int int + -------------------------------- -- @function [parent=#ActionTimeline] setTimeSpeed -- @param self @@ -84,10 +89,13 @@ -- -- overload function: gotoFrameAndPlay(int, int, bool) -- +-- overload function: gotoFrameAndPlay(int, int, int, bool) +-- -- @function [parent=#ActionTimeline] gotoFrameAndPlay -- @param self -- @param #int int -- @param #int int +-- @param #int int -- @param #bool bool -------------------------------- diff --git a/cocos/scripting/lua-bindings/auto/lua_cocos2dx_studio_auto.cpp b/cocos/scripting/lua-bindings/auto/lua_cocos2dx_studio_auto.cpp index d1d6801e3f..ead974be37 100644 --- a/cocos/scripting/lua-bindings/auto/lua_cocos2dx_studio_auto.cpp +++ b/cocos/scripting/lua-bindings/auto/lua_cocos2dx_studio_auto.cpp @@ -19605,6 +19605,52 @@ int lua_cocos2dx_studio_ActionTimeline_getEndFrame(lua_State* tolua_S) return 0; } +int lua_cocos2dx_studio_ActionTimeline_setCurrentFrame(lua_State* tolua_S) +{ + int argc = 0; + cocostudio::timeline::ActionTimeline* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"ccs.ActionTimeline",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocostudio::timeline::ActionTimeline*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_studio_ActionTimeline_setCurrentFrame'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 1) + { + int arg0; + + ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0); + if(!ok) + return 0; + cobj->setCurrentFrame(arg0); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "setCurrentFrame",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_studio_ActionTimeline_setCurrentFrame'.",&tolua_err); +#endif + + return 0; +} int lua_cocos2dx_studio_ActionTimeline_setTimeSpeed(lua_State* tolua_S) { int argc = 0; @@ -19941,7 +19987,30 @@ int lua_cocos2dx_studio_ActionTimeline_gotoFrameAndPlay(lua_State* tolua_S) } }while(0); ok = true; - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "gotoFrameAndPlay",argc, 3); + do{ + if (argc == 4) { + int arg0; + ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0); + + if (!ok) { break; } + int arg1; + ok &= luaval_to_int32(tolua_S, 3,(int *)&arg1); + + if (!ok) { break; } + int arg2; + ok &= luaval_to_int32(tolua_S, 4,(int *)&arg2); + + if (!ok) { break; } + bool arg3; + ok &= luaval_to_boolean(tolua_S, 5,&arg3); + + if (!ok) { break; } + cobj->gotoFrameAndPlay(arg0, arg1, arg2, arg3); + return 0; + } + }while(0); + ok = true; + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "gotoFrameAndPlay",argc, 4); return 0; #if COCOS2D_DEBUG >= 1 @@ -20127,6 +20196,7 @@ int lua_register_cocos2dx_studio_ActionTimeline(lua_State* tolua_S) tolua_function(tolua_S,"getDuration",lua_cocos2dx_studio_ActionTimeline_getDuration); tolua_function(tolua_S,"addTimeline",lua_cocos2dx_studio_ActionTimeline_addTimeline); tolua_function(tolua_S,"getEndFrame",lua_cocos2dx_studio_ActionTimeline_getEndFrame); + tolua_function(tolua_S,"setCurrentFrame",lua_cocos2dx_studio_ActionTimeline_setCurrentFrame); tolua_function(tolua_S,"setTimeSpeed",lua_cocos2dx_studio_ActionTimeline_setTimeSpeed); tolua_function(tolua_S,"init",lua_cocos2dx_studio_ActionTimeline_init); tolua_function(tolua_S,"setDuration",lua_cocos2dx_studio_ActionTimeline_setDuration); diff --git a/cocos/scripting/lua-bindings/auto/lua_cocos2dx_studio_auto.hpp b/cocos/scripting/lua-bindings/auto/lua_cocos2dx_studio_auto.hpp index b63f793128..82c1e824ea 100644 --- a/cocos/scripting/lua-bindings/auto/lua_cocos2dx_studio_auto.hpp +++ b/cocos/scripting/lua-bindings/auto/lua_cocos2dx_studio_auto.hpp @@ -489,6 +489,7 @@ int register_all_cocos2dx_studio(lua_State* tolua_S); + #endif // __cocos2dx_studio_h__ diff --git a/cocos/ui/UIScrollView.cpp b/cocos/ui/UIScrollView.cpp index ef1993621d..0797cb0b98 100644 --- a/cocos/ui/UIScrollView.cpp +++ b/cocos/ui/UIScrollView.cpp @@ -894,7 +894,7 @@ bool ScrollView::scrollChildrenVertical(float touchOffsetX, float touchOffsetY) bool ScrollView::scrollChildrenHorizontal(float touchOffsetX, float touchOffestY) { - bool scrollenabled; + bool scrollenabled = false; float realOffset = touchOffsetX; if (_bounceEnabled) { diff --git a/external/nslog/CCNSLog.h b/external/nslog/CCNSLog.h new file mode 100644 index 0000000000..e371bfa44d --- /dev/null +++ b/external/nslog/CCNSLog.h @@ -0,0 +1,24 @@ +// +// MyLog.h +// cocos2d_libs +// +// Created by James Chen on 4/23/14. +// +// + +#ifndef __cocos2d_libs__MyLog__ +#define __cocos2d_libs__MyLog__ + +#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) + +extern void CCNSLog(const char* file, int line, const char* function, const char* format, ...); + +#define CCNSLOG(format, ...) CCNSLog(__FILE__, __LINE__, __FUNCTION__, format, ##__VA_ARGS__, nullptr) + +#else + +#define CCNSLOG CCLOG + +#endif + +#endif /* defined(__cocos2d_libs__MyLog__) */ diff --git a/external/nslog/ios/CCNSLog.mm b/external/nslog/ios/CCNSLog.mm new file mode 100644 index 0000000000..9583db3eaf --- /dev/null +++ b/external/nslog/ios/CCNSLog.mm @@ -0,0 +1,27 @@ +// +// MyLog.cpp +// cocos2d_libs +// +// Created by James Chen on 4/23/14. +// +// + +#include "CCNSLog.h" + +#import "NSLogger.h" + + +void CCNSLog(const char* file, int line, const char* function, const char* format, ...) +{ + va_list args; + va_start(args, format); + + char buf[1024 * 16] = {0}; + vsprintf(buf, format, args); + + va_end(args); + + LogMessageF(file, line, function, @"cocos2d-x", 0, [NSString stringWithUTF8String:buf], nullptr); + + // LoggerFlush(LoggerGetDefaultLogger(), YES); +} diff --git a/external/nslog/ios/LoggerClient.h b/external/nslog/ios/LoggerClient.h new file mode 100644 index 0000000000..3321f7126a --- /dev/null +++ b/external/nslog/ios/LoggerClient.h @@ -0,0 +1,248 @@ +/* + * LoggerClient.h + * + * version 1.5-RC2 22-NOV-2013 + * + * Part of NSLogger (client side) + * https://github.com/fpillet/NSLogger + * + * BSD license follows (http://www.opensource.org/licenses/bsd-license.php) + * + * Copyright (c) 2010-2013 Florent Pillet All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. Redistributions in + * binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. Neither the name of Florent + * Pillet nor the names of its contributors may be used to endorse or promote + * products derived from this software without specific prior written + * permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT + * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ +#import +#import +#import +#import +#import +#import +#import +#if !TARGET_OS_IPHONE +#import +#endif + +// This define is here so that user application can test whether NSLogger Client is +// being included in the project, and potentially configure their macros accordingly +#define NSLOGGER_WAS_HERE 1 + +// Set this to 0 if you absolutely NOT want any access to Cocoa (Objective-C, NS* calls) +// We need a couple ones to reliably obtain the thread number and device information +// Note that since we need NSAutoreleasePool when using Cocoa in the logger's worker thread, +// we need to put Cocoa in multithreading mode. Also, ALLOW_COCOA_USE allows the client code +// to use NSLog()-style message formatting (less verbose than CFShow()-style) through the +// use of -[NSString stringWithFormat:arguments:] +#define ALLOW_COCOA_USE 1 + +/* ----------------------------------------------------------------- + * Logger option flags & default options + * ----------------------------------------------------------------- + */ +enum { + kLoggerOption_LogToConsole = 0x01, + kLoggerOption_BufferLogsUntilConnection = 0x02, + kLoggerOption_BrowseBonjour = 0x04, + kLoggerOption_BrowseOnlyLocalDomain = 0x08, + kLoggerOption_UseSSL = 0x10, + kLoggerOption_CaptureSystemConsole = 0x20 +}; + +#define LOGGER_DEFAULT_OPTIONS (kLoggerOption_BufferLogsUntilConnection | \ + kLoggerOption_BrowseBonjour | \ + kLoggerOption_BrowseOnlyLocalDomain | \ + kLoggerOption_UseSSL | \ + kLoggerOption_CaptureSystemConsole) + +/* ----------------------------------------------------------------- + * Structure defining a Logger + * ----------------------------------------------------------------- + */ +typedef struct +{ + CFStringRef bufferFile; // If non-NULL, all buffering is done to the specified file instead of in-memory + CFStringRef host; // Viewer host to connect to (instead of using Bonjour) + UInt32 port; // port on the viewer host + + CFMutableArrayRef bonjourServiceBrowsers; // Active service browsers + CFMutableArrayRef bonjourServices; // Services being tried + CFNetServiceBrowserRef bonjourDomainBrowser; // Domain browser + + CFMutableArrayRef logQueue; // Message queue + pthread_mutex_t logQueueMutex; + pthread_cond_t logQueueEmpty; + + dispatch_once_t workerThreadInit; // Use this to ensure creation of the worker thread is ever done only once for a given logger + pthread_t workerThread; // The worker thread responsible for Bonjour resolution, connection and logs transmission + CFRunLoopSourceRef messagePushedSource; // A message source that fires on the worker thread when messages are available for send + CFRunLoopSourceRef bufferFileChangedSource; // A message source that fires on the worker thread when the buffer file configuration changes + CFRunLoopSourceRef remoteOptionsChangedSource; // A message source that fires when option changes imply a networking strategy change (switch to/from Bonjour, direct host or file streaming) + + CFWriteStreamRef logStream; // The connected stream we're writing to + CFWriteStreamRef bufferWriteStream; // If bufferFile not NULL and we're not connected, points to a stream for writing log data + CFReadStreamRef bufferReadStream; // If bufferFile not NULL, points to a read stream that will be emptied prior to sending the rest of in-memory messages + + SCNetworkReachabilityRef reachability; // The reachability object we use to determine when the target host becomes reachable + SCNetworkReachabilityFlags reachabilityFlags; // Last known reachability flags - we use these to detect network transitions without network loss + CFRunLoopTimerRef reconnectTimer; // A timer to regularly check connection to the defined host, along with reachability for added reliability + + uint8_t *sendBuffer; // data waiting to be sent + NSUInteger sendBufferSize; + NSUInteger sendBufferUsed; // number of bytes of the send buffer currently in use + NSUInteger sendBufferOffset; // offset in sendBuffer to start sending at + + int32_t messageSeq; // sequential message number (added to each message sent) + + // settings + uint32_t options; // Flags, see enum above + CFStringRef bonjourServiceType; // leave NULL to use the default + CFStringRef bonjourServiceName; // leave NULL to use the first one available + + // internal state + BOOL targetReachable; // Set to YES when the Reachability target (host or internet) is deemed reachable + BOOL connected; // Set to YES once the write stream declares the connection open + volatile BOOL quit; // Set to YES to terminate the logger worker thread's runloop + BOOL incompleteSendOfFirstItem; // set to YES if we are sending the first item in the queue and it's bigger than what the buffer can hold +} Logger; + + +/* ----------------------------------------------------------------- + * LOGGING FUNCTIONS + * ----------------------------------------------------------------- + */ + +#ifdef __cplusplus +extern "C" { +#endif + +// Set the default logger which will be the one used when passing NULL for logge +extern void LoggerSetDefaultLogger(Logger *aLogger); + +// Get the default logger, create one if it does not exist +extern Logger *LoggerGetDefaultLogger(void); + +// Checks whether the default logger exists, returns it if YES, otherwise do NO create one +extern Logger *LoggerCheckDefaultLogger(void); + +// Initialize a new logger, set as default logger if this is the first one +// Options default to: +// - logging to console = NO +// - buffer until connection = YES +// - browse Bonjour = YES +// - browse only locally on Bonjour = YES +extern Logger* LoggerInit(void); + +// Set logger options if you don't want the default options (see above) +extern void LoggerSetOptions(Logger *logger, uint32_t options); + +// Set Bonjour logging names, so you can force the logger to use a specific service type +// or direct logs to the machine on your network which publishes a specific name +extern void LoggerSetupBonjour(Logger *logger, CFStringRef bonjourServiceType, CFStringRef bonjourServiceName); + +// Directly set the viewer host (hostname or IP address) and port we want to connect to. If set, LoggerStart() will +// try to connect there first before trying Bonjour +extern void LoggerSetViewerHost(Logger *logger, CFStringRef hostName, UInt32 port); + +// Configure the logger to use a local file for buffering, instead of memory. +// - If you initially set a buffer file after logging started but while a logger connection +// has not been acquired, the contents of the log queue will be written to the buffer file +// the next time a logging function is called, or when LoggerStop() is called. +// - If you want to change the buffering file after logging started, you should first +// call LoggerStop() the call LoggerSetBufferFile(). Note that all logs stored in the previous +// buffer file WON'T be transferred to the new file in this case. +extern void LoggerSetBufferFile(Logger *logger, CFStringRef absolutePath); + +// Activate the logger, try connecting. You can pass NULL to start the default logger, +// it will return a pointer to it. +extern Logger* LoggerStart(Logger *logger); + +//extern void LoggerConnectToHost(CFDataRef address, int port); + +// Deactivate and free the logger. +extern void LoggerStop(Logger *logger); + +// Pause the current thread until all messages from the logger have been transmitted +// this is useful to use before an assert() aborts your program. If waitForConnection is YES, +// LoggerFlush() will block even if the client is not currently connected to the desktop +// viewer. You should be using NO most of the time, but in some cases it can be useful. +extern void LoggerFlush(Logger *logger, BOOL waitForConnection); + +/* Logging functions. Each function exists in four versions: + * + * - one without a Logger instance (uses default logger) and without filename/line/function (no F suffix) + * - one without a Logger instance but with filename/line/function (F suffix) + * - one with a Logger instance (use a specific Logger) and without filename/line/function (no F suffix) + * - one with a Logger instance (use a specific Logger) and with filename/line/function (F suffix) + * + * The exception being the single LogMessageCompat() function which is designed to be a drop-in replacement for NSLog() + * + */ + +// Log a message, calling format compatible with NSLog +extern void LogMessageCompat(NSString *format, ...); + +// Log a message without any formatting (just log the given string) +extern void LogMessageRaw(NSString *message); +extern void LogMessageRawF(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *message); +extern void LogMessageRawToF(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *message); + +// Log a message. domain can be nil if default domain. +extern void LogMessage(NSString *domain, int level, NSString *format, ...) NS_FORMAT_FUNCTION(3,4); +extern void LogMessageF(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *format, ...) NS_FORMAT_FUNCTION(6,7); +extern void LogMessageTo(Logger *logger, NSString *domain, int level, NSString *format, ...) NS_FORMAT_FUNCTION(4,5); +extern void LogMessageToF(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *format, ...) NS_FORMAT_FUNCTION(7,8); + +// Log a message. domain can be nil if default domain (versions with va_list format args instead of ...) +extern void LogMessage_va(NSString *domain, int level, NSString *format, va_list args) NS_FORMAT_FUNCTION(3,0); +extern void LogMessageF_va(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *format, va_list args) NS_FORMAT_FUNCTION(6,0); +extern void LogMessageTo_va(Logger *logger, NSString *domain, int level, NSString *format, va_list args) NS_FORMAT_FUNCTION(4,0); +extern void LogMessageToF_va(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *format, va_list args) NS_FORMAT_FUNCTION(7,0); + +// Send binary data to remote logger +extern void LogData(NSString *domain, int level, NSData *data); +extern void LogDataF(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSData *data); +extern void LogDataTo(Logger *logger, NSString *domain, int level, NSData *data); +extern void LogDataToF(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSData *data); + +// Send image data to remote logger +extern void LogImageData(NSString *domain, int level, int width, int height, NSData *data); +extern void LogImageDataF(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, int width, int height, NSData *data); +extern void LogImageDataTo(Logger *logger, NSString *domain, int level, int width, int height, NSData *data); +extern void LogImageDataToF(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, int width, int height, NSData *data); + +// Mark the start of a block. This allows the remote logger to group blocks together +extern void LogStartBlock(NSString *format, ...) NS_FORMAT_FUNCTION(1,2); +extern void LogStartBlockTo(Logger *logger, NSString *format, ...) NS_FORMAT_FUNCTION(2,3); + +// Mark the end of a block +extern void LogEndBlock(void); +extern void LogEndBlockTo(Logger *logger); + +// Log a marker (text can be null) +extern void LogMarker(NSString *text); +extern void LogMarkerTo(Logger *logger, NSString *text); + +#ifdef __cplusplus +}; +#endif diff --git a/external/nslog/ios/LoggerClient.m b/external/nslog/ios/LoggerClient.m new file mode 100644 index 0000000000..0534ab58b8 --- /dev/null +++ b/external/nslog/ios/LoggerClient.m @@ -0,0 +1,2866 @@ +/* + * LoggerClient.m + * + * version 1.5-RC2 22-NOV-2013 + * + * Main implementation of the NSLogger client side code + * Part of NSLogger (client side) + * https://github.com/fpillet/NSLogger + * + * BSD license follows (http://www.opensource.org/licenses/bsd-license.php) + * + * Copyright (c) 2010-2013 Florent Pillet All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. Redistributions in + * binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. Neither the name of Florent + * Pillet nor the names of its contributors may be used to endorse or promote + * products derived from this software without specific prior written + * permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT + * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ +#import +#import +#import + +#import "LoggerClient.h" +#import "LoggerCommon.h" + +#if !TARGET_OS_IPHONE + #import + #import + #import + #import +#elif ALLOW_COCOA_USE + #import +#endif +#import + +/* -------------------------------------------------------------------------------- + * IMPLEMENTATION NOTES: + * + * The logger runs in a separate thread. It is written + * in straight C for maximum compatibility with all runtime environments + * (does not use the Objective-C runtime, only uses unix and CoreFoundation + * calls, except for get the thread name and device information, but these + * can be disabled by setting ALLOW_COCOA_USE to 0). + * + * It is suitable for use in both Cocoa and low-level code. It does not activate + * Cocoa multi-threading (no call to [NSThread detachNewThread...]). You can start + * logging very early (as soon as your code starts running), logs will be + * buffered and sent to the log viewer as soon as a connection is acquired. + * This makes the logger suitable for use in conditions where you usually + * don't have a connection to a remote machine yet (early wakeup, network + * down, etc). + * + * When you call one of the public logging functions, the logger is designed + * to return to your application as fast as possible. It enqueues logs to + * send for processing by its own thread, while your application keeps running. + * + * The logger does buffer logs while not connected to a desktop + * logger. It uses Bonjour to find a logger on the local network, and can + * optionally connect to a remote logger identified by an IP address / port + * or a Host Name / port. + * + * The logger can optionally output its logs to the console, like NSLog(). + * + * The logger can optionally buffer its logs to a file for which you specify the + * full path. Upon connection to the desktop viewer, the file contents are + * transmitted to the viewer prior to sending new logs. When the whole file + * content has been transmitted, it is emptied. + * + * Multiple loggers can coexist at the same time. You can perfectly use a + * logger for your debug traces, and another that connects remotely to help + * diagnose issues while the application runs on your user's device. + * + * The logger can optionally capture stdout and stderr. When running an + * application from the IDE, this will automatically capture everything that + * goes into the debugger console log, and insert it in the stream of logs + * sent to the viewer. + * + * Using the logger's flexible packet format, you can customize logging by + * creating your own log types, and customize the desktop viewer to display + * runtime information panels for your application. + * -------------------------------------------------------------------------------- + */ + +/* Logger internal debug flags */ +// Set to 0 to disable internal debug completely +// Set to 1 to activate console logs when running the logger itself +// Set to 2 to see every logging call issued by the app, too +#define LOGGER_DEBUG 0 +#ifdef NSLog + #undef NSLog +#endif + +// Internal debugging stuff for the logger itself +#if LOGGER_DEBUG + #define LOGGERDBG LoggerDbg + #if LOGGER_DEBUG > 1 + #define LOGGERDBG2 LoggerDbg + #else + #define LOGGERDBG2(format, ...) do{}while(0) + #endif + // Internal logging function prototype + static void LoggerDbg(CFStringRef format, ...); +#else + #define LOGGERDBG(format, ...) do{}while(0) + #define LOGGERDBG2(format, ...) do{}while(0) +#endif + +// small set of macros for proper ARC/non-ARC compilation support +// with added cruft to support non-clang compilers +#undef LOGGER_ARC_MACROS_DEFINED +#if defined(__has_feature) + #if __has_feature(objc_arc) + #define CAST_TO_CFSTRING __bridge CFStringRef + #define CAST_TO_NSSTRING __bridge NSString * + #define CAST_TO_CFDATA __bridge CFDataRef + #define RELEASE(obj) do{}while(0) + #define LOGGER_ARC_MACROS_DEFINED + #endif +#endif +#if !defined(LOGGER_ARC_MACROS_DEFINED) + #define CAST_TO_CFSTRING CFStringRef + #define CAST_TO_NSSTRING NSString * + #define CAST_TO_CFDATA CFDataRef + #define RELEASE(obj) [obj release] +#endif +#undef LOGGER_ARC_MACROS_DEFINED + +/* Local prototypes */ +static void LoggerFlushAllOnExit(void); +static void* LoggerWorkerThread(Logger *logger); +static void LoggerWriteMoreData(Logger *logger); +static void LoggerPushMessageToQueue(Logger *logger, CFDataRef message); + +// Bonjour management +static void LoggerStartBonjourBrowsing(Logger *logger); +static void LoggerStopBonjourBrowsing(Logger *logger); +static BOOL LoggerBrowseBonjourForServices(Logger *logger, CFStringRef domainName); +static void LoggerServiceBrowserCallBack(CFNetServiceBrowserRef browser, CFOptionFlags flags, CFTypeRef domainOrService, CFStreamError* error, void *info); + +// Reachability and reconnect timer +static void LoggerRemoteSettingsChanged(Logger *logger); +static void LoggerStartReachabilityChecking(Logger *logger); +static void LoggerStopReachabilityChecking(Logger *logger); +static void LoggerReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReachabilityFlags flags, void *info); +static void LoggerStartReconnectTimer(Logger *logger); +static void LoggerStopReconnectTimer(Logger *logger); +static void LoggerTimedReconnectCallback(CFRunLoopTimerRef timer, void *info); + +// Connection & stream management +static void LoggerTryConnect(Logger *logger); +static void LoggerWriteStreamTerminated(Logger *logger); +static void LoggerWriteStreamCallback(CFWriteStreamRef ws, CFStreamEventType event, void* info); + +// File buffering +static void LoggerCreateBufferWriteStream(Logger *logger); +static void LoggerCreateBufferReadStream(Logger *logger); +static void LoggerEmptyBufferFile(Logger *logger); +static void LoggerFileBufferingOptionsChanged(Logger *logger); +static void LoggerFlushQueueToBufferStream(Logger *logger, BOOL firstEntryIsClientInfo); + +// Encoding functions +static void LoggerPushClientInfoToFrontOfQueue(Logger *logger); +static void LoggerMessageAddTimestampAndThreadID(CFMutableDataRef encoder); + +static CFMutableDataRef LoggerMessageCreate(int32_t seq); +static void LoggerMessageAddInt32(CFMutableDataRef encoder, int32_t anInt, int key); +#if __LP64__ +static void LoggerMessageAddInt64(CFMutableDataRef data, int64_t anInt, int key); +#endif +static void LoggerMessageAddString(CFMutableDataRef encoder, CFStringRef aString, int key); +static void LoggerMessageAddData(CFMutableDataRef encoder, CFDataRef theData, int key, int partType); +static uint32_t LoggerMessageGetSeq(CFDataRef message); + +/* Static objects */ +static CFMutableArrayRef sLoggersList; +static Logger* volatile sDefaultLogger = NULL; +static Boolean sAtexitFunctionSet = FALSE; +static pthread_mutex_t sLoggersListMutex = PTHREAD_MUTEX_INITIALIZER; +static pthread_mutex_t sDefaultLoggerMutex = PTHREAD_MUTEX_INITIALIZER; + +// Console logging +static void LoggerStartGrabbingConsole(Logger *logger); +static void LoggerStopGrabbingConsole(Logger *logger); +static Logger ** consoleGrabbersList = NULL; +static unsigned consoleGrabbersListLength; +static unsigned numActiveConsoleGrabbers = 0; +static pthread_mutex_t consoleGrabbersMutex = PTHREAD_MUTEX_INITIALIZER; +static pthread_t consoleGrabThread; +static int sConsolePipes[4] = { -1, -1, -1, -1 }; +static int sSTDOUT = -1, sSTDERR = -1; +static int sSTDOUThadSIGPIPE, sSTDERRhadSIGPIPE; + +// ----------------------------------------------------------------------------- +#pragma mark - +#pragma mark Default logger +// ----------------------------------------------------------------------------- +void LoggerSetDefaultLogger(Logger *defaultLogger) +{ + pthread_mutex_lock(&sDefaultLoggerMutex); + sDefaultLogger = defaultLogger; + pthread_mutex_unlock(&sDefaultLoggerMutex); +} + +Logger *LoggerGetDefaultLogger(void) +{ + Logger *l = sDefaultLogger; + if (l == NULL) + { + pthread_mutex_lock(&sDefaultLoggerMutex); + l = sDefaultLogger; + if (l == NULL) + l = LoggerInit(); + pthread_mutex_unlock(&sDefaultLoggerMutex); + } + return l; +} + +Logger *LoggerCheckDefaultLogger(void) +{ + return sDefaultLogger; +} + +// ----------------------------------------------------------------------------- +#pragma mark - +#pragma mark Initialization and setup +// ----------------------------------------------------------------------------- +Logger *LoggerInit(void) +{ + LOGGERDBG(CFSTR("LoggerInit defaultLogger=%p"), sDefaultLogger); + + Logger *logger = (Logger *)malloc(sizeof(Logger)); + bzero(logger, sizeof(Logger)); + + logger->logQueue = CFArrayCreateMutable(NULL, 0, &kCFTypeArrayCallBacks); + pthread_mutex_init(&logger->logQueueMutex, NULL); + pthread_cond_init(&logger->logQueueEmpty, NULL); + + logger->bonjourServiceBrowsers = CFArrayCreateMutable(NULL, 4, &kCFTypeArrayCallBacks); + logger->bonjourServices = CFArrayCreateMutable(NULL, 4, &kCFTypeArrayCallBacks); + + // for now we don't grow the send buffer, just use one page of memory which should be enouh + // (bigger messages will be sent separately) + logger->sendBuffer = (uint8_t *)malloc(4096); + logger->sendBufferSize = 4096; + + logger->options = LOGGER_DEFAULT_OPTIONS; +#if LOGGER_DEBUG + // when debugging NSLogger itself, don't hijack the system console + // as we are sending messages to it for display + logger->options &= ~kLoggerOption_CaptureSystemConsole; +#endif + + logger->quit = NO; + + // Add logger to the list of existing loggers + // Set this logger as the default logger is none exist already + pthread_mutex_lock(&sLoggersListMutex); + if (sLoggersList == NULL) + { + CFArrayCallBacks callbacks; + bzero(&callbacks, sizeof(callbacks)); + sLoggersList = CFArrayCreateMutable(NULL, 0, &callbacks); + } + CFArrayAppendValue(sLoggersList, (const void *)logger); + if (sDefaultLogger == NULL) + sDefaultLogger = logger; + + // Configure a low level exit() callback that will flush all connected loggers + if (!sAtexitFunctionSet) + { + atexit(&LoggerFlushAllOnExit); + sAtexitFunctionSet = TRUE; + } + pthread_mutex_unlock(&sLoggersListMutex); + + return logger; +} + +void LoggerSetOptions(Logger *logger, uint32_t options) +{ + LOGGERDBG(CFSTR("LoggerSetOptions options=0x%08lx"), options); + + // If we choose to log to system console + // make sure we are not configured to capture the system console + // When debugging NSLogger itself, we never capture the system console either + if (options & kLoggerOption_LogToConsole) + options &= (uint32_t)~kLoggerOption_CaptureSystemConsole; + + if (logger == NULL) + logger = LoggerGetDefaultLogger(); + if (logger != NULL) + logger->options = options; +} + +void LoggerSetupBonjour(Logger *logger, CFStringRef bonjourServiceType, CFStringRef bonjourServiceName) +{ + LOGGERDBG(CFSTR("LoggerSetupBonjour serviceType=%@ serviceName=%@"), bonjourServiceType, bonjourServiceName); + + if (logger == NULL) + logger = LoggerGetDefaultLogger(); + if (logger != NULL) + { + if (bonjourServiceType != NULL) + CFRetain(bonjourServiceType); + if (bonjourServiceName != NULL) + CFRetain(bonjourServiceName); + if (logger->bonjourServiceType != NULL) + CFRelease(logger->bonjourServiceType); + if (logger->bonjourServiceName != NULL) + CFRelease(logger->bonjourServiceName); + logger->bonjourServiceType = bonjourServiceType; + logger->bonjourServiceName = bonjourServiceName; + } +} + +void LoggerSetViewerHost(Logger *logger, CFStringRef hostName, UInt32 port) +{ + if (logger == NULL) + logger = LoggerGetDefaultLogger(); + if (logger == NULL) + return; + + CFStringRef previousHost = logger->host; + UInt32 previousPort = logger->port; + + logger->host = NULL; + + if (hostName != NULL) + { + logger->host = CFStringCreateCopy(NULL, hostName); + logger->port = port; + } + + if (logger->remoteOptionsChangedSource != NULL && + (logger->port != previousPort || + ((hostName == NULL) != (previousHost == NULL)) || + (hostName != NULL && CFStringCompare(hostName, previousHost, kCFCompareCaseInsensitive) != kCFCompareEqualTo))) + CFRunLoopSourceSignal(logger->remoteOptionsChangedSource); + + if (previousHost != NULL) + CFRelease(previousHost); +} + +void LoggerSetBufferFile(Logger *logger, CFStringRef absolutePath) +{ + if (logger == NULL) + { + logger = LoggerGetDefaultLogger(); + if (logger == NULL) + return; + } + + BOOL change = ((logger->bufferFile != NULL && absolutePath == NULL) || + (logger->bufferFile == NULL && absolutePath != NULL) || + (logger->bufferFile != NULL && absolutePath != NULL && CFStringCompare(logger->bufferFile, absolutePath, (CFStringCompareFlags) 0) != kCFCompareEqualTo)); + if (change) + { + if (logger->bufferFile != NULL) + { + CFRelease(logger->bufferFile); + logger->bufferFile = NULL; + } + if (absolutePath != NULL) + logger->bufferFile = CFStringCreateCopy(NULL, absolutePath); + if (logger->bufferFileChangedSource != NULL) + CFRunLoopSourceSignal(logger->bufferFileChangedSource); + } +} + +Logger *LoggerStart(Logger *logger) +{ + // will do nothing if logger is already started + if (logger == NULL) + logger = LoggerGetDefaultLogger(); + + if (logger != NULL) + { + if (logger->workerThread == NULL) + { + dispatch_once(&logger->workerThreadInit, ^{ + // Start the work thread which performs the Bonjour search, + // connects to the logging service and forwards the logs + LOGGERDBG(CFSTR("LoggerStart logger=%p"), logger); + pthread_create(&logger->workerThread, NULL, (void *(*)(void *))&LoggerWorkerThread, logger); + + // Grab console output if required + if (logger->options & kLoggerOption_CaptureSystemConsole) + LoggerStartGrabbingConsole(logger); + }); + } + } + else + { + LOGGERDBG2(CFSTR("-> could not create logger")); + } + return logger; +} + +void LoggerStop(Logger *logger) +{ + LOGGERDBG(CFSTR("LoggerStop")); + + pthread_mutex_lock(&sLoggersListMutex); + if (logger == NULL || logger == sDefaultLogger) + { + logger = sDefaultLogger; + sDefaultLogger = NULL; + } + if (sLoggersList != NULL && logger != NULL) + { + CFIndex where = CFArrayGetFirstIndexOfValue(sLoggersList, CFRangeMake(0, CFArrayGetCount(sLoggersList)), (void const *) logger); + if (where != -1) + CFArrayRemoveValueAtIndex(sLoggersList, where); + } + pthread_mutex_unlock(&sLoggersListMutex); + + if (logger != NULL) + { + if (logger->workerThread != NULL) + { + LoggerStopGrabbingConsole(logger); + logger->quit = YES; + pthread_join(logger->workerThread, NULL); + } + + CFRelease(logger->bonjourServiceBrowsers); + CFRelease(logger->bonjourServices); + free(logger->sendBuffer); + if (logger->host != NULL) + CFRelease(logger->host); + if (logger->bufferFile != NULL) + CFRelease(logger->bufferFile); + if (logger->bonjourServiceType != NULL) + CFRelease(logger->bonjourServiceType); + if (logger->bonjourServiceName != NULL) + CFRelease(logger->bonjourServiceName); + + // to make sure potential errors are caught, set the whole structure + // to a value that will make code crash if it tries using pointers to it. + memset(logger, 0x55, sizeof(Logger)); + + free(logger); + } +} + +static void LoggerFlushAllOnExit() +{ + // this function is automatically configured by NSLogger to flush all connected loggers + // on exit. this guarantees that the developer sees the last messages issued by the application. + // it is configured the first time a logger is initialized, so at the time we're being called + // the loggers list is never NULL + pthread_mutex_lock(&sLoggersListMutex); + CFIndex numLoggers = CFArrayGetCount(sLoggersList); + for (CFIndex i=0; i < numLoggers; i++) + LoggerFlush((Logger *) CFArrayGetValueAtIndex(sLoggersList, i), NO); + pthread_mutex_unlock(&sLoggersListMutex); +} + +void LoggerFlush(Logger *logger, BOOL waitForConnection) +{ + // Special case: if nothing has ever been logged, don't bother + if (logger == NULL && sDefaultLogger == NULL) + return; + if (logger == NULL) + logger = LoggerGetDefaultLogger(); + if (logger != NULL && + pthread_self() != logger->workerThread && + (logger->connected || logger->bufferFile != NULL || waitForConnection)) // TODO: change this test + { + pthread_mutex_lock(&logger->logQueueMutex); + if (CFArrayGetCount(logger->logQueue) > 0) + pthread_cond_wait(&logger->logQueueEmpty, &logger->logQueueMutex); + pthread_mutex_unlock(&logger->logQueueMutex); + } +} + +#if LOGGER_DEBUG +static void LoggerDbg(CFStringRef format, ...) +{ + // Internal debugging function + // (what do you think, that we use the Logger to debug itself ??) + if (format != NULL) + { + @autoreleasepool + { + va_list args; + va_start(args, format); + CFStringRef s = CFStringCreateWithFormatAndArguments(NULL, NULL, format, args); + va_end(args); + if (s != NULL) + { + CFShow(s); + CFRelease(s); + } + } + } +} +#endif + +// ----------------------------------------------------------------------------- +#pragma mark - +#pragma mark Main processing +// ----------------------------------------------------------------------------- +static BOOL LoggerPrepareRunloopSource(Logger *logger, CFRunLoopSourceRef *outRef, void *callback) +{ + // first call will also create the thread's runloop + CFRunLoopSourceContext context; + bzero(&context, sizeof(context)); + context.info = logger; + context.perform = callback; + *outRef = CFRunLoopSourceCreate(NULL, 0, &context); + if (*outRef == NULL) + { + // This NSLog is intentional as this failure MUST be logged to console + NSLog(@"*** NSLogger: worker thread failed creating runloop source"); + return NO; + } + CFRunLoopAddSource(CFRunLoopGetCurrent(), *outRef, kCFRunLoopDefaultMode); + return YES; +} + +static void LoggerDisposeRunloopSource(CFRunLoopSourceRef *sourceRef) +{ + if (*sourceRef != NULL) + { + CFRunLoopSourceInvalidate(*sourceRef); + CFRelease(*sourceRef); + *sourceRef = NULL; + } +} + +static void *LoggerWorkerThread(Logger *logger) +{ + LOGGERDBG(CFSTR("Start LoggerWorkerThread")); + +#if !TARGET_OS_IPHONE + // Register thread with Garbage Collector on Mac OS X if we're running an OS version that has GC + void (*registerThreadWithCollector_fn)(void); + registerThreadWithCollector_fn = (void(*)(void)) dlsym(RTLD_NEXT, "objc_registerThreadWithCollector"); + if (registerThreadWithCollector_fn) + (*registerThreadWithCollector_fn)(); +#endif + + // Create the run loop source that signals when messages have been added to the runloop + // this will directly trigger a WriteMoreData() call, which will or won't write depending + // on whether we're connected and there's space available in the stream + if (!LoggerPrepareRunloopSource(logger, &logger->messagePushedSource, &LoggerWriteMoreData)) + { + // Failing to create the runloop source for pushing messages is a major failure. + // This NSLog is intentional. We WANT console output in this case + NSLog(@"*** NSLogger: switching to console logging."); + logger->options |= kLoggerOption_LogToConsole; + logger->workerThread = NULL; + return NULL; + } + + // Create the buffering stream if needed + if (logger->bufferFile != NULL) + LoggerCreateBufferWriteStream(logger); + + // Create the runloop source that lets us know when file buffering options change + LoggerPrepareRunloopSource(logger, &logger->bufferFileChangedSource, &LoggerFileBufferingOptionsChanged); + + // Create the runloop source that lets us know when remote (host, Bonjour) settings change + LoggerPrepareRunloopSource(logger, &logger->remoteOptionsChangedSource, &LoggerRemoteSettingsChanged); + + // Start Reachability (when needed), which determines when we take the next step + // (once Reachability status is known, we'll decide to either start Bonjour browsing or + // try connecting to a direct host) + LoggerStartReachabilityChecking(logger); + + // Run logging thread until LoggerStop() is called + NSTimeInterval timeout = 0.10; + while (!logger->quit) + { + int result = CFRunLoopRunInMode(kCFRunLoopDefaultMode, timeout, true); + if (result == kCFRunLoopRunFinished || result == kCFRunLoopRunStopped) + break; + if (result == kCFRunLoopRunHandledSource) + { + timeout = 0.0; + continue; + } + timeout = fmax(1.0, fmin(0.10, timeout+0.0005)); + } + + // Cleanup + LoggerStopBonjourBrowsing(logger); + LoggerStopReachabilityChecking(logger); + LoggerStopReconnectTimer(logger); + + if (logger->logStream != NULL) + { + CFWriteStreamSetClient(logger->logStream, 0, NULL, NULL); + CFWriteStreamClose(logger->logStream); + CFRelease(logger->logStream); + logger->logStream = NULL; + } + + if (logger->bufferWriteStream == NULL && logger->bufferFile != NULL) + { + // If there are messages in the queue and LoggerStop() was called and + // a buffer file was set just before LoggerStop() was called, flush + // the log queue to the buffer file + pthread_mutex_lock(&logger->logQueueMutex); + CFIndex outstandingMessages = CFArrayGetCount(logger->logQueue); + pthread_mutex_unlock(&logger->logQueueMutex); + if (outstandingMessages) + LoggerCreateBufferWriteStream(logger); + } + + if (logger->bufferWriteStream != NULL) + { + CFWriteStreamClose(logger->bufferWriteStream); + CFRelease(logger->bufferWriteStream); + logger->bufferWriteStream = NULL; + } + + LoggerDisposeRunloopSource(&logger->messagePushedSource); + LoggerDisposeRunloopSource(&logger->bufferFileChangedSource); + LoggerDisposeRunloopSource(&logger->remoteOptionsChangedSource); + + // if the client ever tries to log again against us, make sure that logs at least + // go to console + logger->options |= kLoggerOption_LogToConsole; + logger->workerThread = NULL; + + LOGGERDBG(CFSTR("Stop LoggerWorkerThread")); + return NULL; +} + +static CFStringRef LoggerCreateStringRepresentationFromBinaryData(CFDataRef data) +{ + CFMutableStringRef s = CFStringCreateMutable(NULL, 0); + unsigned int offset = 0; + unsigned int dataLen = (unsigned int)CFDataGetLength(data); + char buffer[1+6+16*3+1+16+1+1+1]; + buffer[0] = '\0'; + const unsigned char *q = (unsigned char *)CFDataGetBytePtr(data); + if (dataLen == 1) + CFStringAppend(s, CFSTR("Raw data, 1 byte:\n")); + else + CFStringAppendFormat(s, NULL, CFSTR("Raw data, %u bytes:\n"), dataLen); + while (dataLen) + { + int i, j, b = sprintf(buffer," %04x: ", offset); + for (i=0; i < 16 && i < (int)dataLen; i++) + sprintf(&buffer[b+3*i], "%02x ", (int)q[i]); + for (j=i; j < 16; j++) + strncat(buffer, " ", 3); + + b = (int)strlen(buffer); + buffer[b++] = '\''; + for (i=0; i < 16 && i < (int)dataLen; i++, q++) + { + if (*q >= 32 && *q < 128) + buffer[b++] = (char)*q; + else + buffer[b++] = ' '; + } + for (j=i; j < 16; j++) + buffer[b++] = ' '; + buffer[b++] = '\''; + buffer[b++] = '\n'; + buffer[b] = 0; + + CFStringRef bufferStr = CFStringCreateWithBytesNoCopy(NULL, (const UInt8 *)buffer, (CFIndex)strlen(buffer), kCFStringEncodingISOLatin1, false, kCFAllocatorNull); + CFStringAppend(s, bufferStr); + CFRelease(bufferStr); + + dataLen -= (unsigned int)i; + offset += (unsigned int)i; + } + return s; +} + +static void LoggerLogToConsole(CFDataRef data) +{ + // Decode and log a message to the console. Doing this from the worker thread + // allow us to serialize logging, which is a benefit that NSLog() doesn't have. + // Only drawback is that we have to decode our own message, but that is a minor hassle. + if (data == NULL) + { + CFShow(CFSTR("LoggerLogToConsole: data is NULL")); + return; + } + struct timeval timestamp; + bzero(×tamp, sizeof(timestamp)); + int type = LOGMSG_TYPE_LOG, contentsType = PART_TYPE_STRING; + int imgWidth=0, imgHeight=0; + CFStringRef message = NULL; + CFStringRef thread = NULL; + + // decode message contents + uint8_t *p = (uint8_t *)CFDataGetBytePtr(data) + 4; + uint16_t partCount; + memcpy(&partCount, p, 2); + partCount = ntohs(partCount); + p += 2; + while (partCount--) + { + uint8_t partKey = *p++; + uint8_t partType = *p++; + uint32_t partSize; + if (partType == PART_TYPE_INT16) + partSize = 2; + else if (partType == PART_TYPE_INT32) + partSize = 4; + else if (partType == PART_TYPE_INT64) + partSize = 8; + else + { + memcpy(&partSize, p, 4); + p += 4; + partSize = ntohl(partSize); + } + CFTypeRef part = NULL; + uint32_t value32 = 0; + uint64_t value64 = 0; + if (partSize > 0) + { + if (partType == PART_TYPE_STRING) + { + // trim whitespace and newline at both ends of the string + uint8_t *q = p; + uint32_t l = partSize; + while (l && (*q == ' ' || *q == '\t' || *q == '\n' || *q == '\r')) + q++, l--; + uint8_t *r = q + l - 1; + while (l && (*r == ' ' || *r == '\t' || *r == '\n' || *r == '\r')) + r--, l--; + part = CFStringCreateWithBytesNoCopy(NULL, q, (CFIndex)l, kCFStringEncodingUTF8, false, kCFAllocatorNull); + } + else if (partType == PART_TYPE_BINARY) + { + part = CFDataCreateWithBytesNoCopy(NULL, p, (CFIndex)partSize, kCFAllocatorNull); + } + else if (partType == PART_TYPE_IMAGE) + { + // ignore image data, we can't log it to console + } + else if (partType == PART_TYPE_INT16) + { + value32 = ((uint32_t)p[0]) << 8 | (uint32_t)p[1]; + } + else if (partType == PART_TYPE_INT32) + { + memcpy(&value32, p, 4); + value32 = ntohl(value32); + } + else if (partType == PART_TYPE_INT64) + { + memcpy(&value64, p, 8); + value64 = CFSwapInt64BigToHost(value64); + } + p += partSize; + } + switch (partKey) + { + case PART_KEY_MESSAGE_TYPE: + type = (int)value32; + break; + case PART_KEY_TIMESTAMP_S: // timestamp with seconds-level resolution + timestamp.tv_sec = (partType == PART_TYPE_INT64) ? (__darwin_time_t)value64 : (__darwin_time_t)value32; + break; + case PART_KEY_TIMESTAMP_MS: // millisecond part of the timestamp (optional) + timestamp.tv_usec = ((partType == PART_TYPE_INT64) ? (__darwin_suseconds_t)value64 : (__darwin_suseconds_t)value32) * 1000; + break; + case PART_KEY_TIMESTAMP_US: // microsecond part of the timestamp (optional) + timestamp.tv_usec = (partType == PART_TYPE_INT64) ? (__darwin_suseconds_t)value64 : (__darwin_suseconds_t)value32; + break; + case PART_KEY_THREAD_ID: + if (thread == NULL) // useless test, we know what we're doing but clang analyzer doesn't... + { + if (partType == PART_TYPE_INT32) + thread = CFStringCreateWithFormat(NULL, NULL, CFSTR("thread 0x%08x"), value32); + else if (partType == PART_TYPE_INT64) + thread = CFStringCreateWithFormat(NULL, NULL, CFSTR("thread 0x%qx"), value64); + else if (partType == PART_TYPE_STRING && part != NULL) + thread = CFRetain(part); + } + break; + case PART_KEY_MESSAGE: + if (part != NULL) + { + if (partType == PART_TYPE_STRING) + message = CFRetain(part); + else if (partType == PART_TYPE_BINARY) + message = LoggerCreateStringRepresentationFromBinaryData(part); + } + contentsType = partType; + break; + case PART_KEY_IMAGE_WIDTH: + imgWidth = (partType == PART_TYPE_INT32 ? (int)value32 : (int)value64); + break; + case PART_KEY_IMAGE_HEIGHT: + imgHeight = (partType == PART_TYPE_INT32 ? (int)value32 : (int)value64); + break; + default: + break; + } + if (part != NULL) + CFRelease(part); + } + + // Prepare the final representation and log to console + CFMutableStringRef s = CFStringCreateMutable(NULL, 0); + + char buf[32]; + struct tm t; + gmtime_r(×tamp.tv_sec, &t); + strftime(buf, sizeof(buf)-1, "%T", &t); + CFStringRef ts = CFStringCreateWithBytesNoCopy( + NULL, + (const UInt8 *)buf, + (CFIndex)strlen(buf), + kCFStringEncodingASCII, + false, + kCFAllocatorNull); + CFStringAppend(s, ts); + CFRelease(ts); + + if (contentsType == PART_TYPE_IMAGE) + message = CFStringCreateWithFormat(NULL, NULL, CFSTR(""), imgWidth, imgHeight); + + buf[0] = 0; + if (thread != NULL && CFStringGetLength(thread) < 16) + { + int n = 16 - (int)CFStringGetLength(thread); + memset(buf, ' ', (size_t)n); + buf[n] = 0; + } + CFStringAppendFormat(s, NULL, CFSTR(".%04d %s%@ | %@"), + (int)(timestamp.tv_usec / 1000), + buf, (thread == NULL) ? CFSTR("") : thread, + (message != NULL) ? message : CFSTR("")); + + if (thread != NULL) + CFRelease(thread); + if (message != NULL) + CFRelease(message); + + if (type == LOGMSG_TYPE_LOG || type == LOGMSG_TYPE_MARK) + CFShow(s); + + CFRelease(s); +} + +static void LoggerWriteMoreData(Logger *logger) +{ + uint32_t logToConsole = (logger->options & kLoggerOption_LogToConsole); + + if (!logger->connected) + { + if (logToConsole) + { + pthread_mutex_lock(&logger->logQueueMutex); + while (CFArrayGetCount(logger->logQueue)) + { + LoggerLogToConsole((CFDataRef)CFArrayGetValueAtIndex(logger->logQueue, 0)); + CFArrayRemoveValueAtIndex(logger->logQueue, 0); + } + pthread_mutex_unlock(&logger->logQueueMutex); + pthread_cond_broadcast(&logger->logQueueEmpty); + } + else if (logger->bufferWriteStream != NULL) + { + LoggerFlushQueueToBufferStream(logger, NO); + } + else if (!(logger->options & kLoggerOption_BufferLogsUntilConnection)) + { + /* No client connected + * User don't want to log to console + * User don't want to log to file + * and user don't want us to buffer it in memory + * So let's just sack the whole queue + */ + pthread_mutex_lock(&logger->logQueueMutex); + while (CFArrayGetCount(logger->logQueue)) + { + CFArrayRemoveValueAtIndex(logger->logQueue, 0); + } + pthread_mutex_unlock(&logger->logQueueMutex); + pthread_cond_broadcast(&logger->logQueueEmpty); + } + return; + } + + if (CFWriteStreamCanAcceptBytes(logger->logStream)) + { + // prepare archived data with log queue contents, unblock the queue as soon as possible + CFMutableDataRef sendFirstItem = NULL; + if (logger->sendBufferUsed == 0) + { + // pull more data from the log queue + if (logger->bufferReadStream != NULL) + { + if (!CFReadStreamHasBytesAvailable(logger->bufferReadStream)) + { + CFReadStreamClose(logger->bufferReadStream); + CFRelease(logger->bufferReadStream); + logger->bufferReadStream = NULL; + LoggerEmptyBufferFile(logger); + } + else + { + logger->sendBufferUsed = (NSUInteger)CFReadStreamRead(logger->bufferReadStream, logger->sendBuffer, (CFIndex)logger->sendBufferSize); + } + } + else + { + pthread_mutex_lock(&logger->logQueueMutex); + while (CFArrayGetCount(logger->logQueue)) + { + CFDataRef d = (CFDataRef)CFArrayGetValueAtIndex(logger->logQueue, 0); + CFIndex dsize = CFDataGetLength(d); + if ((logger->sendBufferUsed + (NSUInteger)dsize) > logger->sendBufferSize) + break; + memcpy(logger->sendBuffer + logger->sendBufferUsed, CFDataGetBytePtr(d), (size_t)dsize); + logger->sendBufferUsed += (NSUInteger)dsize; + if (logToConsole) + LoggerLogToConsole(d); + CFArrayRemoveValueAtIndex(logger->logQueue, 0); + logger->incompleteSendOfFirstItem = NO; + } + pthread_mutex_unlock(&logger->logQueueMutex); + } + if (logger->sendBufferUsed == 0) + { + // are we done yet? + pthread_mutex_lock(&logger->logQueueMutex); + if (CFArrayGetCount(logger->logQueue) == 0) + { + pthread_mutex_unlock(&logger->logQueueMutex); + pthread_cond_broadcast(&logger->logQueueEmpty); + return; + } + + // first item is too big to fit in a single packet, send it separately + sendFirstItem = (CFMutableDataRef)CFArrayGetValueAtIndex(logger->logQueue, 0); + logger->incompleteSendOfFirstItem = YES; + pthread_mutex_unlock(&logger->logQueueMutex); + logger->sendBufferOffset = 0; + } + } + + // send data over the socket. We try hard to be failsafe and if we have to send + // data in fragments, we make sure that in case a disconnect occurs we restart + // sending the whole message(s) + if (logger->sendBufferUsed != 0) + { + CFIndex written = CFWriteStreamWrite(logger->logStream, + logger->sendBuffer + logger->sendBufferOffset, + (CFIndex)(logger->sendBufferUsed - logger->sendBufferOffset)); + if (written < 0) + { + // We'll get an event if the stream closes on error. Don't discard the data, + // it will be sent as soon as a connection is re-acquired. + LOGGERDBG(CFSTR("CFWriteStreamWrite got %d result"),written); + return; + } + if ((logger->sendBufferOffset + (NSUInteger)written) < logger->sendBufferUsed) + { + // everything couldn't be sent at once + logger->sendBufferOffset += (NSUInteger)written; + } + else + { + logger->sendBufferUsed = 0; + logger->sendBufferOffset = 0; + } + } + else if (sendFirstItem) + { + CFIndex length = CFDataGetLength(sendFirstItem) - (CFIndex)logger->sendBufferOffset; + CFIndex written = CFWriteStreamWrite(logger->logStream, + CFDataGetBytePtr(sendFirstItem) + logger->sendBufferOffset, + length); + if (written < 0) + { + // We'll get an event if the stream closes on error + return; + } + if (written < length) + { + // The output pipe is full, and the first item has not been sent completely + // We need to reduce the remaining data on the first item so it can be taken + // care of at the next iteration. We take advantage of the fact that each item + // in the queue is actually a mutable data block + // @@@ NOTE: IF WE GET DISCONNECTED WHILE DOING THIS, THINGS WILL GO WRONG + // NEED TO UPDATE THIS LOGIC + LOGGERDBG(CFSTR("Output pipe is full")); + CFDataReplaceBytes((CFMutableDataRef)sendFirstItem, CFRangeMake(0, written), NULL, 0); + return; + } + + // we are done sending the first item in the queue, remove it now + pthread_mutex_lock(&logger->logQueueMutex); + CFArrayRemoveValueAtIndex(logger->logQueue, 0); + logger->incompleteSendOfFirstItem = NO; + pthread_mutex_unlock(&logger->logQueueMutex); + logger->sendBufferOffset = 0; + } + + pthread_mutex_lock(&logger->logQueueMutex); + CFIndex remainingMsgs = CFArrayGetCount(logger->logQueue); + pthread_mutex_unlock(&logger->logQueueMutex); + if (remainingMsgs == 0) + pthread_cond_broadcast(&logger->logQueueEmpty); + } +} + +// ----------------------------------------------------------------------------- +#pragma mark - +#pragma mark Console logs redirection support +// ----------------------------------------------------------------------------- +static void LoggerLogFromConsole(NSString *tag, int fd, int outfd) +{ + const int BUFSIZE = 1000; + UInt8 buf[BUFSIZE]; + ssize_t bytes_read = 0; + while ((bytes_read = read(fd, buf, BUFSIZE-1)) > 0) + { + // output received data to the original fd + if (outfd != -1) + write(outfd, buf, (size_t)bytes_read); + + if (buf[bytes_read-1] == '\n') + --bytes_read; + + CFStringRef messageString = CFStringCreateWithBytes(NULL, buf, bytes_read, kCFStringEncodingUTF8, false); + if (messageString != NULL) + { + CFArrayRef array = CFStringCreateArrayBySeparatingStrings(NULL, messageString, CFSTR("\n")); + if (array != NULL) + { + pthread_mutex_lock(&consoleGrabbersMutex); + + CFIndex n = CFArrayGetCount(array); + for (CFIndex m = 0; m < n; m++) + { + CFStringRef msg = (CFStringRef)CFArrayGetValueAtIndex(array, m); + for (unsigned i = 0; i < consoleGrabbersListLength; i++) + { + if (consoleGrabbersList[i] != NULL) + LogMessageTo(consoleGrabbersList[i], tag, 0, @"%@", msg); + } + } + + pthread_mutex_unlock(&consoleGrabbersMutex); + + CFRelease(array); + } + CFRelease(messageString); + } + } +} + +static void *LoggerConsoleGrabThread(void *context) +{ +#pragma unused (context) + + int fdout = sConsolePipes[0]; + fcntl(fdout, F_SETFL, fcntl(fdout, F_GETFL, 0) | O_NONBLOCK); + + int fderr = sConsolePipes[2]; + fcntl(fderr, F_SETFL, fcntl(fderr, F_GETFL, 0) | O_NONBLOCK); + + while (numActiveConsoleGrabbers != 0) + { + fd_set set; + FD_ZERO(&set); + FD_SET(fdout, &set); + FD_SET(fderr, &set); + + int ret = select(fderr + 1, &set, NULL, NULL, NULL); + + if (ret <= 0) + { + // ==0: time expired without activity + // < 0: error occurred + break; + } + + if (FD_ISSET(fdout, &set)) + LoggerLogFromConsole(@"stdout", fdout, sSTDOUT); + if (FD_ISSET(fderr, &set )) + LoggerLogFromConsole(@"stderr", fderr, sSTDERR); + } + + return NULL; +} + +static void LoggerStartConsoleRedirection() +{ + // keep the original pipes so we can still forward everything + // (i.e. to the running IDE that needs to display or interpret console messages) + // and remember the SIGPIPE settings, as we are going to clear them to prevent + // the app from exiting when we close the pipes + if (sSTDOUT == -1) + { + sSTDOUThadSIGPIPE = fcntl(STDOUT_FILENO, F_GETNOSIGPIPE); + sSTDOUT = dup(STDOUT_FILENO); + sSTDERRhadSIGPIPE = fcntl(STDERR_FILENO, F_GETNOSIGPIPE); + sSTDERR = dup(STDERR_FILENO); + } + + // create the pipes + if (sConsolePipes[0] == -1) + { + if (pipe(sConsolePipes) != -1) + { + fcntl(sConsolePipes[0], F_SETNOSIGPIPE, 1); + fcntl(sConsolePipes[1], F_SETNOSIGPIPE, 1); + dup2(sConsolePipes[1], STDOUT_FILENO); + } + } + + if (sConsolePipes[2] == -1) + { + if (pipe(&sConsolePipes[2]) != -1) + { + fcntl(sConsolePipes[0], F_SETNOSIGPIPE, 1); + fcntl(sConsolePipes[1], F_SETNOSIGPIPE, 1); + dup2(sConsolePipes[3], STDERR_FILENO); + } + } + + pthread_create(&consoleGrabThread, NULL, &LoggerConsoleGrabThread, NULL); +} + +static void LoggerStopConsoleRedirection() +{ + // close the pipes - will force exiting the console logger thread + // assume the console grabber mutex has been acquired + dup2(sSTDOUT, STDOUT_FILENO); + dup2(sSTDERR, STDERR_FILENO); + + close(sSTDOUT); + close(sSTDERR); + + // restore sigpipe flag on standard streams + fcntl(STDOUT_FILENO, F_SETNOSIGPIPE, &sSTDOUThadSIGPIPE); + fcntl(STDERR_FILENO, F_SETNOSIGPIPE, &sSTDERRhadSIGPIPE); + + // close pipes, this will trigger an error in select() and a console grab thread exit + if (sConsolePipes[0] != -1) + { + close(sConsolePipes[0]); + close(sConsolePipes[1]); + sConsolePipes[0] = -1; + } + if (sConsolePipes[2] != -1) + { + close(sConsolePipes[2]); + close(sConsolePipes[1]); + } + sConsolePipes[0] = sConsolePipes[1] = sConsolePipes[2] = sConsolePipes[3] = -1; + + pthread_join(consoleGrabThread, NULL); +} + +static void LoggerStartGrabbingConsole(Logger *logger) +{ + if (!(logger->options & kLoggerOption_CaptureSystemConsole)) + return; + + pthread_mutex_lock(&consoleGrabbersMutex); + + Boolean added = FALSE; + for (unsigned i = 0; i < numActiveConsoleGrabbers; i++) + { + if (consoleGrabbersList[i] == NULL) + { + consoleGrabbersList[i] = logger; + numActiveConsoleGrabbers++; + added = TRUE; + break; + } + } + if (!added) + { + consoleGrabbersList = realloc(consoleGrabbersList, ++consoleGrabbersListLength * sizeof(Logger *)); + consoleGrabbersList[numActiveConsoleGrabbers++] = logger; + } + + LoggerStartConsoleRedirection(); // Start redirection if necessary + + pthread_mutex_unlock( &consoleGrabbersMutex ); +} + +static void LoggerStopGrabbingConsole(Logger *logger) +{ + if (numActiveConsoleGrabbers == 0) + return; + + pthread_mutex_lock(&consoleGrabbersMutex); + + for (unsigned grabberIndex = 0; grabberIndex < consoleGrabbersListLength; grabberIndex++) + { + if (consoleGrabbersList[grabberIndex] == logger) + { + consoleGrabbersList[grabberIndex] = NULL; + if (--numActiveConsoleGrabbers == 0) + { + consoleGrabbersListLength = 0; + free(consoleGrabbersList); + consoleGrabbersList = NULL; + LoggerStopConsoleRedirection(); + } + break; + } + } + + pthread_mutex_unlock(&consoleGrabbersMutex); +} + +// ----------------------------------------------------------------------------- +#pragma mark - +#pragma mark File buffering functions +// ----------------------------------------------------------------------------- +static void LoggerCreateBufferWriteStream(Logger *logger) +{ + LOGGERDBG(CFSTR("LoggerCreateBufferWriteStream to file %@"), logger->bufferFile); + CFURLRef fileURL = CFURLCreateWithFileSystemPath(NULL, logger->bufferFile, kCFURLPOSIXPathStyle, false); + if (fileURL != NULL) + { + // Create write stream to file + logger->bufferWriteStream = CFWriteStreamCreateWithFile(NULL, fileURL); + CFRelease(fileURL); + if (logger->bufferWriteStream != NULL) + { + // Set flag to append new data to buffer file + CFWriteStreamSetProperty(logger->bufferWriteStream, kCFStreamPropertyAppendToFile, kCFBooleanTrue); + + // Open the buffer stream for writing + if (!CFWriteStreamOpen(logger->bufferWriteStream)) + { + CFRelease(logger->bufferWriteStream); + logger->bufferWriteStream = NULL; + } + else + { + // Write client info and flush the queue contents to buffer file + LoggerPushClientInfoToFrontOfQueue(logger); + LoggerFlushQueueToBufferStream(logger, YES); + } + } + } + if (logger->bufferWriteStream == NULL) + { + CFShow(CFSTR("NSLogger Warning: failed opening buffer file for writing:")); + CFShow(logger->bufferFile); + } +} + +static void LoggerCreateBufferReadStream(Logger *logger) +{ + LOGGERDBG(CFSTR("LoggerCreateBufferReadStream from file %@"), logger->bufferFile); + CFURLRef fileURL = CFURLCreateWithFileSystemPath(NULL, logger->bufferFile, kCFURLPOSIXPathStyle, false); + if (fileURL != NULL) + { + // Create read stream from file + logger->bufferReadStream = CFReadStreamCreateWithFile(NULL, fileURL); + CFRelease(fileURL); + if (logger->bufferReadStream != NULL) + { + if (!CFReadStreamOpen(logger->bufferReadStream)) + { + CFRelease(logger->bufferReadStream); + logger->bufferReadStream = NULL; + } + } + } +} + +static void LoggerEmptyBufferFile(Logger *logger) +{ + // completely remove the buffer file from storage + LOGGERDBG(CFSTR("LoggerEmptyBufferFile %@"), logger->bufferFile); + if (logger->bufferFile != NULL) + { + CFIndex bufferSize = 1 + CFStringGetLength(logger->bufferFile) * 3; + char *buffer = (char *)malloc((size_t)bufferSize); + if (buffer != NULL) + { + if (CFStringGetFileSystemRepresentation(logger->bufferFile, buffer, bufferSize)) + { + // remove file + unlink(buffer); + } + free(buffer); + } + } +} + +static void LoggerFileBufferingOptionsChanged(Logger *logger) +{ + // File buffering options changed (callback called on logger thread): + // - close the current buffer file stream, if any + // - create a new one, if needed + LOGGERDBG(CFSTR("LoggerFileBufferingOptionsChanged bufferFile=%@"), logger->bufferFile); + if (logger->bufferWriteStream != NULL) + { + CFWriteStreamClose(logger->bufferWriteStream); + CFRelease(logger->bufferWriteStream); + logger->bufferWriteStream = NULL; + } + if (logger->bufferFile != NULL) + LoggerCreateBufferWriteStream(logger); +} + +static void LoggerFlushQueueToBufferStream(Logger *logger, BOOL firstEntryIsClientInfo) +{ + LOGGERDBG(CFSTR("LoggerFlushQueueToBufferStream")); + pthread_mutex_lock(&logger->logQueueMutex); + if (logger->incompleteSendOfFirstItem) + { + // drop anything being sent + logger->sendBufferUsed = 0; + logger->sendBufferOffset = 0; + } + logger->incompleteSendOfFirstItem = NO; + + // Write outstanding messages to the buffer file (streams don't detect disconnection + // until the next write, where we could lose one or more messages) + if (!firstEntryIsClientInfo && logger->sendBufferUsed) + CFWriteStreamWrite(logger->bufferWriteStream, logger->sendBuffer + logger->sendBufferOffset, (CFIndex)(logger->sendBufferUsed - logger->sendBufferOffset)); + + int n = 0; + while (CFArrayGetCount(logger->logQueue)) + { + CFDataRef data = CFArrayGetValueAtIndex(logger->logQueue, 0); + CFIndex dataLength = CFDataGetLength(data); + CFIndex written = CFWriteStreamWrite(logger->bufferWriteStream, CFDataGetBytePtr(data), dataLength); + if (written != dataLength) + { + // couldn't write all data to file, maybe storage run out of space? + CFShow(CFSTR("NSLogger Error: failed flushing the whole queue to buffer file:")); + CFShow(logger->bufferFile); + break; + } + CFArrayRemoveValueAtIndex(logger->logQueue, 0); + if (n == 0 && firstEntryIsClientInfo && logger->sendBufferUsed) + { + // try hard: write any outstanding messages to the buffer file, after the client info + CFWriteStreamWrite(logger->bufferWriteStream, logger->sendBuffer + logger->sendBufferOffset, (CFIndex)(logger->sendBufferUsed - logger->sendBufferOffset)); + } + n++; + } + logger->sendBufferUsed = 0; + logger->sendBufferOffset = 0; + pthread_mutex_unlock(&logger->logQueueMutex); + pthread_cond_broadcast(&logger->logQueueEmpty); +} + +// ----------------------------------------------------------------------------- +#pragma mark - +#pragma mark Bonjour browsing +// ----------------------------------------------------------------------------- +static void LoggerStartBonjourBrowsing(Logger *logger) +{ + if (!logger->targetReachable || + logger->bonjourDomainBrowser != NULL || + !(logger->options & kLoggerOption_BrowseBonjour)) + return; + + LOGGERDBG(CFSTR("LoggerStartBonjourBrowsing")); + + if (logger->options & kLoggerOption_BrowseOnlyLocalDomain) + { + LOGGERDBG(CFSTR("Logger configured to search only the local domain, searching for services on: local.")); + if (!LoggerBrowseBonjourForServices(logger, CFSTR("local.")) && logger->host == NULL) + { + LOGGERDBG(CFSTR("*** Logger: could not browse for services in domain local., no remote host configured: reverting to console logging. ***")); + logger->options |= kLoggerOption_LogToConsole; + } + } + else + { + LOGGERDBG(CFSTR("Logger configured to search all domains, browsing for domains first")); + CFNetServiceClientContext context = {0, (void *)logger, NULL, NULL, NULL}; + CFRunLoopRef runLoop = CFRunLoopGetCurrent(); + logger->bonjourDomainBrowser = CFNetServiceBrowserCreate(NULL, &LoggerServiceBrowserCallBack, &context); + CFNetServiceBrowserScheduleWithRunLoop(logger->bonjourDomainBrowser, runLoop, kCFRunLoopCommonModes); + if (!CFNetServiceBrowserSearchForDomains(logger->bonjourDomainBrowser, false, NULL)) + { + // An error occurred, revert to console logging if there is no remote host + LOGGERDBG(CFSTR("*** Logger: could not browse for domains, reverting to console logging. ***")); + CFNetServiceBrowserUnscheduleFromRunLoop(logger->bonjourDomainBrowser, runLoop, kCFRunLoopCommonModes); + CFRelease(logger->bonjourDomainBrowser); + logger->bonjourDomainBrowser = NULL; + if (logger->host == NULL) + logger->options |= kLoggerOption_LogToConsole; + } + } +} + +static void LoggerStopBonjourBrowsing(Logger *logger) +{ + LOGGERDBG(CFSTR("LoggerStopBonjourBrowsing")); + + // stop browsing for domains + if (logger->bonjourDomainBrowser != NULL) + { + CFNetServiceBrowserStopSearch(logger->bonjourDomainBrowser, NULL); + CFNetServiceBrowserUnscheduleFromRunLoop(logger->bonjourDomainBrowser, CFRunLoopGetCurrent(), kCFRunLoopCommonModes); + CFNetServiceBrowserInvalidate(logger->bonjourDomainBrowser); + CFRelease(logger->bonjourDomainBrowser); + logger->bonjourDomainBrowser = NULL; + } + + // stop browsing for services + CFIndex idx; + for (idx = 0; idx < CFArrayGetCount(logger->bonjourServiceBrowsers); idx++) + { + CFNetServiceBrowserRef browser = (CFNetServiceBrowserRef)CFArrayGetValueAtIndex(logger->bonjourServiceBrowsers, idx); + CFNetServiceBrowserStopSearch(browser, NULL); + CFNetServiceBrowserUnscheduleFromRunLoop(browser, CFRunLoopGetCurrent(), kCFRunLoopCommonModes); + CFNetServiceBrowserInvalidate(browser); + } + CFArrayRemoveAllValues(logger->bonjourServiceBrowsers); + + // Forget all services + CFArrayRemoveAllValues(logger->bonjourServices); +} + +static BOOL LoggerBrowseBonjourForServices(Logger *logger, CFStringRef domainName) +{ + BOOL result = NO; + CFNetServiceClientContext context = {0, (void *)logger, NULL, NULL, NULL}; + CFRunLoopRef runLoop = CFRunLoopGetCurrent(); + + CFNetServiceBrowserRef browser = CFNetServiceBrowserCreate(NULL, (CFNetServiceBrowserClientCallBack)&LoggerServiceBrowserCallBack, &context); + CFNetServiceBrowserScheduleWithRunLoop(browser, runLoop, kCFRunLoopCommonModes); + CFStreamError error; + + // try to use the user-specfied service type if any, fallback on our + // default service type + CFStringRef serviceType = logger->bonjourServiceType; + if (serviceType == NULL) + { + if (logger->options & kLoggerOption_UseSSL) + serviceType = LOGGER_SERVICE_TYPE_SSL; + else + serviceType = LOGGER_SERVICE_TYPE; + } + if (!CFNetServiceBrowserSearchForServices(browser, domainName, serviceType, &error)) + { + LOGGERDBG(CFSTR("Logger can't start search on domain: %@ (error %d)"), domainName, error.error); + CFNetServiceBrowserUnscheduleFromRunLoop(browser, runLoop, kCFRunLoopCommonModes); + CFNetServiceBrowserInvalidate(browser); + } + else + { + LOGGERDBG(CFSTR("Logger started search for services of type %@ in domain %@"), serviceType, domainName); + CFArrayAppendValue(logger->bonjourServiceBrowsers, browser); + result = YES; + } + CFRelease(browser); + return result; +} + +static void LoggerServiceBrowserCallBack (CFNetServiceBrowserRef browser, + CFOptionFlags flags, + CFTypeRef domainOrService, + CFStreamError* error, + void* info) +{ +#pragma unused (browser) +#pragma unused (error) + LOGGERDBG(CFSTR("LoggerServiceBrowserCallback browser=%@ flags=0x%04x domainOrService=%@ error=%d"), browser, flags, domainOrService, error==NULL ? 0 : error->error); + + Logger *logger = (Logger *)info; + assert(logger != NULL); + + if (flags & kCFNetServiceFlagRemove) + { + if (!(flags & kCFNetServiceFlagIsDomain)) + { + CFNetServiceRef service = (CFNetServiceRef)domainOrService; + CFIndex idx; + for (idx = 0; idx < CFArrayGetCount(logger->bonjourServices); idx++) + { + if (CFArrayGetValueAtIndex(logger->bonjourServices, idx) == service) + { + CFNetServiceUnscheduleFromRunLoop(service, CFRunLoopGetCurrent(), kCFRunLoopCommonModes); + CFNetServiceClientContext context = {0, NULL, NULL, NULL, NULL}; + CFNetServiceSetClient(service, NULL, &context); + CFNetServiceCancel(service); + CFArrayRemoveValueAtIndex(logger->bonjourServices, idx); + break; + } + } + } + } + else + { + if (flags & kCFNetServiceFlagIsDomain) + { + // start searching for services in this domain + LoggerBrowseBonjourForServices(logger, (CFStringRef)domainOrService); + } + else + { + // a service has been found + LOGGERDBG(CFSTR("Logger found service: %@"), domainOrService); + CFNetServiceRef service = (CFNetServiceRef)domainOrService; + if (service != NULL) + { + // if the user has specified that Logger shall only connect to the specified + // Bonjour service name, check it now. This makes things easier in a teamwork + // environment where multiple instances of NSLogger viewer may run on the + // same network + if (logger->bonjourServiceName != NULL) + { + LOGGERDBG(CFSTR("-> looking for services of name %@"), logger->bonjourServiceName); + CFStringRef name = CFNetServiceGetName(service); + if (name == NULL || kCFCompareEqualTo != CFStringCompare(name, logger->bonjourServiceName, kCFCompareCaseInsensitive | kCFCompareDiacriticInsensitive)) + { + LOGGERDBG(CFSTR("-> service name %@ does not match requested service name, ignoring."), name, logger->bonjourServiceName); + return; + } + } + else + { + // If the desktop viewer we found requested that only clients looking for its name can connect, + // honor the request and do not connect. This helps with teams having multiple devices and multiple + // desktops with NSLogger installed to avoid unwanted logs coming to a specific viewer + // To indicate that the desktop only wants clients that are looking for its specific name, + // the desktop sets the TXT record to be a dictionary containing the @"filterClients" key with value @"1" + CFDataRef txtData = CFNetServiceGetTXTData(service); + if (txtData != NULL) + { + CFDictionaryRef txtDict = CFNetServiceCreateDictionaryWithTXTData(NULL, txtData); + if (txtDict != NULL) + { + const void *value = CFDictionaryGetValue(txtDict, CFSTR("filterClients")); + Boolean mismatch = (value != NULL && + CFGetTypeID((CFTypeRef)value) == CFStringGetTypeID() && + CFStringCompare((CFStringRef)value, CFSTR("1"), 0) != kCFCompareEqualTo); + CFRelease(txtDict); + if (mismatch) + { + LOGGERDBG(CFSTR("-> service %@ requested that only clients looking for it do connect."), name, logger->bonjourServiceName); + return; + } + } + } + } + CFArrayAppendValue(logger->bonjourServices, service); + LoggerTryConnect(logger); + } + } + } +} + +// ----------------------------------------------------------------------------- +#pragma mark - +#pragma mark Reachability & Connectivity Management +// ----------------------------------------------------------------------------- +static void LoggerRemoteSettingsChanged(Logger *logger) +{ + // this is a callback for a runloop source, called on the logger thread + + // Always terminate any ongoing connection first + LoggerWriteStreamTerminated(logger); + + if (logger->host == NULL && !(logger->options & kLoggerOption_BrowseBonjour)) + { + // developer doesn't want any network connection + LoggerStopBonjourBrowsing(logger); + LoggerStopReconnectTimer(logger); + LoggerStopReachabilityChecking(logger); + } + else + { + // we may already have Reachability or Bonjour browsing running, + // the calls do nothing if they are not needed + LoggerStartReachabilityChecking(logger); + if (logger->targetReachable) + { + if (logger->options & kLoggerOption_BrowseBonjour) + LoggerStartBonjourBrowsing(logger); + else + LoggerStopBonjourBrowsing(logger); + } + LoggerTryConnect(logger); + } +} + +static void LoggerStartReachabilityChecking(Logger *logger) +{ + if (logger->reachability == NULL) + { + if (logger->host != NULL) + { + // reachability targeted to the configured host + LOGGERDBG(CFSTR("Starting SCNetworkReachability to wait for host %@ to be reachable"), logger->host); + CFIndex length = CFStringGetLength(logger->host) * 3; + char *buffer = (char *)malloc((size_t)length + 1); + CFStringGetBytes(logger->host, CFRangeMake(0, CFStringGetLength(logger->host)), kCFStringEncodingUTF8, '?', false, (UInt8 *)buffer, length, &length); + buffer[length] = 0; + + logger->reachability = SCNetworkReachabilityCreateWithName(NULL, buffer); + + free(buffer); + } + else + { + // reachability for generic connection to the internet + LOGGERDBG(CFSTR("Starting SCNetworkReachability to wait for internet to be reachable"), logger->host); + struct sockaddr_in addr; + bzero(&addr, sizeof(addr)); + addr.sin_len = (__uint8_t) sizeof(addr); + addr.sin_family = AF_INET; + + logger->reachability = SCNetworkReachabilityCreateWithAddress(NULL, (const struct sockaddr *)&addr); + } + + SCNetworkReachabilityContext context = {0, logger, NULL, NULL, NULL}; + SCNetworkReachabilitySetCallback(logger->reachability, &LoggerReachabilityCallBack, &context); + SCNetworkReachabilityScheduleWithRunLoop(logger->reachability, CFRunLoopGetCurrent(), kCFRunLoopCommonModes); + + // arm the callback + if (SCNetworkReachabilityGetFlags(logger->reachability, &logger->reachabilityFlags)) + LoggerReachabilityCallBack(logger->reachability, logger->reachabilityFlags, logger); + } +} + +static void LoggerStopReachabilityChecking(Logger *logger) +{ + if (logger->reachability != NULL) + { + LOGGERDBG(CFSTR("Stopping SCNetworkReachability")); + SCNetworkReachabilityUnscheduleFromRunLoop(logger->reachability, CFRunLoopGetCurrent(), kCFRunLoopCommonModes); + CFRelease((CFTypeRef)logger->reachability); + logger->reachability = NULL; + } + LoggerStopReconnectTimer(logger); + logger->targetReachable = NO; +} + +static void LoggerReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReachabilityFlags flags, void *info) +{ +#pragma unused (target) + Logger *logger = (Logger *)info; + + LOGGERDBG(CFSTR("LoggerReachabilityCallBack called with flags=0x%08lx"), flags); + + SCNetworkReachabilityFlags oldFlags = logger->reachabilityFlags; + logger->reachabilityFlags = flags; + + if (flags & kSCNetworkReachabilityFlagsReachable) + { + // target host or internet became reachable + LOGGERDBG(CFSTR("-> target became reachable")); + logger->targetReachable = YES; + + // in the event a network transition occurred without network loss (i.e. WiFi -> 3G), + // preemptively disconnect. In many cases, if the network stays up, we will never receive + // a disconnection (possibly due to SSH ?) + if (flags != oldFlags && logger->logStream != NULL) + LoggerWriteStreamTerminated(logger); + else + LoggerTryConnect(logger); // will start Bonjour browsing if needed + } + else if (logger->connected || logger->logStream != NULL) + { + // lost internet connecton. Force a disconnect, we'll wait for the connection to become + // available again + LOGGERDBG(CFSTR("-> target became unreachable")); + logger->targetReachable = NO; + if (flags != oldFlags && logger->logStream != NULL) + LoggerWriteStreamTerminated(logger); + LoggerStopBonjourBrowsing(logger); + LoggerStopReconnectTimer(logger); + } +} + +static void LoggerStartReconnectTimer(Logger *logger) +{ + // start a timer that will try to reconnect every 5 seconds + if (logger->reconnectTimer == NULL && (logger->host != NULL || (logger->options & kLoggerOption_BrowseBonjour))) + { + LOGGERDBG(CFSTR("Starting the reconnect timer")); + CFRunLoopTimerContext timerCtx = { + .version = 0, + .info = logger, + .retain = NULL, + .release = NULL, + .copyDescription = NULL + }; + logger->reconnectTimer = CFRunLoopTimerCreate(NULL, + CFAbsoluteTimeGetCurrent() + 5, + 5, // reconnect interval + 0, + 0, + &LoggerTimedReconnectCallback, + &timerCtx); + if (logger->reconnectTimer != NULL) + { + LOGGERDBG(CFSTR("Starting the TimedReconnect timer to regularly retry the connection")); + CFRunLoopAddTimer(CFRunLoopGetCurrent(), logger->reconnectTimer, kCFRunLoopCommonModes); + } + } +} + +static void LoggerStopReconnectTimer(Logger *logger) +{ + if (logger->reconnectTimer != NULL) + { + LOGGERDBG(CFSTR("Stopping the reconnect timer")); + CFRunLoopTimerInvalidate(logger->reconnectTimer); + CFRunLoopRemoveTimer(CFRunLoopGetCurrent(), logger->reconnectTimer, kCFRunLoopCommonModes); + CFRelease(logger->reconnectTimer); + logger->reconnectTimer = NULL; + } +} + +static void LoggerTimedReconnectCallback(CFRunLoopTimerRef timer, void *info) +{ +#pragma unused (timer) + Logger *logger = (Logger *)info; + assert(logger != NULL); + LOGGERDBG(CFSTR("LoggerTimedReconnectCallback")); + if (logger->logStream == NULL) + { + LOGGERDBG(CFSTR("-> trying to reconnect to host %@"), logger->host); + LoggerTryConnect(logger); + } + else + { + LOGGERDBG(CFSTR("-> timer not needed anymore, removing it form runloop")); + LoggerStopReconnectTimer(logger); + } +} + +// ----------------------------------------------------------------------------- +#pragma mark - +#pragma mark Stream management +// ----------------------------------------------------------------------------- +static BOOL LoggerConfigureAndOpenStream(Logger *logger) +{ + // configure and open stream + LOGGERDBG(CFSTR("LoggerConfigureAndOpenStream configuring and opening log stream")); + CFStreamClientContext context = {0, (void *)logger, NULL, NULL, NULL}; + if (CFWriteStreamSetClient(logger->logStream, + (kCFStreamEventOpenCompleted | + kCFStreamEventCanAcceptBytes | + kCFStreamEventErrorOccurred | + kCFStreamEventEndEncountered), + &LoggerWriteStreamCallback, + &context)) + { + if (logger->options & kLoggerOption_UseSSL) + { + // Configure stream to require a SSL connection + LOGGERDBG(CFSTR("-> configuring SSL")); + const void *SSLKeys[] = { + kCFStreamSSLLevel, + kCFStreamSSLValidatesCertificateChain, + kCFStreamSSLIsServer, + kCFStreamSSLPeerName + }; + const void *SSLValues[] = { + kCFStreamSocketSecurityLevelNegotiatedSSL, + kCFBooleanFalse, // no certificate chain validation (we use a self-signed certificate) + kCFBooleanFalse, // not a server + kCFNull + }; + +#if TARGET_OS_IPHONE + // workaround for TLS in iOS 5 as per TN2287 + // see http://developer.apple.com/library/ios/#technotes/tn2287/_index.html#//apple_ref/doc/uid/DTS40011309 + // if we are running iOS 5 or later, use a special mode that allows the stack to downgrade gracefully + #if ALLOW_COCOA_USE + @autoreleasepool { + NSString *versionString = [[UIDevice currentDevice] systemVersion]; + if ([versionString compare:@"5.0" options:NSNumericSearch] != NSOrderedAscending) + SSLValues[0] = CFSTR("kCFStreamSocketSecurityLevelTLSv1_0SSLv3"); + } + #else + // we can't find out, assume we _may_ be on iOS 5 but can't be certain + // go for SSLv3 which works without the TLS 1.2 / 1.1 / 1.0 downgrade issue + SSLValues[0] = kCFStreamSocketSecurityLevelSSLv3; + #endif +#endif + + CFDictionaryRef SSLDict = CFDictionaryCreate(NULL, SSLKeys, SSLValues, 4, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks); + CFWriteStreamSetProperty(logger->logStream, kCFStreamPropertySSLSettings, SSLDict); + CFRelease(SSLDict); + } + + CFWriteStreamScheduleWithRunLoop(logger->logStream, CFRunLoopGetCurrent(), kCFRunLoopCommonModes); + + if (CFWriteStreamOpen(logger->logStream)) + { + LOGGERDBG(CFSTR("-> stream open attempt, waiting for open completion")); + return YES; + } + + LOGGERDBG(CFSTR("-> stream open failed.")); + + CFWriteStreamSetClient(logger->logStream, kCFStreamEventNone, NULL, NULL); + if (CFWriteStreamGetStatus(logger->logStream) == kCFStreamStatusOpen) + CFWriteStreamClose(logger->logStream); + CFWriteStreamUnscheduleFromRunLoop(logger->logStream, CFRunLoopGetCurrent(), kCFRunLoopCommonModes); + } + else + { + LOGGERDBG(CFSTR("-> stream set client failed.")); + } + CFRelease(logger->logStream); + logger->logStream = NULL; + return NO; +} + +static void LoggerTryConnect(Logger *logger) +{ + // Core function that attempts connection to found Bonjour services and configured Host + LOGGERDBG(CFSTR("LoggerTryConnect, %d services registered, current stream=%@"), CFArrayGetCount(logger->bonjourServices), logger->logStream); + + // If we already have a connection established or being attempted, stop here + if (logger->logStream != NULL) + { + LOGGERDBG(CFSTR("-> another connection is opened or in progress, giving up for now")); + return; + } + + // If reachability status is not known yet, just wait + if (logger->targetReachable == NO) + { + LOGGERDBG(CFSTR("-> not sure target is reachable, let's wait and see")); + return; + } + + // If there are discovered Bonjour services, try them now + while (CFArrayGetCount(logger->bonjourServices)) + { + CFNetServiceRef service = (CFNetServiceRef)CFArrayGetValueAtIndex(logger->bonjourServices, 0); + LOGGERDBG(CFSTR("-> Trying to open write stream to service %@"), service); + CFStreamCreatePairWithSocketToNetService(NULL, service, NULL, &logger->logStream); + CFArrayRemoveValueAtIndex(logger->bonjourServices, 0); + if (logger->logStream == NULL) + { + // create pair failed + LOGGERDBG(CFSTR("-> failed.")); + } + else if (LoggerConfigureAndOpenStream(logger)) + { + // open is now in progress + return; + } + } + + // If there is a host to directly connect to, try it now (this will happen before + // Bonjour kicks in, Bonjour being handled as a fallback solution if direct Host + // fails) + if (logger->host != NULL) + { + LOGGERDBG(CFSTR("-> Trying to open direct connection to host %@ port %u"), logger->host, logger->port); + CFStreamCreatePairWithSocketToHost(NULL, logger->host, logger->port, NULL, &logger->logStream); + if (logger->logStream == NULL) + { + // Create stream failed + LOGGERDBG(CFSTR("-> failed.")); + if (logger->logStream != NULL) + { + CFRelease(logger->logStream); + logger->logStream = NULL; + } + } + else if (LoggerConfigureAndOpenStream(logger)) + { + // open is now in progress + return; + } + LoggerStartReconnectTimer(logger); + } + + // Finally, if Bonjour is enabled and not started yet, start it now. + if (logger->options & kLoggerOption_BrowseBonjour) + { + if (logger->bonjourDomainBrowser == NULL || CFArrayGetCount(logger->bonjourServiceBrowsers) == 0) + { + LoggerStopBonjourBrowsing(logger); + LoggerStartBonjourBrowsing(logger); + } + } +} + +static void LoggerWriteStreamTerminated(Logger *logger) +{ + LOGGERDBG(CFSTR("LoggerWriteStreamTerminated called")); + + if (logger->connected) + { + LOGGERDBG(CFSTR("-> Logger DISCONNECTED")); + logger->connected = NO; + } + + if (logger->logStream != NULL) + { + LOGGERDBG(CFSTR("-> disposing the write stream")); + CFWriteStreamSetClient(logger->logStream, 0, NULL, NULL); + CFWriteStreamUnscheduleFromRunLoop(logger->logStream, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode); + CFWriteStreamClose(logger->logStream); + + CFRelease(logger->logStream); + logger->logStream = NULL; + } + + if (logger->bufferReadStream != NULL) + { + // In the case the connection drops before we have flushed the + // whole contents of the file, we choose to keep it integrally + // and retransmit it when reconnecting to the viewer. The reason + // of this choice is that we may have transmitted only part of + // a message, and this may cause errors on the desktop side. + LOGGERDBG(CFSTR("-> closing the bufferReadStream")); + CFReadStreamClose(logger->bufferReadStream); + CFRelease(logger->bufferReadStream); + logger->bufferReadStream = NULL; + } + + if (logger->bufferFile != NULL && logger->bufferWriteStream == NULL) + LoggerCreateBufferWriteStream(logger); + + // ensure that any current block on LoggerFlush() gets unblocked + pthread_cond_broadcast(&logger->logQueueEmpty); + + // tryConnect will take care of setting up the reconnect timer if needed + if (logger->targetReachable && + (logger->host != NULL || (logger->options & kLoggerOption_BrowseBonjour))) + LoggerTryConnect(logger); +} + +static void LoggerWriteStreamCallback(CFWriteStreamRef ws, CFStreamEventType event, void* info) +{ + Logger *logger = (Logger *)info; + assert(ws == logger->logStream); + switch (event) + { + case kCFStreamEventOpenCompleted: + // A stream open was complete. Cancel all bonjour browsing, + // service resolution and connection attempts, and try to + // write existing buffer contents + LOGGERDBG(CFSTR("Logger CONNECTED")); + logger->connected = YES; + LoggerStopBonjourBrowsing(logger); + LoggerStopReconnectTimer(logger); + if (logger->bufferWriteStream != NULL) + { + // now that a connection is acquired, we can stop logging to a file + CFWriteStreamClose(logger->bufferWriteStream); + CFRelease(logger->bufferWriteStream); + logger->bufferWriteStream = NULL; + } + if (logger->bufferFile != NULL) + { + // if a buffer file was defined, try to read its contents + LoggerCreateBufferReadStream(logger); + } + LoggerPushClientInfoToFrontOfQueue(logger); + LoggerWriteMoreData(logger); + break; + + case kCFStreamEventCanAcceptBytes: + LoggerWriteMoreData(logger); + break; + + case kCFStreamEventErrorOccurred: { + CFErrorRef error = CFWriteStreamCopyError(ws); + LOGGERDBG(CFSTR("Logger stream error: %@"), error); + CFRelease(error); + // Fall-thru + } + + case kCFStreamEventEndEncountered: + LoggerWriteStreamTerminated(logger); + break; + + // avoid warnings when building; cover all enum cases. + case kCFStreamEventNone: + case kCFStreamEventHasBytesAvailable: + break; + } +} + +// ----------------------------------------------------------------------------- +#pragma mark - +#pragma mark Internal encoding functions +// ----------------------------------------------------------------------------- +static uint8_t *LoggerMessagePrepareForPart(CFMutableDataRef encoder, uint32_t requiredExtraBytes) +{ + // Ensure a data block has the required storage capacity, update the total size and part count + // then return a pointer for fast storage of the data + uint8_t *p = CFDataGetMutableBytePtr(encoder); + CFIndex size = CFDataGetLength(encoder); + uint32_t oldSize = ntohl(*(uint32_t *)p); + uint32_t newSize = oldSize + requiredExtraBytes; + if ((newSize + 4) > size) + { + // grow by 64 bytes chunks + CFDataSetLength(encoder, (newSize + 4 + 64) & ~63); + p = CFDataGetMutableBytePtr(encoder); + } + *((uint32_t *)p) = htonl(newSize); + p += 4; + *((uint16_t *)p) = htons(ntohs(*(uint16_t *)p) + 1); + + // return a pointer to where new data must be put + return p + oldSize; +} + +static void LoggerMessageAddTimestamp(CFMutableDataRef encoder) +{ + struct timeval t; + if (gettimeofday(&t, NULL) == 0) + { +#if __LP64__ + LoggerMessageAddInt64(encoder, t.tv_sec, PART_KEY_TIMESTAMP_S); + LoggerMessageAddInt64(encoder, t.tv_usec, PART_KEY_TIMESTAMP_US); +#else + LoggerMessageAddInt32(encoder, t.tv_sec, PART_KEY_TIMESTAMP_S); + LoggerMessageAddInt32(encoder, t.tv_usec, PART_KEY_TIMESTAMP_US); +#endif + } + else + { + time_t ts = time(NULL); +#if __LP64__ + LoggerMessageAddInt64(encoder, ts, PART_KEY_TIMESTAMP_S); +#else + LoggerMessageAddInt32(encoder, ts, PART_KEY_TIMESTAMP_S); +#endif + } +} + +static void LoggerMessageAddTimestampAndThreadID(CFMutableDataRef encoder) +{ + LoggerMessageAddTimestamp(encoder); + + BOOL hasThreadName = NO; +#if ALLOW_COCOA_USE + // Getting the thread number is tedious, to say the least. Since there is + // no direct way to get it, we have to do it sideways. Note that it can be dangerous + // to use any Cocoa call when in a multithreaded application that only uses non-Cocoa threads + // and for which Cocoa's multithreading has not been activated. We test for this case. + BOOL inMainThread = [NSThread isMainThread]; + if (inMainThread) + { + hasThreadName = YES; + LoggerMessageAddString(encoder, CFSTR("Main thread"), PART_KEY_THREAD_ID); + } + else if ([NSThread isMultiThreaded]) + { + NSThread *thread = [NSThread currentThread]; + NSString *name = [thread name]; + if (![name length]) + { + // use the thread dictionary to store and retrieve the computed thread name + NSMutableDictionary *threadDict = [thread threadDictionary]; + name = [threadDict objectForKey:@"__$NSLoggerThreadName$__"]; + if (name == nil) + { + @autoreleasepool { + // optimize CPU use by computing the thread name once and storing it back + // in the thread dictionary + name = [thread description]; + NSRange range = [name rangeOfString:@"num = "]; + if (range.location != NSNotFound) + { + name = [NSString stringWithFormat:@"Thread %@", + [name substringWithRange:NSMakeRange(range.location + range.length, + [name length] - range.location - range.length - 1)]]; + [threadDict setObject:name forKey:@"__$NSLoggerThreadName$__"]; + } + } + } + } + if (name != nil) + { + LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)name, PART_KEY_THREAD_ID); + hasThreadName = YES; + } + } +#endif + if (!hasThreadName) + { +#if __LP64__ + LoggerMessageAddInt64(encoder, (int64_t)pthread_self(), PART_KEY_THREAD_ID); +#else + LoggerMessageAddInt32(encoder, (int32_t)pthread_self(), PART_KEY_THREAD_ID); +#endif + } +} + +static CFMutableDataRef LoggerMessageCreate(int32_t seq) +{ + CFMutableDataRef encoder = CFDataCreateMutable(NULL, 0); + if (encoder != NULL) + { + CFDataIncreaseLength(encoder, 64); + uint8_t *p = CFDataGetMutableBytePtr(encoder); + if (p != NULL) + { + // directly write the sequence number as first part of the message + // so we find it quickly when inserting new messages in the queue + if (seq) + { + p[3] = 8; // size 0x00000008 in big endian + p[5] = 1; // part count 0x0001 + p[6] = (uint8_t)PART_KEY_MESSAGE_SEQ; + p[7] = (uint8_t)PART_TYPE_INT32; + *(uint32_t *)(p + 8) = htonl(seq); // ARMv6 and later, x86 processors do just fine with unaligned accesses + } + else + { + // empty message with a 0 part count + p[3] = 2; + } + } + LoggerMessageAddTimestampAndThreadID(encoder); + } + return encoder; +} + +static void LoggerMessageFinalize(CFMutableDataRef encoder) +{ + // Finalize a message by reducing the CFData size to the actual used size + if (encoder != NULL) + { + uint32_t *p = (uint32_t *)CFDataGetBytePtr(encoder); + if (p != NULL) + CFDataSetLength(encoder, ntohl(*p) + 4); + } +} + +static void LoggerMessageAddInt32(CFMutableDataRef encoder, int32_t anInt, int key) +{ + uint8_t *p = LoggerMessagePrepareForPart(encoder, 6); + if (p != NULL) + { + *p++ = (uint8_t)key; + *p++ = (uint8_t)PART_TYPE_INT32; + *(uint32_t *)p = htonl(anInt); // ARMv6 and later, x86 processors do just fine with unaligned accesses + } +} + +#if __LP64__ +static void LoggerMessageAddInt64(CFMutableDataRef encoder, int64_t anInt, int key) +{ + uint8_t *p = LoggerMessagePrepareForPart(encoder, 10); + if (p != NULL) + { + *p++ = (uint8_t)key; + *p++ = (uint8_t)PART_TYPE_INT64; + uint32_t *q = (uint32_t *)p; + *q++ = htonl((uint32_t)(anInt >> 32)); // ARMv6 and later, x86 processors do just fine with unaligned accesses + *q = htonl((uint32_t)anInt); + } +} +#endif + +static void LoggerMessageAddCString(CFMutableDataRef data, const char *aString, int key) +{ + if (aString == NULL || *aString == 0) + return; + + // convert to UTF-8 + int len = (int)strlen(aString); + uint8_t *buf = malloc((size_t)(2 * len)); + if (buf != NULL) + { + int i, n = 0; + for (i = 0; i < len; i++) + { + uint8_t c = (uint8_t)(*aString++); + if (c < 0x80) + buf[n++] = c; + else { + buf[n++] = 0xC0 | (c >> 6); + buf[n++] = (c & 0x6F) | 0x80; + } + } + if (n) + { + uint8_t *p = LoggerMessagePrepareForPart(data, (uint32_t)n+6); + if (p != NULL) + { + *p++ = (uint8_t)key; + *p++ = (uint8_t)PART_TYPE_STRING; + *(uint32_t *)p = htonl(n); // ARMv6 and later, x86 processors do just fine with unaligned accesses + memcpy(p + 4, buf, (size_t)n); + } + } + free(buf); + } +} + +static void LoggerMessageAddString(CFMutableDataRef encoder, CFStringRef aString, int key) +{ + if (aString == NULL) + aString = CFSTR(""); + + // All strings are UTF-8 encoded + uint32_t partSize = 0; + uint8_t *bytes = NULL; + + CFIndex stringLength = CFStringGetLength(aString); + CFIndex bytesLength = stringLength * 4; + if (stringLength) + { + bytes = (uint8_t *)malloc((size_t)bytesLength + 4); + if (bytes != NULL) + { + CFStringGetBytes(aString, CFRangeMake(0, stringLength), kCFStringEncodingUTF8, '?', false, bytes, bytesLength, &bytesLength); + partSize = (uint32_t)bytesLength; + } + } + + uint8_t *p = LoggerMessagePrepareForPart(encoder, 6 + partSize); + if (p != NULL) + { + *p++ = (uint8_t)key; + *p++ = (uint8_t)PART_TYPE_STRING; + *(uint32_t *)p = htonl(partSize); // ARMv6 and later, x86 processors do just fine with unaligned accesses + if (partSize && bytes != NULL) + memcpy(p + 4, bytes, (size_t)partSize); + } + + if (bytes != NULL) + free(bytes); +} + +static void LoggerMessageAddData(CFMutableDataRef encoder, CFDataRef theData, int key, int partType) +{ + if (theData != NULL) + { + CFIndex dataLength = CFDataGetLength(theData); + uint8_t *p = LoggerMessagePrepareForPart(encoder, (uint32_t)dataLength + 6); + if (p != NULL) + { + *p++ = (uint8_t)key; + *p++ = (uint8_t)partType; + *((uint32_t *)p) = htonl(dataLength); // ARMv6 and later, x86 processors do just fine with unaligned accesses + if (dataLength) + memcpy(p + 4, CFDataGetBytePtr(theData), (size_t)dataLength); + } + } +} + +static uint32_t LoggerMessageGetSeq(CFDataRef message) +{ + // Extract the sequence number from a message. When pushing messages to the queue, + // we use this to guarantee the logging order according to the seq# + // Since we now store the seq as first component, we only have to check whether + // the first part is the sequence number, and extract it. + uint8_t *p = (uint8_t *)CFDataGetBytePtr(message) + 4; + uint16_t partCount = ntohs(*(uint16_t *)p); + if (partCount) + { + if (p[2] == PART_KEY_MESSAGE_SEQ) + return ntohl(*(uint32_t *)(p+4)); // ARMv6 and later, x86 processors do just fine with unaligned accesses + } + return 0; +} + +// ----------------------------------------------------------------------------- +#pragma mark - +#pragma mark Private logging functions +// ----------------------------------------------------------------------------- +static void LoggerPushClientInfoToFrontOfQueue(Logger *logger) +{ + // Extract client information from the main bundle, as well as platform info, + // and assemble it to a message that will be put in front of the queue + // Helps desktop viewer display who's talking to it + // Note that we must be called from the logger work thread, as we don't + // run through the message port to transmit this message to the queue + CFBundleRef bundle = CFBundleGetMainBundle(); + if (bundle == NULL) + return; + CFMutableDataRef encoder = LoggerMessageCreate(0); + if (encoder != NULL) + { + LoggerMessageAddInt32(encoder, LOGMSG_TYPE_CLIENTINFO, PART_KEY_MESSAGE_TYPE); + + CFStringRef version = (CFStringRef)CFBundleGetValueForInfoDictionaryKey(bundle, kCFBundleVersionKey); + if (version != NULL && CFGetTypeID(version) == CFStringGetTypeID()) + LoggerMessageAddString(encoder, version, PART_KEY_CLIENT_VERSION); + CFStringRef name = (CFStringRef)CFBundleGetValueForInfoDictionaryKey(bundle, kCFBundleNameKey); + if (name != NULL) + LoggerMessageAddString(encoder, name, PART_KEY_CLIENT_NAME); + +#if TARGET_OS_IPHONE && ALLOW_COCOA_USE + if ([NSThread isMultiThreaded] || [NSThread isMainThread]) + { + @autoreleasepool + { + UIDevice *device = [UIDevice currentDevice]; + LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)device.name, PART_KEY_UNIQUEID); + LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)device.systemVersion, PART_KEY_OS_VERSION); + LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)device.systemName, PART_KEY_OS_NAME); + LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)device.model, PART_KEY_CLIENT_MODEL); + } + } +#elif TARGET_OS_MAC + CFStringRef osName = NULL, osVersion = NULL; + #if ALLOW_COCOA_USE + // Read the OS version without using deprecated Gestalt calls + @autoreleasepool + { + @try + { + NSString* versionString = [[NSDictionary dictionaryWithContentsOfFile: @"/System/Library/CoreServices/SystemVersion.plist"] objectForKey: @"ProductVersion"]; + if ([versionString length]) + { + osName = CFSTR("Mac OS X"); + osVersion = CFRetain((CAST_TO_CFSTRING)versionString); + } + } + @catch (NSException *exc) + { + } + } + #endif + if (osVersion == NULL) + { + // Not allowed to call into Cocoa ? use the Darwin version string + struct utsname u; + if (uname(&u) == 0) + { + osName = CFStringCreateWithCString(NULL, u.sysname, kCFStringEncodingUTF8); + osVersion = CFStringCreateWithCString(NULL, u.release, kCFStringEncodingUTF8); + } + else + { + osName = CFSTR("Mac OS X"); + osVersion = CFSTR(""); + } + } + LoggerMessageAddString(encoder, osVersion, PART_KEY_OS_VERSION); + LoggerMessageAddString(encoder, osName, PART_KEY_OS_NAME); + CFRelease(osVersion); + CFRelease(osName); + + char buf[64]; + size_t len; + int ncpu = 0; + bzero(buf, sizeof(buf)); + len = sizeof(buf)-1; + sysctlbyname("hw.model", buf, &len, NULL, 0); + len = sizeof(ncpu); + sysctlbyname("hw.ncpu", &ncpu, &len, NULL, 0); + sprintf(buf+strlen(buf), " - %d * ", ncpu); + len = sizeof(buf)-strlen(buf)-1; + sysctlbyname("hw.machine", buf+strlen(buf), &len, NULL, 0); + + CFStringRef s = CFStringCreateWithCString(NULL, buf, kCFStringEncodingASCII); + LoggerMessageAddString(encoder, s, PART_KEY_CLIENT_MODEL); + CFRelease(s); +#endif + LoggerMessageFinalize(encoder); + + pthread_mutex_lock(&logger->logQueueMutex); + CFArrayInsertValueAtIndex(logger->logQueue, logger->incompleteSendOfFirstItem ? 1 : 0, encoder); + pthread_mutex_unlock(&logger->logQueueMutex); + + CFRelease(encoder); + } +} + +static void LoggerPushMessageToQueue(Logger *logger, CFDataRef message) +{ + // Add the message to the log queue and signal the runLoop source that will trigger + // a send on the worker thread. + pthread_mutex_lock(&logger->logQueueMutex); + CFIndex idx = CFArrayGetCount(logger->logQueue); + if (idx) + { + // to prevent out-of-order messages (as much as possible), we try to transmit messages in the + // order their sequence number was generated. Since the seq is generated first-thing, + // we can provide fine-grained ordering that gives a reasonable idea of the order + // the logging calls were made (useful for precise information about multithreading code) + uint32_t lastSeq, seq = LoggerMessageGetSeq(message); + do { + lastSeq = LoggerMessageGetSeq(CFArrayGetValueAtIndex(logger->logQueue, idx-1)); + } while (lastSeq > seq && --idx > 0); + } + if (idx >= 0) + CFArrayInsertValueAtIndex(logger->logQueue, idx, message); + else + CFArrayAppendValue(logger->logQueue, message); + pthread_mutex_unlock(&logger->logQueueMutex); + + if (logger->messagePushedSource != NULL) + { + // One case where the pushed source may be NULL is if the client code + // immediately starts logging without initializing the logger first. + // In this case, the worker thread has not completed startup, so we don't need + // to fire the runLoop source + CFRunLoopSourceSignal(logger->messagePushedSource); + } + else if (logger->workerThread == NULL && (logger->options & kLoggerOption_LogToConsole)) + { + // In this case, a failure creating the message runLoop source forces us + // to always log to console + pthread_mutex_lock(&logger->logQueueMutex); + while (CFArrayGetCount(logger->logQueue)) + { + LoggerLogToConsole(CFArrayGetValueAtIndex(logger->logQueue, 0)); + CFArrayRemoveValueAtIndex(logger->logQueue, 0); + } + pthread_mutex_unlock(&logger->logQueueMutex); + pthread_cond_broadcast(&logger->logQueueEmpty); // in case other threads are waiting for a flush + } +} + +static void LogMessageRawTo_internal(Logger *logger, + const char *filename, + int lineNumber, + const char *functionName, + NSString *domain, + int level, + NSString *message) +{ + // Variant of the LogMessage function that doesn't perform any variable arguments formatting + logger = LoggerStart(logger); // start if needed + if (logger != NULL) + { + int32_t seq = OSAtomicIncrement32Barrier(&logger->messageSeq); + LOGGERDBG2(CFSTR("%ld LogMessage"), seq); + + CFMutableDataRef encoder = LoggerMessageCreate(seq); + if (encoder != NULL) + { + LoggerMessageAddInt32(encoder, LOGMSG_TYPE_LOG, PART_KEY_MESSAGE_TYPE); + if (domain != nil && [domain length]) + LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)domain, PART_KEY_TAG); + if (level) + LoggerMessageAddInt32(encoder, level, PART_KEY_LEVEL); + if (filename != NULL) + LoggerMessageAddCString(encoder, filename, PART_KEY_FILENAME); + if (lineNumber) + LoggerMessageAddInt32(encoder, lineNumber, PART_KEY_LINENUMBER); + if (functionName != NULL) + LoggerMessageAddCString(encoder, functionName, PART_KEY_FUNCTIONNAME); + if (message != nil) + LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)message, PART_KEY_MESSAGE); + else + LoggerMessageAddString(encoder, CFSTR(""), PART_KEY_MESSAGE); + + LoggerMessageFinalize(encoder); + LoggerPushMessageToQueue(logger, encoder); + CFRelease(encoder); + } + else + { + LOGGERDBG2(CFSTR("-> failed creating encoder")); + } + } +} + +static void LogMessageTo_internal(Logger *logger, + const char *filename, + int lineNumber, + const char *functionName, + NSString *domain, + int level, + NSString *format, + va_list args) +{ + logger = LoggerStart(logger); // start if needed + if (logger != NULL) + { + int32_t seq = OSAtomicIncrement32Barrier(&logger->messageSeq); + LOGGERDBG2(CFSTR("%ld LogMessage"), seq); + + CFMutableDataRef encoder = LoggerMessageCreate(seq); + if (encoder != NULL) + { + LoggerMessageAddInt32(encoder, LOGMSG_TYPE_LOG, PART_KEY_MESSAGE_TYPE); + if (domain != nil && [domain length]) + LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)domain, PART_KEY_TAG); + if (level) + LoggerMessageAddInt32(encoder, level, PART_KEY_LEVEL); + if (filename != NULL) + LoggerMessageAddCString(encoder, filename, PART_KEY_FILENAME); + if (lineNumber) + LoggerMessageAddInt32(encoder, lineNumber, PART_KEY_LINENUMBER); + if (functionName != NULL) + LoggerMessageAddCString(encoder, functionName, PART_KEY_FUNCTIONNAME); + +#if ALLOW_COCOA_USE + // Go though NSString to avoid low-level logging of CF datastructures (i.e. too detailed NSDictionary, etc) + NSString *msgString = [[NSString alloc] initWithFormat:format arguments:args]; + if (msgString != nil) + { + LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)msgString, PART_KEY_MESSAGE); + RELEASE(msgString); + } +#else + CFStringRef msgString = CFStringCreateWithFormatAndArguments(NULL, NULL, (CFStringRef)format, args); + if (msgString != NULL) + { + LoggerMessageAddString(encoder, msgString, PART_KEY_MESSAGE); + CFRelease(msgString); + } +#endif + + LoggerMessageFinalize(encoder); + LoggerPushMessageToQueue(logger, encoder); + CFRelease(encoder); + } + else + { + LOGGERDBG2(CFSTR("-> failed creating encoder")); + } + } +} + +static void LogImageTo_internal(Logger *logger, + const char *filename, + int lineNumber, + const char *functionName, + NSString *domain, + int level, + int width, + int height, + NSData *data) +{ + logger = LoggerStart(logger); // start if needed + if (logger != NULL) + { + int32_t seq = OSAtomicIncrement32Barrier(&logger->messageSeq); + LOGGERDBG2(CFSTR("%ld LogImage"), seq); + + CFMutableDataRef encoder = LoggerMessageCreate(seq); + if (encoder != NULL) + { + LoggerMessageAddInt32(encoder, LOGMSG_TYPE_LOG, PART_KEY_MESSAGE_TYPE); + if (domain != nil && [domain length]) + LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)domain, PART_KEY_TAG); + if (level) + LoggerMessageAddInt32(encoder, level, PART_KEY_LEVEL); + if (width && height) + { + LoggerMessageAddInt32(encoder, width, PART_KEY_IMAGE_WIDTH); + LoggerMessageAddInt32(encoder, height, PART_KEY_IMAGE_HEIGHT); + } + if (filename != NULL) + LoggerMessageAddCString(encoder, filename, PART_KEY_FILENAME); + if (lineNumber) + LoggerMessageAddInt32(encoder, lineNumber, PART_KEY_LINENUMBER); + if (functionName != NULL) + LoggerMessageAddCString(encoder, functionName, PART_KEY_FUNCTIONNAME); + LoggerMessageAddData(encoder, (CAST_TO_CFDATA)data, PART_KEY_MESSAGE, PART_TYPE_IMAGE); + + LoggerMessageFinalize(encoder); + LoggerPushMessageToQueue(logger, encoder); + CFRelease(encoder); + } + else + { + LOGGERDBG2(CFSTR("-> failed creating encoder")); + } + } +} + +static void LogDataTo_internal(Logger *logger, + const char *filename, + int lineNumber, + const char *functionName, + NSString *domain, + int level, NSData *data) +{ + logger = LoggerStart(logger); // start if needed + if (logger != NULL) + { + int32_t seq = OSAtomicIncrement32Barrier(&logger->messageSeq); + LOGGERDBG2(CFSTR("%ld LogData"), seq); + + CFMutableDataRef encoder = LoggerMessageCreate(seq); + if (encoder != NULL) + { + LoggerMessageAddInt32(encoder, LOGMSG_TYPE_LOG, PART_KEY_MESSAGE_TYPE); + if (domain != nil && [domain length]) + LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)domain, PART_KEY_TAG); + if (level) + LoggerMessageAddInt32(encoder, level, PART_KEY_LEVEL); + if (filename != NULL) + LoggerMessageAddCString(encoder, filename, PART_KEY_FILENAME); + if (lineNumber) + LoggerMessageAddInt32(encoder, lineNumber, PART_KEY_LINENUMBER); + if (functionName != NULL) + LoggerMessageAddCString(encoder, functionName, PART_KEY_FUNCTIONNAME); + LoggerMessageAddData(encoder, (CAST_TO_CFDATA)data, PART_KEY_MESSAGE, PART_TYPE_BINARY); + + LoggerMessageFinalize(encoder); + LoggerPushMessageToQueue(logger, encoder); + CFRelease(encoder); + } + else + { + LOGGERDBG2(CFSTR("-> failed creating encoder")); + } + } +} + +static void LogStartBlockTo_internal(Logger *logger, NSString *format, va_list args) +{ + logger = LoggerStart(logger); // start if needed + if (logger) + { + int32_t seq = OSAtomicIncrement32Barrier(&logger->messageSeq); + LOGGERDBG2(CFSTR("%ld LogStartBlock"), seq); + + CFMutableDataRef encoder = LoggerMessageCreate(seq); + if (encoder != NULL) + { + LoggerMessageAddInt32(encoder, LOGMSG_TYPE_BLOCKSTART, PART_KEY_MESSAGE_TYPE); + if (format != nil) + { + CFStringRef msgString = CFStringCreateWithFormatAndArguments(NULL, NULL, (CAST_TO_CFSTRING)format, args); + if (msgString != NULL) + { + LoggerMessageAddString(encoder, msgString, PART_KEY_MESSAGE); + CFRelease(msgString); + } + } + + LoggerMessageFinalize(encoder); + LoggerPushMessageToQueue(logger, encoder); + CFRelease(encoder); + } + } +} + +// ----------------------------------------------------------------------------- +#pragma mark - +#pragma mark Public logging functions +// ----------------------------------------------------------------------------- +void LogMessageRaw(NSString *message) +{ + LogMessageRawTo_internal(NULL, NULL, 0, NULL, nil, 0, message); +} + +void LogMessageRawF(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *message) +{ + LogMessageRawTo_internal(NULL, filename, lineNumber, functionName, domain, level, message); +} + +void LogMessageRawToF(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *message) +{ + LogMessageRawTo_internal(logger, filename, lineNumber, functionName, domain, level, message); +} + +void LogMessageCompat(NSString *format, ...) +{ + va_list args; + va_start(args, format); + LogMessageTo_internal(NULL, NULL, 0, NULL, nil, 0, format, args); + va_end(args); +} + +void LogMessageTo(Logger *logger, NSString *domain, int level, NSString *format, ...) +{ + va_list args; + va_start(args, format); + LogMessageTo_internal(logger, NULL, 0, NULL, domain, level, format, args); + va_end(args); +} + +void LogMessageToF(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *format, ...) +{ + va_list args; + va_start(args, format); + LogMessageTo_internal(logger, filename, lineNumber, functionName, domain, level, format, args); + va_end(args); +} + +void LogMessageTo_va(Logger *logger, NSString *domain, int level, NSString *format, va_list args) +{ + LogMessageTo_internal(logger, NULL, 0, NULL, domain, level, format, args); +} + +void LogMessageToF_va(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *format, va_list args) +{ + LogMessageTo_internal(logger, filename, lineNumber, functionName, domain, level, format, args); +} + +void LogMessage(NSString *domain, int level, NSString *format, ...) +{ + va_list args; + va_start(args, format); + LogMessageTo_internal(NULL, NULL, 0, NULL, domain, level, format, args); + va_end(args); +} + +void LogMessageF(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *format, ...) +{ + va_list args; + va_start(args, format); + LogMessageTo_internal(NULL, filename, lineNumber, functionName, domain, level, format, args); + va_end(args); +} + +void LogMessage_va(NSString *domain, int level, NSString *format, va_list args) +{ + LogMessageTo_internal(NULL, NULL, 0, NULL, domain, level, format, args); +} + +void LogMessageF_va(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSString *format, va_list args) +{ + LogMessageTo_internal(NULL, filename, lineNumber, functionName, domain, level, format, args); +} + +void LogData(NSString *domain, int level, NSData *data) +{ + LogDataTo_internal(NULL, NULL, 0, NULL, domain, level, data); +} + +void LogDataF(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSData *data) +{ + LogDataTo_internal(NULL, filename, lineNumber, functionName, domain, level, data); +} + +void LogDataTo(Logger *logger, NSString *domain, int level, NSData *data) +{ + LogDataTo_internal(logger, NULL, 0, NULL, domain, level, data); +} + +void LogDataToF(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, NSData *data) +{ + LogDataTo_internal(logger, filename, lineNumber, functionName, domain, level, data); +} + +void LogImageData(NSString *domain, int level, int width, int height, NSData *data) +{ + LogImageTo_internal(NULL, NULL, 0, NULL, domain, level, width, height, data); +} + +void LogImageDataF(const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, int width, int height, NSData *data) +{ + LogImageTo_internal(NULL, filename, lineNumber, functionName, domain, level, width, height, data); +} + +void LogImageDataTo(Logger *logger, NSString *domain, int level, int width, int height, NSData *data) +{ + LogImageTo_internal(logger, NULL, 0, NULL, domain, level, width, height, data); +} + +void LogImageDataToF(Logger *logger, const char *filename, int lineNumber, const char *functionName, NSString *domain, int level, int width, int height, NSData *data) +{ + LogImageTo_internal(logger, filename, lineNumber, functionName, domain, level, width, height, data); +} + +void LogStartBlock(NSString *format, ...) +{ + va_list args; + va_start(args, format); + LogStartBlockTo_internal(NULL, format, args); + va_end(args); +} + +void LogStartBlockTo(Logger *logger, NSString *format, ...) +{ + va_list args; + va_start(args, format); + LogStartBlockTo_internal(logger, format, args); + va_end(args); +} + +void LogEndBlockTo(Logger *logger) +{ + logger = LoggerStart(logger); + if (logger) + { + if (logger->options & kLoggerOption_LogToConsole) + return; + + int32_t seq = OSAtomicIncrement32Barrier(&logger->messageSeq); + LOGGERDBG2(CFSTR("%ld LogEndBlock"), seq); + + CFMutableDataRef encoder = LoggerMessageCreate(seq); + if (encoder != NULL) + { + LoggerMessageAddInt32(encoder, LOGMSG_TYPE_BLOCKEND, PART_KEY_MESSAGE_TYPE); + LoggerMessageFinalize(encoder); + LoggerPushMessageToQueue(logger, encoder); + CFRelease(encoder); + } + else + { + LOGGERDBG2(CFSTR("-> failed creating encoder")); + } + } +} + +void LogEndBlock(void) +{ + LogEndBlockTo(NULL); +} + +void LogMarkerTo(Logger *logger, NSString *text) +{ + logger = LoggerStart(logger); // start if needed + if (logger != NULL) + { + int32_t seq = OSAtomicIncrement32Barrier(&logger->messageSeq); + LOGGERDBG2(CFSTR("%ld LogMarker"), seq); + + CFMutableDataRef encoder = LoggerMessageCreate(seq); + if (encoder != NULL) + { + LoggerMessageAddInt32(encoder, LOGMSG_TYPE_MARK, PART_KEY_MESSAGE_TYPE); + if (text == nil) + { + CFDateFormatterRef df = CFDateFormatterCreate(NULL, NULL, kCFDateFormatterShortStyle, kCFDateFormatterMediumStyle); + CFStringRef str = CFDateFormatterCreateStringWithAbsoluteTime(NULL, df, CFAbsoluteTimeGetCurrent()); + CFRelease(df); + if (str != NULL) + { + LoggerMessageAddString(encoder, str, PART_KEY_MESSAGE); + CFRelease(str); + } + } + else + { + LoggerMessageAddString(encoder, (CAST_TO_CFSTRING)text, PART_KEY_MESSAGE); + } + LoggerMessageFinalize(encoder); + LoggerPushMessageToQueue(logger, encoder); + CFRelease(encoder); + } + else + { + LOGGERDBG2(CFSTR("-> failed creating encoder")); + } + } +} + +void LogMarker(NSString *text) +{ + LogMarkerTo(NULL, text); +} diff --git a/external/nslog/ios/LoggerCommon.h b/external/nslog/ios/LoggerCommon.h new file mode 100644 index 0000000000..29c762da98 --- /dev/null +++ b/external/nslog/ios/LoggerCommon.h @@ -0,0 +1,113 @@ +/* + * LoggerCommon.h + * + * version 1.5-RC2 22-NOV-2013 + * + * Definitions common to NSLogger Viewer and NSLoggerClient + * for the binary messages format + * https://github.com/fpillet/NSLogger + * + * BSD license follows (http://www.opensource.org/licenses/bsd-license.php) + * + * Copyright (c) 2010-2013 Florent Pillet All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. Redistributions in + * binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. Neither the name of Florent + * Pillet nor the names of its contributors may be used to endorse or promote + * products derived from this software without specific prior written + * permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT + * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +/* NSLogger native binary message format: + * Each message is a dictionary encoded in a compact format. All values are stored + * in network order (big endian). A message is made of several "parts", which are + * typed chunks of data, each with a specific purpose (partKey), data type (partType) + * and data size (partSize). + * + * uint32_t totalSize (total size for the whole message excluding this 4-byte count) + * uint16_t partCount (number of parts below) + * [repeat partCount times]: + * uint8_t partKey the part key + * uint8_t partType (string, binary, image, int16, int32, int64) + * uint32_t partSize (only for string, binary and image types, others are implicit) + * .. `partSize' data bytes + * + * Complete message is usually made of: + * - a PART_KEY_MESSAGE_TYPE (mandatory) which contains one of the LOGMSG_TYPE_* values + * - a PART_KEY_TIMESTAMP_S (mandatory) which is the timestamp returned by gettimeofday() (seconds from 01.01.1970 00:00) + * - a PART_KEY_TIMESTAMP_MS (optional) complement of the timestamp seconds, in milliseconds + * - a PART_KEY_TIMESTAMP_US (optional) complement of the timestamp seconds and milliseconds, in microseconds + * - a PART_KEY_THREAD_ID (mandatory) the ID of the user thread that produced the log entry + * - a PART_KEY_TAG (optional) a tag that helps categorizing and filtering logs from your application, and shows up in viewer logs + * - a PART_KEY_LEVEL (optional) a log level that helps filtering logs from your application (see as few or as much detail as you need) + * - a PART_KEY_MESSAGE which is the message text, binary data or image + * - a PART_KEY_MESSAGE_SEQ which is the message sequence number (message# sent by client) + * - a PART_KEY_FILENAME (optional) with the filename from which the log was generated + * - a PART_KEY_LINENUMBER (optional) the linenumber in the filename at which the log was generated + * - a PART_KEY_FUNCTIONNAME (optional) the function / method / selector from which the log was generated + * - if logging an image, PART_KEY_IMAGE_WIDTH and PART_KEY_IMAGE_HEIGHT let the desktop know the image size without having to actually decode it + */ + +// Constants for the "part key" field +#define PART_KEY_MESSAGE_TYPE 0 +#define PART_KEY_TIMESTAMP_S 1 // "seconds" component of timestamp +#define PART_KEY_TIMESTAMP_MS 2 // milliseconds component of timestamp (optional, mutually exclusive with PART_KEY_TIMESTAMP_US) +#define PART_KEY_TIMESTAMP_US 3 // microseconds component of timestamp (optional, mutually exclusive with PART_KEY_TIMESTAMP_MS) +#define PART_KEY_THREAD_ID 4 +#define PART_KEY_TAG 5 +#define PART_KEY_LEVEL 6 +#define PART_KEY_MESSAGE 7 +#define PART_KEY_IMAGE_WIDTH 8 // messages containing an image should also contain a part with the image size +#define PART_KEY_IMAGE_HEIGHT 9 // (this is mainly for the desktop viewer to compute the cell size without having to immediately decode the image) +#define PART_KEY_MESSAGE_SEQ 10 // the sequential number of this message which indicates the order in which messages are generated +#define PART_KEY_FILENAME 11 // when logging, message can contain a file name +#define PART_KEY_LINENUMBER 12 // as well as a line number +#define PART_KEY_FUNCTIONNAME 13 // and a function or method name + +// Constants for parts in LOGMSG_TYPE_CLIENTINFO +#define PART_KEY_CLIENT_NAME 20 +#define PART_KEY_CLIENT_VERSION 21 +#define PART_KEY_OS_NAME 22 +#define PART_KEY_OS_VERSION 23 +#define PART_KEY_CLIENT_MODEL 24 // For iPhone, device model (i.e 'iPhone', 'iPad', etc) +#define PART_KEY_UNIQUEID 25 // for remote device identification, part of LOGMSG_TYPE_CLIENTINFO + +// Area starting at which you may define your own constants +#define PART_KEY_USER_DEFINED 100 + +// Constants for the "partType" field +#define PART_TYPE_STRING 0 // Strings are stored as UTF-8 data +#define PART_TYPE_BINARY 1 // A block of binary data +#define PART_TYPE_INT16 2 +#define PART_TYPE_INT32 3 +#define PART_TYPE_INT64 4 +#define PART_TYPE_IMAGE 5 // An image, stored in PNG format + +// Data values for the PART_KEY_MESSAGE_TYPE parts +#define LOGMSG_TYPE_LOG 0 // A standard log message +#define LOGMSG_TYPE_BLOCKSTART 1 // The start of a "block" (a group of log entries) +#define LOGMSG_TYPE_BLOCKEND 2 // The end of the last started "block" +#define LOGMSG_TYPE_CLIENTINFO 3 // Information about the client app +#define LOGMSG_TYPE_DISCONNECT 4 // Pseudo-message on the desktop side to identify client disconnects +#define LOGMSG_TYPE_MARK 5 // Pseudo-message that defines a "mark" that users can place in the log flow + +// Default Bonjour service identifiers +#define LOGGER_SERVICE_TYPE_SSL CFSTR("_nslogger-ssl._tcp") +#define LOGGER_SERVICE_TYPE CFSTR("_nslogger._tcp") diff --git a/external/nslog/ios/NSLogger.h b/external/nslog/ios/NSLogger.h new file mode 100644 index 0000000000..f2721ca31f --- /dev/null +++ b/external/nslog/ios/NSLogger.h @@ -0,0 +1,92 @@ +/* + * NSLogger.h + * + * version 1.5-RC2 22-NOV-2013 + * + * Part of NSLogger (client side) + * https://github.com/fpillet/NSLogger + * + * BSD license follows (http://www.opensource.org/licenses/bsd-license.php) + * + * Copyright (c) 2010-2013 Florent Pillet All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. Redistributions in + * binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. Neither the name of Florent + * Pillet nor the names of its contributors may be used to endorse or promote + * products derived from this software without specific prior written + * permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT + * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ +#import "LoggerClient.h" + + + +// Log level usual usage: +// Level 0: errors only! +// Level 1: important informations, app states… +// Level 2: less important logs, network requests… +// Level 3: network responses, datas and images… +// Level 4: really not important stuff. + + + +#if 0 + #define NSLog(...) LogMessageF(__FILE__, __LINE__, __FUNCTION__, @"NSLog", 0, __VA_ARGS__) + #define LoggerError(level, ...) LogMessageF(__FILE__, __LINE__, __FUNCTION__, @"Error", level, __VA_ARGS__) + #define LoggerApp(level, ...) LogMessageF(__FILE__, __LINE__, __FUNCTION__, @"App", level, __VA_ARGS__) + #define LoggerView(level, ...) LogMessageF(__FILE__, __LINE__, __FUNCTION__, @"View", level, __VA_ARGS__) + #define LoggerService(level, ...) LogMessageF(__FILE__, __LINE__, __FUNCTION__, @"Service", level, __VA_ARGS__) + #define LoggerModel(level, ...) LogMessageF(__FILE__, __LINE__, __FUNCTION__, @"Model", level, __VA_ARGS__) + #define LoggerData(level, ...) LogMessageF(__FILE__, __LINE__, __FUNCTION__, @"Data", level, __VA_ARGS__) + #define LoggerNetwork(level, ...) LogMessageF(__FILE__, __LINE__, __FUNCTION__, @"Network", level, __VA_ARGS__) + #define LoggerLocation(level, ...) LogMessageF(__FILE__, __LINE__, __FUNCTION__, @"Location", level, __VA_ARGS__) + #define LoggerPush(level, ...) LogMessageF(__FILE__, __LINE__, __FUNCTION__, @"Push", level, __VA_ARGS__) + #define LoggerFile(level, ...) LogMessageF(__FILE__, __LINE__, __FUNCTION__, @"File", level, __VA_ARGS__) + #define LoggerSharing(level, ...) LogMessageF(__FILE__, __LINE__, __FUNCTION__, @"Sharing", level, __VA_ARGS__) + #define LoggerAd(level, ...) LogMessageF(__FILE__, __LINE__, __FUNCTION__, @"Ad and Stat", level, __VA_ARGS__) + +#else + #define NSLog(...) LogMessageCompat(__VA_ARGS__) + #define LoggerError(...) while(0} {} + #define LoggerApp(level, ...) while(0) {} + #define LoggerView(...) while(0) {} + #define LoggerService(...) while(0) {} + #define LoggerModel(...) while(0) {} + #define LoggerData(...) while(0) {} + #define LoggerNetwork(...) while(0) {} + #define LoggerLocation(...) while(0) {} + #define LoggerPush(...) while(0) {} + #define LoggerFile(...) while(0) {} + #define LoggerSharing(...) while(0) {} + #define LoggerAd(...) while(0) {} + +#endif + + + +// Starts the logger with the username defined in the build settings. +// The build setting NSLOGGER_BUILD_USERNAME is automatically configured when NSLogger is +// added to a project using CocoaPods. To use it, just add this macro call to your main() function. +#define LoggerStartForBuildUser() LoggerSetupBonjour(LoggerGetDefaultLogger(), NULL, CFSTR(xstr(NSLOGGER_BUILD_USERNAME))) + + + + + + diff --git a/templates/cocos2dx_files.json b/templates/cocos2dx_files.json index 5cab9f5015..c39bed7595 100644 --- a/templates/cocos2dx_files.json +++ b/templates/cocos2dx_files.json @@ -278,6 +278,19 @@ "cocos/base/CCConfiguration.h", "cocos/base/CCConsole.cpp", "cocos/base/CCConsole.h", + "cocos/base/CCController-android.cpp", + "cocos/base/CCController-iOS.mm", + "cocos/base/CCController.h", + "cocos/base/CCControllerAxisInput.cpp", + "cocos/base/CCControllerAxisInput.h", + "cocos/base/CCControllerButtonInput.cpp", + "cocos/base/CCControllerButtonInput.h", + "cocos/base/CCControllerDirectionPad.cpp", + "cocos/base/CCControllerDirectionPad.h", + "cocos/base/CCControllerElement.cpp", + "cocos/base/CCControllerElement.h", + "cocos/base/CCControllerThumbstick.cpp", + "cocos/base/CCControllerThumbstick.h", "cocos/base/CCData.cpp", "cocos/base/CCData.h", "cocos/base/CCDataVisitor.cpp", @@ -288,6 +301,8 @@ "cocos/base/CCEvent.h", "cocos/base/CCEventAcceleration.cpp", "cocos/base/CCEventAcceleration.h", + "cocos/base/CCEventController.cpp", + "cocos/base/CCEventController.h", "cocos/base/CCEventCustom.cpp", "cocos/base/CCEventCustom.h", "cocos/base/CCEventDispatcher.cpp", @@ -300,6 +315,8 @@ "cocos/base/CCEventListener.h", "cocos/base/CCEventListenerAcceleration.cpp", "cocos/base/CCEventListenerAcceleration.h", + "cocos/base/CCEventListenerController.cpp", + "cocos/base/CCEventListenerController.h", "cocos/base/CCEventListenerCustom.cpp", "cocos/base/CCEventListenerCustom.h", "cocos/base/CCEventListenerFocus.cpp", @@ -315,6 +332,9 @@ "cocos/base/CCEventTouch.cpp", "cocos/base/CCEventTouch.h", "cocos/base/CCEventType.h", + "cocos/base/CCGameController.h", + "cocos/base/CCGamepad.cpp", + "cocos/base/CCGamepad.h", "cocos/base/CCIMEDelegate.h", "cocos/base/CCIMEDispatcher.cpp", "cocos/base/CCIMEDispatcher.h", @@ -727,12 +747,45 @@ "cocos/platform/android/CCGLView.h", "cocos/platform/android/CCPlatformDefine.h", "cocos/platform/android/CCStdC.h", + "cocos/platform/android/ControllerDelegate/.classpath", + "cocos/platform/android/ControllerDelegate/.project", + "cocos/platform/android/ControllerDelegate/.settings/org.eclipse.jdt.core.prefs", + "cocos/platform/android/ControllerDelegate/AndroidManifest.xml", + "cocos/platform/android/ControllerDelegate/ant.properties", + "cocos/platform/android/ControllerDelegate/build.xml", + "cocos/platform/android/ControllerDelegate/proguard-project.txt", + "cocos/platform/android/ControllerDelegate/src/org/cocos2dx/lib/GameControllerDelegate.java", + "cocos/platform/android/ControllerMoga/.classpath", + "cocos/platform/android/ControllerMoga/.project", + "cocos/platform/android/ControllerMoga/.settings/org.eclipse.jdt.core.prefs", + "cocos/platform/android/ControllerMoga/AndroidManifest.xml", + "cocos/platform/android/ControllerMoga/ant.properties", + "cocos/platform/android/ControllerMoga/build.xml", + "cocos/platform/android/ControllerMoga/proguard-project.txt", + "cocos/platform/android/ControllerMoga/src/org/cocos2dx/lib/GameControllerMoga.java", + "cocos/platform/android/ControllerNibiru/.classpath", + "cocos/platform/android/ControllerNibiru/.project", + "cocos/platform/android/ControllerNibiru/.settings/org.eclipse.jdt.core.prefs", + "cocos/platform/android/ControllerNibiru/AndroidManifest.xml", + "cocos/platform/android/ControllerNibiru/ant.properties", + "cocos/platform/android/ControllerNibiru/build.xml", + "cocos/platform/android/ControllerNibiru/proguard-project.txt", + "cocos/platform/android/ControllerNibiru/src/org/cocos2dx/lib/GameControllerNibiru.java", + "cocos/platform/android/ControllerOuya/.classpath", + "cocos/platform/android/ControllerOuya/.project", + "cocos/platform/android/ControllerOuya/.settings/org.eclipse.jdt.core.prefs", + "cocos/platform/android/ControllerOuya/AndroidManifest.xml", + "cocos/platform/android/ControllerOuya/ant.properties", + "cocos/platform/android/ControllerOuya/build.xml", + "cocos/platform/android/ControllerOuya/proguard-project.txt", + "cocos/platform/android/ControllerOuya/src/org/cocos2dx/lib/GameControllerOuya.java", "cocos/platform/android/java/.classpath", "cocos/platform/android/java/.project", "cocos/platform/android/java/.settings/org.eclipse.jdt.core.prefs", "cocos/platform/android/java/AndroidManifest.xml", "cocos/platform/android/java/ant.properties", "cocos/platform/android/java/build.xml", + "cocos/platform/android/java/lint.xml", "cocos/platform/android/java/proguard-project.txt", "cocos/platform/android/java/project.properties", "cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxAccelerometer.java", @@ -753,6 +806,12 @@ "cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxTypefaces.java", "cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxVideoHelper.java", "cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxVideoView.java", + "cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerAdapter.java", + "cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerHelper.java", + "cocos/platform/android/java/src/org/cocos2dx/lib/GameControllerUtils.java", + "cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerCompat.java", + "cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerV16.java", + "cocos/platform/android/java/src/org/cocos2dx/lib/inputmanagercompat/InputManagerV9.java", "cocos/platform/android/javaactivity.cpp", "cocos/platform/android/jni/DPIJni.cpp", "cocos/platform/android/jni/DPIJni.h", @@ -1991,6 +2050,12 @@ "external/linux-specific/fmod/prebuilt/64-bit/libfmodex64.so", "external/linux-specific/fmod/prebuilt/64-bit/libfmodexL64-4.38.00.so", "external/linux-specific/fmod/prebuilt/64-bit/libfmodexL64.so", + "external/nslog/CCNSLog.h", + "external/nslog/ios/CCNSLog.mm", + "external/nslog/ios/LoggerClient.h", + "external/nslog/ios/LoggerClient.m", + "external/nslog/ios/LoggerCommon.h", + "external/nslog/ios/NSLogger.h", "external/png/include/android/png.h", "external/png/include/android/pngconf.h", "external/png/include/android/pnglibconf.h", diff --git a/tests/cpp-tests/Classes/SchedulerTest/SchedulerTest.cpp b/tests/cpp-tests/Classes/SchedulerTest/SchedulerTest.cpp index 33fae8fb89..198ff3998b 100644 --- a/tests/cpp-tests/Classes/SchedulerTest/SchedulerTest.cpp +++ b/tests/cpp-tests/Classes/SchedulerTest/SchedulerTest.cpp @@ -1183,6 +1183,7 @@ void ScheduleUpdatePriority::onEnter() void ScheduleUpdatePriority::onExit() { + Node::onExit(); unscheduleUpdate(); } diff --git a/tests/cpp-tests/Resources/Shaders/example_outline.fsh b/tests/cpp-tests/Resources/Shaders/example_outline.fsh index 990119525a..d478eadb36 100644 --- a/tests/cpp-tests/Resources/Shaders/example_outline.fsh +++ b/tests/cpp-tests/Resources/Shaders/example_outline.fsh @@ -24,12 +24,10 @@ void main() accum += texture2D(CC_Texture0, vec2(v_texCoord.x - radius, v_texCoord.y + radius)); accum *= u_threshold; + accum.rgb = u_outlineColor * accum.a; + accum.a = 1.0; - accum.r = u_outlineColor.x; - accum.g = u_outlineColor.y; - accum.b = u_outlineColor.z; - - normal = (accum * (1.0 - normal.a)) + (normal * normal.a); + normal = ( accum * (1.0 - normal.a)) + (normal * normal.a); gl_FragColor = v_fragmentColor * normal; } diff --git a/tests/cpp-tests/proj.wp8-xaml/cpp-testsComponent/cpp-testsComponent.vcxproj b/tests/cpp-tests/proj.wp8-xaml/cpp-testsComponent/cpp-testsComponent.vcxproj index 1e37b6b1f2..f81bb0d720 100644 --- a/tests/cpp-tests/proj.wp8-xaml/cpp-testsComponent/cpp-testsComponent.vcxproj +++ b/tests/cpp-tests/proj.wp8-xaml/cpp-testsComponent/cpp-testsComponent.vcxproj @@ -230,6 +230,7 @@ + @@ -427,6 +428,7 @@ + diff --git a/tests/cpp-tests/proj.wp8-xaml/cpp-testsComponent/cpp-testsComponent.vcxproj.filters b/tests/cpp-tests/proj.wp8-xaml/cpp-testsComponent/cpp-testsComponent.vcxproj.filters index 360c126675..7f73aa616c 100644 --- a/tests/cpp-tests/proj.wp8-xaml/cpp-testsComponent/cpp-testsComponent.vcxproj.filters +++ b/tests/cpp-tests/proj.wp8-xaml/cpp-testsComponent/cpp-testsComponent.vcxproj.filters @@ -846,6 +846,9 @@ Classes\ExtensionsTest\CocoStudioActionTimelineTest + + Classes\TileMapTest + @@ -1566,6 +1569,9 @@ Classes\ExtensionsTest\CocoStudioActionTimelineTest + + Classes\TileMapTest + diff --git a/tests/game-controller-test/Classes/AppDelegate.cpp b/tests/game-controller-test/Classes/AppDelegate.cpp new file mode 100644 index 0000000000..ae7ef0a2cf --- /dev/null +++ b/tests/game-controller-test/Classes/AppDelegate.cpp @@ -0,0 +1,102 @@ +#include "AppDelegate.h" + +#include +#include + +#include "GameControllerTest.h" +#include "AppMacros.h" + +USING_NS_CC; +using namespace std; + +AppDelegate::AppDelegate() { + +} + +AppDelegate::~AppDelegate() +{ +} + +bool AppDelegate::applicationDidFinishLaunching() { + // initialize director + auto director = Director::getInstance(); + auto glview = director->getOpenGLView(); + if(!glview) { + glview = GLView::create("Cpp Empty Test"); + director->setOpenGLView(glview); + } + + director->setOpenGLView(glview); + + // Set the design resolution +#if (CC_TARGET_PLATFORM == CC_PLATFORM_WP8) + // a bug in DirectX 11 level9-x on the device prevents ResolutionPolicy::NO_BORDER from working correctly + glview->setDesignResolutionSize(designResolutionSize.width, designResolutionSize.height, ResolutionPolicy::SHOW_ALL); +#else + glview->setDesignResolutionSize(designResolutionSize.width, designResolutionSize.height, ResolutionPolicy::NO_BORDER); +#endif + + Size frameSize = glview->getFrameSize(); + + vector searchPath; + + // In this demo, we select resource according to the frame's height. + // If the resource size is different from design resolution size, you need to set contentScaleFactor. + // We use the ratio of resource's height to the height of design resolution, + // this can make sure that the resource's height could fit for the height of design resolution. + + // if the frame's height is larger than the height of medium resource size, select large resource. + if (frameSize.height > mediumResource.size.height) + { + searchPath.push_back(largeResource.directory); + + director->setContentScaleFactor(MIN(largeResource.size.height/designResolutionSize.height, largeResource.size.width/designResolutionSize.width)); + } + // if the frame's height is larger than the height of small resource size, select medium resource. + else if (frameSize.height > smallResource.size.height) + { + searchPath.push_back(mediumResource.directory); + + director->setContentScaleFactor(MIN(mediumResource.size.height/designResolutionSize.height, mediumResource.size.width/designResolutionSize.width)); + } + // if the frame's height is smaller than the height of medium resource size, select small resource. + else + { + searchPath.push_back(smallResource.directory); + + director->setContentScaleFactor(MIN(smallResource.size.height/designResolutionSize.height, smallResource.size.width/designResolutionSize.width)); + } + + // set searching path + FileUtils::getInstance()->setSearchPaths(searchPath); + + // turn on display FPS + director->setDisplayStats(true); + + // set FPS. the default value is 1.0/60 if you don't call this + director->setAnimationInterval(1.0 / 60); + + // create a scene. it's an autorelease object + auto scene = GameControllerTest::scene(); + + // run + director->runWithScene(scene); + + return true; +} + +// This function will be called when the app is inactive. When comes a phone call,it's be invoked too +void AppDelegate::applicationDidEnterBackground() { + Director::getInstance()->stopAnimation(); + + // if you use SimpleAudioEngine, it must be pause + // SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic(); +} + +// this function will be called when the app is active again +void AppDelegate::applicationWillEnterForeground() { + Director::getInstance()->startAnimation(); + + // if you use SimpleAudioEngine, it must resume here + // SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic(); +} diff --git a/tests/game-controller-test/Classes/AppDelegate.h b/tests/game-controller-test/Classes/AppDelegate.h new file mode 100644 index 0000000000..18ee8aeb63 --- /dev/null +++ b/tests/game-controller-test/Classes/AppDelegate.h @@ -0,0 +1,38 @@ +#ifndef _APP_DELEGATE_H_ +#define _APP_DELEGATE_H_ + +#include "cocos2d.h" + +/** +@brief The cocos2d Application. + +The reason for implement as private inheritance is to hide some interface call by Director. +*/ +class AppDelegate : private cocos2d::Application +{ +public: + AppDelegate(); + virtual ~AppDelegate(); + + /** + @brief Implement Director and Scene init code here. + @return true Initialize success, app continue. + @return false Initialize failed, app terminate. + */ + virtual bool applicationDidFinishLaunching(); + + /** + @brief The function be called when the application enter background + @param the pointer of the application + */ + virtual void applicationDidEnterBackground(); + + /** + @brief The function be called when the application enter foreground + @param the pointer of the application + */ + virtual void applicationWillEnterForeground(); +}; + +#endif // _APP_DELEGATE_H_ + diff --git a/tests/game-controller-test/Classes/AppMacros.h b/tests/game-controller-test/Classes/AppMacros.h new file mode 100644 index 0000000000..417da9a190 --- /dev/null +++ b/tests/game-controller-test/Classes/AppMacros.h @@ -0,0 +1,56 @@ +#ifndef __APPMACROS_H__ +#define __APPMACROS_H__ + +#include "cocos2d.h" + +/* For demonstrating using one design resolution to match different resources, + or one resource to match different design resolutions. + + [Situation 1] Using one design resolution to match different resources. + Please look into Appdelegate::applicationDidFinishLaunching. + We check current device frame size to decide which resource need to be selected. + So if you want to test this situation which said in title '[Situation 1]', + you should change ios simulator to different device(e.g. iphone, iphone-retina3.5, iphone-retina4.0, ipad, ipad-retina), + or change the window size in "proj.XXX/main.cpp" by "CCEGLView::setFrameSize" if you are using win32 or linux plaform + and modify "proj.mac/AppController.mm" by changing the window rectangle. + + [Situation 2] Using one resource to match different design resolutions. + The coordinates in your codes is based on your current design resolution rather than resource size. + Therefore, your design resolution could be very large and your resource size could be small. + To test this, just define the marco 'TARGET_DESIGN_RESOLUTION_SIZE' to 'DESIGN_RESOLUTION_2048X1536' + and open iphone simulator or create a window of 480x320 size. + + [Note] Normally, developer just need to define one design resolution(e.g. 960x640) with one or more resources. + */ + +#define DESIGN_RESOLUTION_480X320 0 +#define DESIGN_RESOLUTION_1024X768 1 +#define DESIGN_RESOLUTION_2048X1536 2 + +/* If you want to switch design resolution, change next line */ +#define TARGET_DESIGN_RESOLUTION_SIZE DESIGN_RESOLUTION_480X320 + +typedef struct tagResource +{ + cocos2d::Size size; + char directory[100]; +}Resource; + +static Resource smallResource = { cocos2d::Size(480, 320), "iphone" }; +static Resource mediumResource = { cocos2d::Size(1024, 768), "ipad" }; +static Resource largeResource = { cocos2d::Size(2048, 1536), "ipadhd" }; + +#if (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_480X320) +static cocos2d::Size designResolutionSize = cocos2d::Size(480, 320); +#elif (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_1024X768) +static cocos2d::Size designResolutionSize = cocos2d::Size(1024, 768); +#elif (TARGET_DESIGN_RESOLUTION_SIZE == DESIGN_RESOLUTION_2048X1536) +static cocos2d::Size designResolutionSize = cocos2d::Size(2048, 1536); +#else +#error unknown target design resolution! +#endif + +// The font size 24 is designed for small resolution, so we should change it to fit for current design resolution +#define TITLE_FONT_SIZE (cocos2d::Director::getInstance()->getOpenGLView()->getDesignResolutionSize().width / smallResource.size.width * 24) + +#endif /* __APPMACROS_H__ */ diff --git a/tests/game-controller-test/Classes/GameControllerTest.cpp b/tests/game-controller-test/Classes/GameControllerTest.cpp new file mode 100644 index 0000000000..820a4ec5fc --- /dev/null +++ b/tests/game-controller-test/Classes/GameControllerTest.cpp @@ -0,0 +1,259 @@ +#include "GameControllerTest.h" +#include "AppMacros.h" +#include "ui/CocosGUI.h" + +USING_NS_CC; + + +Scene* GameControllerTest::scene() +{ + auto scene = Scene::create(); + GameControllerTest *layer = GameControllerTest::create(); + scene->addChild(layer); + + return scene; +} + +GameControllerTest::~GameControllerTest() +{ + Controller::stopDiscoveryController(); +} + +bool GameControllerTest::init() +{ + if ( !Layer::init() ) + { + return false; + } + + auto visibleSize = Director::getInstance()->getVisibleSize(); + auto origin = Director::getInstance()->getVisibleOrigin(); + + auto tmpPos = Vec2(visibleSize / 2) + origin; + _actor = Sprite::create("CloseNormal.png"); + _actor->setPosition(tmpPos); + this->addChild(_actor,10); + + tmpPos.y -= 35; + _statusLabel = Label::createWithTTF("status", "fonts/Marker Felt.ttf", 40); + _statusLabel->setPosition(tmpPos); + this->addChild(_statusLabel, 0, 100); + + tmpPos.y += 65; + _leftTriggerLabel = Label::createWithTTF("left trigger", "fonts/Marker Felt.ttf", 40); + _leftTriggerLabel->setPosition(tmpPos); + this->addChild(_leftTriggerLabel, 0, 100); + + tmpPos.y += 40; + _rightTriggerLabel = Label::createWithTTF("right trigger", "fonts/Marker Felt.ttf", 40); + _rightTriggerLabel->setPosition(tmpPos); + this->addChild(_rightTriggerLabel, 0, 100); + + _listener = EventListenerController::create(); + _listener->onConnected = [=](Controller* controller, Event* event){ + _player1 = controller; + _statusLabel->setString("controller connected!"); + }; + + _listener->onDisconnected = [=](Controller* controller, Event* event){ + _player1 = nullptr; + _statusLabel->setString("controller disconnected!"); + }; + + _listener->onButtonPressed = CC_CALLBACK_3(GameControllerTest::onButtonPressed, this); + _listener->onButtonReleased = CC_CALLBACK_3(GameControllerTest::onButtonReleased, this); + _listener->onAxisValueChanged = CC_CALLBACK_3(GameControllerTest::onAxisValueChanged, this); + + _eventDispatcher->addEventListenerWithSceneGraphPriority(_listener, this); + + Controller::startDiscoveryController(); + + auto closeItem = MenuItemImage::create("CloseNormal.png", "CloseSelected.png", CC_CALLBACK_1(GameControllerTest::menuCloseCallback, this)); + closeItem->setPosition(origin + visibleSize - closeItem->getContentSize() / 2); + + auto menu = Menu::create(closeItem,nullptr); + menu->setPosition(Vec2::ZERO); + this->addChild(menu); + + //get game pad status in polling mode + scheduleUpdate(); + + return true; +} + +void GameControllerTest::onButtonPressed(cocos2d::Controller *controller, cocos2d::ControllerButtonInput *button, cocos2d::Event *event) +{ + if (controller == nullptr) + { + return; + } + _player1 = controller; + + auto gamePad = controller->getGamepad(); + + if (button == gamePad->getButtonA()) + { + _statusLabel->setString("button A pressed!"); + } + + if (button == gamePad->getButtonB()) + { + _statusLabel->setString("button B pressed!"); + } + + if (button == gamePad->getButtonX()) + { + _statusLabel->setString("button X pressed!"); + } + + if (button == gamePad->getButtonY()) + { + _statusLabel->setString("button Y pressed!"); + } + + if (button == gamePad->getDirectionPad()->getUp()) + { + _statusLabel->setString("Dpad up pressed!"); + } + + if (button == gamePad->getDirectionPad()->getDown()) + { + _statusLabel->setString("Dpad down pressed!"); + } + + if (button == gamePad->getDirectionPad()->getLeft()) + { + _statusLabel->setString("Dpad left pressed!"); + } + + if (button == gamePad->getDirectionPad()->getRight()) + { + _statusLabel->setString("Dpad right pressed!"); + } + + if (button == gamePad->getLeftShoulder()) + { + _statusLabel->setString("Left shoulder pressed!"); + } + + if (button == gamePad->getRightShoulder()) + { + _statusLabel->setString("Right shoulder pressed!"); + } +} + +void GameControllerTest::onButtonReleased(cocos2d::Controller *controller, cocos2d::ControllerButtonInput *button, cocos2d::Event *event) +{ + if (controller == nullptr) + { + return; + } + _player1 = controller; + + auto gamePad = controller->getGamepad(); + + if (button == gamePad->getButtonA()) + { + _statusLabel->setString("button A released!"); + } + + if (button == gamePad->getButtonB()) + { + _statusLabel->setString("button B released!"); + } + + if (button == gamePad->getButtonX()) + { + _statusLabel->setString("button X released!"); + } + + if (button == gamePad->getButtonY()) + { + _statusLabel->setString("button Y released!"); + } + + if (button == gamePad->getDirectionPad()->getUp()) + { + _statusLabel->setString("Dpad up released!"); + } + + if (button == gamePad->getDirectionPad()->getDown()) + { + _statusLabel->setString("Dpad down released!"); + } + + if (button == gamePad->getDirectionPad()->getLeft()) + { + _statusLabel->setString("Dpad left released!"); + } + + if (button == gamePad->getDirectionPad()->getRight()) + { + _statusLabel->setString("Dpad right released!"); + } + + if (button == gamePad->getLeftShoulder()) + { + _statusLabel->setString("Left shoulder released!"); + } + + if (button == gamePad->getRightShoulder()) + { + _statusLabel->setString("Right shoulder released!"); + } +} + +void GameControllerTest::onAxisValueChanged(cocos2d::Controller* controller, cocos2d::ControllerAxisInput* axis, cocos2d::Event* event) +{ + if (controller == nullptr) + { + return; + } + _player1 = controller; + + auto moveDelta = axis->getValue(); + Vec2 newPos = _actor->getPosition(); + auto gamePad = controller->getGamepad(); + + if (axis == gamePad->getLeftThumbstick()->getAxisX() || axis == gamePad->getRightThumbstick()->getAxisX()) + { + newPos.x += moveDelta; + } + else if (axis == gamePad->getLeftThumbstick()->getAxisY() || axis == gamePad->getRightThumbstick()->getAxisY()) + { + newPos.y -= moveDelta; + } + _actor->setPosition(newPos); +} + +void GameControllerTest::update(float dt) +{ + if (_player1 && _player1->isConnected()) + { + Vec2 newPos = _actor->getPosition(); + auto gamePad = _player1->getGamepad(); + + newPos.x += gamePad->getLeftThumbstick()->getAxisX()->getValue(); + newPos.y -= gamePad->getLeftThumbstick()->getAxisY()->getValue(); + + newPos.x += gamePad->getRightThumbstick()->getAxisX()->getValue(); + newPos.y -= gamePad->getRightThumbstick()->getAxisY()->getValue(); + + _actor->setPosition(newPos); + + char triggerStatus[50]; + sprintf(triggerStatus,"left trigger:%f",gamePad->getLeftTrigger()->getValue()); + _leftTriggerLabel->setString(triggerStatus); + sprintf(triggerStatus,"right trigger:%f",gamePad->getRightTrigger()->getValue()); + _rightTriggerLabel->setString(triggerStatus); + } +} + +void GameControllerTest::menuCloseCallback(Ref* sender) +{ + Director::getInstance()->end(); + +#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) + exit(0); +#endif +} \ No newline at end of file diff --git a/tests/game-controller-test/Classes/GameControllerTest.h b/tests/game-controller-test/Classes/GameControllerTest.h new file mode 100644 index 0000000000..98e2fdb55e --- /dev/null +++ b/tests/game-controller-test/Classes/GameControllerTest.h @@ -0,0 +1,35 @@ +#ifndef __GAMECONTROLLER_TEST_H__ +#define __GAMECONTROLLER_TEST_H__ + +#include "cocos2d.h" +#include "base/CCGameController.h" + +class GameControllerTest : public cocos2d::Layer +{ +public: + virtual ~GameControllerTest(); + + virtual bool init(); + + static cocos2d::Scene* scene(); + + // a selector callback + void menuCloseCallback(Ref* sender); + + // implement the "static node()" method manually + CREATE_FUNC(GameControllerTest); + + void update(float dt); + void onButtonPressed(cocos2d::Controller* controller, cocos2d::ControllerButtonInput* button, cocos2d::Event* event); + void onButtonReleased(cocos2d::Controller* controller, cocos2d::ControllerButtonInput* button, cocos2d::Event* event); + void onAxisValueChanged(cocos2d::Controller* controller, cocos2d::ControllerAxisInput* axis, cocos2d::Event* event); +private: + cocos2d::Controller* _player1; + cocos2d::Sprite* _actor; + cocos2d::Label* _statusLabel; + cocos2d::Label* _leftTriggerLabel; + cocos2d::Label* _rightTriggerLabel; + cocos2d::EventListenerController* _listener; +}; + +#endif // __GAMECONTROLLER_TEST_H__ diff --git a/tests/game-controller-test/Resources/.gitignore b/tests/game-controller-test/Resources/.gitignore new file mode 100644 index 0000000000..1d65afe366 --- /dev/null +++ b/tests/game-controller-test/Resources/.gitignore @@ -0,0 +1,2 @@ +#Do now ignore Marmalade icf files +!*.icf diff --git a/tests/game-controller-test/Resources/fonts/Marker Felt.ttf b/tests/game-controller-test/Resources/fonts/Marker Felt.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3752ef31106960b4a060bcc850ac89d8de7c71b3 GIT binary patch literal 25776 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 Oh;?XN1X%k=Y5jl3*|FsS literal 0 HcmV?d00001 diff --git a/tests/game-controller-test/Resources/ipad/CloseNormal.png b/tests/game-controller-test/Resources/ipad/CloseNormal.png new file mode 100644 index 0000000000000000000000000000000000000000..85a44c0d0367b9b621a714547bf483b8e1e21344 GIT binary patch literal 16933 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 literal 0 HcmV?d00001 diff --git a/tests/game-controller-test/Resources/iphone/CloseSelected.png b/tests/game-controller-test/Resources/iphone/CloseSelected.png new file mode 100644 index 0000000000000000000000000000000000000000..f75c4179a57cf4803549c6739ad2ea0e6186e307 GIT binary patch literal 5711 zcmV-V7O?4wP)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z000YmNklf@Ue5WQPk(>QIo($nWBC8PsXw#73)BG(fCrR-G9ZB%DBAPr{~AyN z&A}oH;ikxoh(l2>aBM&UjFK{yJUSJR$u;w*xOg0Jfjur;xB%#G zFYAWY`+MfE*wgh7C2br>h%iG|J38vbZ|SJd!Up&v^UgW|&g zn}L>8c_^1P?yY-E|Ni``cq*>TrNc8vHe6Q!kM~c_Et%G!-bgZ0xk}(Fq;iag*q6i? zHaI)Kb5ZT0hc2xB+}K9%0G`YKK+b)uXdZI}&H%1f9|kzmUQYlEj~t1<_`^0c6VKza z;r@YVre_zM70M?@%tgi}J?ro``SX z*b%egbWC2KQPHHissU?l)lV|ExUXO)+gZPIWW&<0{epIIpc+j|Wa0~G_~GlCg)f{EF_QR^Mr4~MLOy3H(U*POeu z&0JcJ+0w0HX^Tj^xgTJSb#Ia!`qdt$#xW=fpK0V}+p!;5dg@BnzJfkAigDlZZ+ZbDOB z2cQJeRfE)5t{$Y8dJe~Y0kMQSPx3}*z^b>q&lET%1YO#EJSs&>0xt5H8yQSRq~Ro1 z(_{-QVB$V=alQPt6P8Olifdju&Nb1*y6-9>(uvV8K4Qq{l*pH2Fak2JWY@_qo;_A% zR->Y#W0VwN3_m?yxKg zkF;O&+@bDi30xtJINn|4Xjh&v(nui?LSO*jl{nIHqP?3XYhOgQw=ttu@V6~lt{s*k zYbsNZcJzFfa)E56{7Q?8e?L@cMrGt#xse7;W{@)p(BL_}^G0N!q?jkp=WFlY+PZvi zM-hOn@0?=sv%lu6YhPvK-XlEn(jJPXGHA{Iqo?`TAH2ejgC_vN3%d^T=r49Lr==cg zV(x$K(A}n3sFkH6*(iKs@5xRYOvK2Xo47aeB-Ke$w(=$~GS1CYhOc{W@3DouPxj1w zvsn1MhhOuzUo*D(ArosHDG*B1SqfSG@*YMHdWV+AT26HrIrLsHpE|DvM+y)EDFx+7 z^Zfp{+vD#1jVMX2uQquVxxN@_7R(%l)3?O%?AYNztC_^bNlg^Pb6)YPQ4M!GVJT0c zz+=C8>%MQixbK!Qig9IMC3d8s)>mk)iJ}NcLXE3PKC1}3Sor$ScHR8#m-aqDP{Jt{ zyGHwBX@iLLwWI2}YTTgolp7=oSPf|GO_81@zIo-OZQs1&yxS?{V|w%I&10t@dFbVR zD}AMgDMy~E{ldm!G8+i1oU5E+Zyf7bx#rb<-ytkZr(BF`O>_&f*oQLq>ge4dqf7tyY44fPkuT4Cx2N=_LQolvj&U4W%GLObj4|tiIOet)=P)?yB|?fr^j z;CboubAWrjAov2HLfY5GA1*QYf0CR6!{qvr$JofN&)Bb1Etj&|>a@_@= z1Y>yg$R4_t&$1EcB|b+OLtQS@`n!#f>LI=F9+&0PY&*s>V2&3Ab1MrL%r@)Suc2JN z(hGvt_XAu8%t-+I%B9oF@ZtZ)@#E|4^=E*czzTqF*vI zv2e;KPfH=Sr4c0(W^q@FGwX`u>B!PA>>n4D?<+ z-7fdHq#&EndYqUv>9=lcYsR{Jr)}HUxs;y=?6_jvb2Ba%;un(_KX6F{proWO<3`&a z{CaHLUwW2pI7hBnam>C49j&%q4Y&-r$^NFlW??pO4uRMUf?U|#EGZP4Qf)eIza7Gu zar+*+ifv;I>HWjL53aB-d@mJmt-!sZ?@tHjgucH3xY)+e7+|$|;e|1w?|(U^ zWHOC@pzZ1sGf*9zW2Ij47x+hEK-*prd|;>l9RQn=T9@*T^j-h}002ovPDHLkV1n`^ B=o