In some situations, breakText() can return 0, which leads to an infinite
loop. In that case we just increase the index so the measuring doesn't
get stuck.
* Support Belarusian language
* Fixed code duplication - moved language convertion code to ccUtils
* added Belarusian language for all platforms
* Fix ios/mac build errors
* CMake build improvements
* android cmake support
* Enable proguard for cocos2d
* examples & test cmake support
* add android build type param to gradle.properties file
* less warnings
* update all android configs to recomended settings
* fix network cmake error
* fix js-tests cmake error
* android build config, add cmake
* android build config, add cmake
* add lua share lib
* android lua cmake build fix
* fix
* luajit test
* run fail, still
* fix js-warning
* correct lua main include
* lua test project cmake support android
* try to add lua-template cmake support
* lua template fix
* js_tests support cmake on android
* js-tests improve
* cmake support js-template
* test to realise prebuild
* cmake improve, no feature
* improve templates cmake
* refactor cmake struct
* correct cpp-tests cmake
* cpp-templates cmake improve
* typo fix
* cmake struct refator
* change default option
* adapt new project struct
* uniform cmake test style
* add_dependencies to support make -j
* little struct improve
* little fix
* adapt cmake bin dir
* little improve about cmake version
* change build all tests condition
* add source_group for Xcode
* add mark source files
* add more mark source code
* add template project to test
* add macos info.plist template
* add pak macos for all project
* lua test icon fix
* not consider lua project for now
* modify pak method
* add another ios toolchain
* add ios system library
* update ios toolchain, and reduce ios compile errors
* reduce error
* make ios engine lib compile pass
* cpp-empty-test ios bundle
* cpp-tests ios support
* js-tests ios support
* templates project support ios
* fix the way of lua-tests package
* try to fix lua-template on macOS
* comment lua-template sim file
* improve display on xcode
* update cmake readme
* check android compile again
* fix android compile error
* fix linux cmake res error
* update deps version, for cmake
* fix lua_template linux compile error
* close android cmake support for now
* review template android share library name
* change PROP_BUILD_TOOLS_VERSION version to 27.0.1
* change android compile version
* make `PROP_APP_PLATFORM` back, add comments for android native build
* Revert "make `PROP_APP_PLATFORM` back, add comments for android native build"
This reverts commit 272ddc19886891b9502cde070753a870c0fdb588.
* Copyright use python script updated. might be fix by manual later
* Revert "Copyright use python script updated. might be fix by manual later"
This reverts commit 49e99418e4da1fd02afda448ddeb16210f5e8c71.
* re modify copyright, consider utf-8-sig encoding
* another situation, add Copyright before "Permission is hereby granted"
* Revert "another situation, add Copyright before "Permission is hereby granted""
This reverts commit ee82591d32353c7ce2e146fe51ef447433b47571.
* another situation, add Copyright before Permission is hereby granted
* change "Copyright (c) 2016-2016 Chukong Technologies Inc." to " Copyright (c) 2016 Chukong Technologies Inc."
* script modify copyright, consider is cocos copyright or not
* change "Copyright (c) 2017 Chukong Technologies Inc." to "Copyright (c) 2016 Chukong Technologies Inc."
* manual fix, not fix audio related
* change "2016-2016" to "2016"
bug happen when:
1.implement keyback in a scene
2.implement webview in that scene and load a default URL
3.click any link and wait for it to load
4.press key back, the implemented keyback will not be called
* Updated android build process to use c++_static
* Comment out org.gradle.jvmargs
* Updated all project in test directory
* Update C++ Template
* Update js and lua projects
* Update Proguard + Lower minSdkVersion to 14
* Added All PROP_* values + updated build.gradle
* Updated versions
It's caused by `FileUtils::getContents` is invoked in different threads and we use EventDispatcher::dispatchCustomEvent in `FileUtilsAndroid::getContents` to send an event to EngineDataManager.
Since EngineDataManager class is only for internal use and EventDispatcher isn't thread-safe, we make `EngineDataManager::onBeforeReadFile` public and invoke it `FileUtilsAndroid::getContents`.
* Added three new methods for UiWebView. SetOpacityWebView(float), getOpacityWebView(), setBackgroundTransparent() in IOS
* Implemented methods for UiWebView. SetOpacityWebView(float), getOpacityWebView(). They only work using android sdk +11.
* New methods not implemented for Tizen.
* Added new button for testing the opacity in the cocos2d-x test application.
* Added setBackgroundTransparent to android, and his UI-Test.
* Added setBackgroundTransparent to android, and his UI-Test.
* Added keyword const to the getters.
* Android sdk reflection. +11sdk for chaging the opacity.
* Reflection used for the webview.setLayerType, webview.setAlpha, webview.getAlpha
* Unified exceptions.
* remove APP_SHORT_COMMANDS setting (#17722)
some developers report it will cause error on Windows though i can not reproduce it. It is strange, the setting is used to resolve command length limitation on Windows.
* Particle font size should be a const value (#17676)
* Particle font size should be a const value
* Minor fix: CCStencilStateManager.hpp -> CCStencilStateManager.h in xcode project.
* JSB SocketIO.connect supports to pass a CA cert file (#17736)
* JSB SocketIO.connect supports to pass a CA cert file
* The second parameter of SocketIO.connect function is probably a `option` object. JSB just ignores it.
* The optimization for huawei. (#17832)
* The optimization for huawei.
* setAnimationInterval fix for all platforms.
* disable debug
* include fix.
* Uses better configuration for huawei optimization (#17838)
* Uses better configuration for huawei optimization
* Updates jar file and uncomment fps controlling code
* [ci skip][AUTO]: updating luabinding & jsbinding & cocos_file.json automatically (#17840)
* update release not and version (#17845)
* [android] Removes an unused variable sRegistered in Cocos2dxActvity.java. (#17861)
* Updates jar to resolve warning while packaging APK file. (#17863)
* update release date (#17870)
* fix compiling error
* fix to problem with updating APK in Google Play keeping OBB from previous version
This patch fixes the problem when we are unable to keep OBB from previous version when we are uploading new .apk to Google Play.
It was discussed here:
http://discuss.cocos2d-x.org/t/problem-with-updating-apk-in-google-play-keeping-obb-from-previous-version-because-versioncode-changes/36039
* check for null pointer added
Found an issue which could lead to a crash because of null pointer exception.
If pathToOBB doesn't exist then File.list will return null which will cause fileNames array be null.
Now it is fixed.
* fix editbox textChanged event called after fragment loaded
* fix editbox duplicatd text when change text in textChanged callback
* revert changes of placeholder modification
* fixed#17685: [android] Audio in game couldn't be mute while a ring or a call is coming
* Updates comments in AudioEngine-inl.cpp and removes extra empty line in javaactivity-android.cpp
* Puts audio focus relative code to another java file named Cocos2dxAudioFocusManager.java
Renames setAudioFocusLost to setAudioFocus.
* Renames JNI function.
* Register audio focus in onResume and unregister it in onPause.
* fixed#17665: [android] Crash while launching on the devices only support OpenGL ES 2.
Fixes that egl.eglCreateContext may return non-null but EGL10.EGL_NO_CONTEXT value.
It will cause create a EGL env with a EGL_NO_CONTEXT egl context which will cause crash.
* Don’t link with libGLESv1_CM.so
* Fix custom event being discard during event emission
* Fix tilemap black line issue
* Fix auto bindings config
* Adapt websocket to new memory model
* Improve cocos2d_specifics code stability
* Fix issue with get_or_create_js_object function
* Improve memory usage in function wrapper invocation
* Use JS Function bind to avoid memory tracking issues
* Support size parameter to collect total byte size before update process
* Fix download resuming issue on Android
* Remove temporary assets when temporary manifest is invalid or out of date
* Use version compare handle to compare manifests versions
* Support max concurrent tasks setting & download verify callback
* Add Manifest::Asset conversion
* Avoid crash caused by wrappers
* Sync implementation of tested and published AssetsManagerEx from Cocos Creator
* Fix linux compilation issues
* Improve the AndroidStudio configuration of test projects to fit the new implementation of cocos compile.
* Improve the AndroidStudio configuration of templates to fit the new implementation of cocos compile.
* Fix various compilation issues.
Mostly errors on field initialization order but also missing files
in CMakeLists and missing include directives.
* Fix compilations issues with GCC 6.2
* Fix gitignore libs/ entry to not ignore the Android external libraries.
* [android] Catches ‘NumberFormatException’ while invoking Integer.parseInt.
* [android] Catches ‘NullPointerException’ while converting Integer to int in Cocos2dxActivity.hideVirtualButton.
* Added method to switch between single and multitouch on Android.
* Moved variable definitions to the beginning of the class. Handle single touch for ACTION_MOVE and ACTION_CANCEL.
* Cleaner code by using if/else instead of break
* Update js auto binding settings with new ndk version
* Remove unnecessary property from Ref
* Merge part of Cocos2d-x-lite :
1. Improve network bindings
2. Use nullptr instead of NULL
3. Remove usage of some deprecated APIs
4. Add some defensive code and cleanup
* Fix spine track entry circle referencing issue
* cocos2d/cocos2d-x#16327: Fix global object leak issue in JSB
* Improve ScriptingCore::evalString, old implementation have been deprecated in Spidermonkey
* Update JS versions
* Add docs for web v3.13
* Improve ScriptingCore
* Manual merge cocos2d/cocos2d-x#16383 by DavidDeSimone
* Fix auto bindings configurations
* Update web ref
* Audio latency fix for Android. Support preload effects on Android now.
Squashed commits:
[b6d80fe] log fix
[a0a918e] Fixes assetFd didn't be released while PcmData is returned from cache.
[4b956ba] Potential crash fix for PcmAudioPlayer while pause / resume.
[398ab8c] Updates LOG_TAG position in AudioEngine-inl.cpp
[e3634e7] include stdlib.h for posix_memalign
[9004074] fixes setVolume logical error.
[c96df46] Don't use another thread for mixing, enqueue is in a seperated thread, therefore doing mixing in another thread will waste more time.
[0a4c1a8] Adds setLoop, setVolume, setPostion support for Track
[c35fb20] Fixed include.
[cdd9d32] Do mixing by ourself. (TO BE POLISHED)
[6447025] µ -> u since µ could not be shown on some android devices.
[97be0c6] Don't send a silence clip.
[c1607ed] Make linter.py happy.
[0898b54] Puts enqueue & SetPlayState in PcmAudioPlayer::play to thread pool.
[b79fc01] Adds getDuration, getPosition support for PcmAudioPlayer
[80fa2ab] minor fix of the code position of resetting state to State::INITIALIZED
[d9c62f1] underrun fix for PcmAudioPlayer.
[9c2212a] UrlAudioPlayer, playOverMutex should be static, and should be used in update method.
[1519d2e] static variables
[19da936] _pcmAudioPlayer Null pointer check in AudioPlayerProvider.
[e6b0d14] Updates audio performance test.
[fc01dd4] Registers foreground & background event in AudioEngine-inl.cpp(android), the callback should invoke `provider`'s pause & resume method.
[e00a886] TBD: Pause & resume support for PcmAudioPlayerPool.
Since OpenSLES audio resources are expensive and device shared, we should delete all unused PcmAudioPlayers in pool while pause and re-create them while resume.
But this commit isn't finished yet, I don't find a better way to register pause&resume event in AudioEngine module.
[9e42ea3] Interleave mono audio to stereo audio. PcmAudioPlayerPool only contains PcmAudioPlayers with 2 channels.
[3f18d05] Adds a strategy for checking small size of different file formats.
[753ff49] Adds performance test for AudioEngine.
[09d3045] Releases an extra PcmAudioPlayer for UrlAudioPlayer while allocating PcmAudioPlayer fails.
[9dd4477] Using std::move for PcmData move constructor & move assignment.
[6ca3bcb] some fixes:
1) new -> new (std::nothrow)
2) break if allocate PcmAudioPlayer fails
3) renames 'initForPlayPcmData' to 'init'
4) PcmAudioPlayer destructor deadlock if 'init' failed
[54675b6] include path fix.
[a1903ca] More refactorings.
[19b9498] Makes linter.py happy. :)
[923c530] Fixes:
1) Avoid getFileInfo to be invoked twice
2) A critical bug fix for UrlAudioPlayer and adds detailed comments
3) __clang__ compiler option fix for AudioResamplerSinc.cpp.
[5ec4faf] minor fix.
[faaa0f3] output a log in the destructor of UrlAudioPlayer.
[9c20355] NewAudioEngineTest,TestControll crash fix.
[f114464] fixes an unused import.
[1dc5dab] Better algorithm for allocating PcmAudioPlayer.
[331a213] minor fix.
[e54084a] null -> nullptr
[f9a0389] Support uncache.
[89a364f] Removes unused update, and TODO uncache functionality.
[1732bf9] Supports AudioEngineImpl::setFinishCallback for android.
[43d1596] UrlAudioPlayer::stop fix.
[e2ee941] Test case fix in NewAudioEngineTest/AudioIssue11143Test
[5c5ba01] More fixes for making cpp-tests/New Audio Engine Test happy.
[8b554a3] Adds log while remove player from map.
[ed71322] If original file is larger than 30k bytes, consider it's a large audio file.
[fb1845a] Updates project.properties
[6f3839f] minor log output fix in AudioEngine-inl.cpp
[c68bc6c] Don't resample if the sample rate of the decoded pcm data matchs the device's.
[43ca45f] PcmAudioPlayers also need to be removed while they play over, but should not be deleted since their lifecycle is managed by PcmAudioPlayerPool.
[f5e63c9] Audio latency fix for Android. Support preload effects on Android now.
* Supports to loading audio files asynchronously.
* Crash fix for stop audio right after play2d.
* Minor fix for logic in AudioMixerController.cpp
* Adds missing files (CCThreadPool.h/.cpp).
* Minor fix for including.
* Minor fix for missing include <functional> in Track.h
* update license information in audio.h
* Don't use std::future/std::promise anymore since ndk counldn't support it well in armeabi arch.
* isSmallFile postion updated, fixes large audio file goto the checking logic of cache.
* std::atomic<int> isn't supported by ndk-r10e while compiling with `armeabi` arch, using a int with a mutex instead.
* fixes __isnanf & posix_memalign doesn't exist on low api (<=16) devices.
* namespace updated: cocos2d -> cocos2d::experimental
* Removes commented code in AudioMixerController.h/.cpp
* Removes unused code again, and fixes a memory leak of `Track` instance.
* Oops, namespace changed.
* Only outputs log in debug mode.
* Uses ALOGV for outputing logs in AudioEngine-inl.cpp
* const PcmData& -> PcmData for Track
* Fixes a protential crash in NewAudioEngineTest
* Adds `COCOS` prefix in header #ifndef COCOS_BALABALA #define COCOS_BALABALA
* Uses _ prefix for cocos code style instead of `m` prefix.
* Deletes AudioResamplerSinc related files.
* Bug fix from @minggo's reply on github.
* Don't need to invoke pause after in UrlAudioPlayer::prepare.
* Updates ThreadPool class, uses enum class and adds const keyword.