Commit Graph

12262 Commits

Author SHA1 Message Date
minggo 30118aff6b Merge pull request #16226 from dumganhar/fix/iss16192-smallaudio-crash
fixed #16192: Crash while decoding small MP3 file on Android.
2016-07-27 15:39:57 +08:00
minggo e6b42d486b Merge pull request #16218 from cezheng/fix/etc_premultiplied_alpha_value
fix CCImage premultipliedAlpha for ETC format
2016-07-27 15:38:48 +08:00
minggo 1a1241c3fc Merge pull request #16221 from Microsoft/winrt-v3.13
WinRT: update libcocos2d version to v3.13
2016-07-27 15:36:43 +08:00
James Chen 6efcf87b93 fixed #14148: Got an error while pressing home button at launch, after resuming from background, SimpileAudioEngine::playEffect will not be mute.
The error is: ERROR: [0x19e5fa000] >aurioc> 807: failed: '!pla' (enable 2, outf< 2 ch, 44100 Hz, Float32, non-inter> inf< 2 ch, 0 Hz, Float32, non-inter>)
2016-07-27 15:33:02 +08:00
Ricardo Quesada 4e278183ad Merge pull request #16122 from ricardoquesada/issue_16100
testcase: add test case for issue #16100
2016-07-26 23:21:25 -07:00
James Chen bd1d630f93 fixed #16192: Crash while decoding small MP3 file on Android. 2016-07-27 13:54:39 +08:00
Ricardo Quesada b336aa3219 testcase: add test case for issue #16100
delays camera creation

fix issue #16100
2016-07-26 19:03:54 -07:00
Dale Stammen d5809129c4 update libcocos2d version to v3.13 2016-07-26 12:34:36 -07:00
Ce Zheng 9903d31031 fix CCImage premultipliedAlpha for ETC format
translucent part of ETC format textures are rendered too bright due to
the fact that v3.12 sets PremultipliedAlpha to true by default. This
commit sets default value of _hasPremultipliedAlpha = false, deletes
unnecessary `_hasPremultipliedAlpha = false` code in multiple places,
making ETC format's _hasPremultipliedAlpha false while keeping other
formats unchanged.
2016-07-26 19:17:10 +09:00
minggo 6109ca6e4b Merge pull request #16216 from mogemimi/remove-unnecessary-extern
Remove unnecessary 'extern' to prevent compiler warnings
2016-07-26 15:19:11 +08:00
minggo 6fb4410232 Merge pull request #16213 from CocosRobot/update_lua_bindings_1469498667
[ci skip][AUTO]: updating luabinding & jsbinding automatically
2016-07-26 15:12:48 +08:00
mogemimi 0894662eff Remove unnecessary 'extern' to prevent compiler warnings 2016-07-26 12:42:43 +09:00
CocosRobot 9566a0cb24 [ci skip][AUTO]: updating luabinding & jsbinding automatically 2016-07-26 02:06:58 +00:00
minggo e1204c6138 Merge pull request #16210 from dumganhar/fix/std-bind
Remove unneeded std::bind, and use const & for input parameters.
2016-07-26 09:58:01 +08:00
mogemimi 093ef3a14f Fix typos in variable names 2016-07-26 04:06:01 +09:00
James Chen bf80f10dfd Remove unneeded std::bind, and use const & for input parameters. 2016-07-26 00:55:32 +08:00
minggo 662a1636c3 replace __system_property_get (#16205)
* replace __system_property_get

* fix comment
2016-07-25 18:30:47 +08:00
CocosRobot e0abb981d5 [ci skip][AUTO]: updating luabinding & jsbinding automatically 2016-07-25 09:39:34 +00:00
halx99 bf996c5bac Add ETC1 builtin alpha support. (#16118)
* Add ETC1 builtin alpha support.

* Rename setETC1AlphaFileEndix to setETC1AlphaFileSuffix

* Check whether etc1 alpha suffix is empty

* fix Code ident & Add etc1 alpha test case to SpriteTest.

* Remove unused ETC1AA shader programs

* Fix all review issues and endl issues

* Add a new TriangleCommand::init() with Texture2D* instead of GLuint textureID

* #fix issues
2016-07-25 17:31:54 +08:00
minggo cc14a06800 Issue 14206 (#16201)
* don't trigger applicationWillEnterForeground at first time to be the same as iOS

* rename first to firstTime
2016-07-25 14:25:48 +08:00
mogemimi 15030ad4c3 Fix typos in log messages 2016-07-25 02:53:22 +09:00
minggo 4c2234fe20 get correct control code 2016-07-22 14:30:06 +08:00
minggo a97906a280 Merge pull request #16184 from minggo/issue-16161
Issue 16161
2016-07-22 13:51:54 +08:00
minggo 391d97d1dd improve log info 2016-07-22 11:56:41 +08:00
minggo 8419cc2662 Merge pull request #16183 from SaxonDruce/android-willplaymusic
Implement willPlayBackgroundMusic() on Android
2016-07-22 10:57:26 +08:00
minggo fcd02f109e Merge pull request #16189 from mogemimi/fix-docs-typo
Fix typos in documentation and comments
2016-07-22 10:55:05 +08:00
Ricardo Quesada 1a834ebdbf fix: FPS appears again
Sets default glviewport() when the GLView::updateDesignResolutionSize()
is called

github issue #16139
2016-07-21 15:12:57 -07:00
mogemimi 94d4971ddc Fix typos in documentation and comments 2016-07-22 02:05:19 +09:00
SaxonDruce bbedddbf08 Fix bugs with music not resuming when iOS app is reactivated (#16178)
* Pause instead of stopping music on resign

The [audioSource stop] causes the music to be stopped, and therefore it fails to resume later on a call to [audioSource resume], due to the addition of the if (!stopped) check in resume added in 26a04b38f2

* Don't re-pause music that has already been paused

In this situation:

1. Start game, music plays
2. Switch to Music app, game music paused, start other music
3. Switch to game, game music not resumed due to other music playing
4. Switch to Music app, stop other music
5. Switch back to game, game music should resume due to no other music playing

At step 5 the game music doesn't currently resume. This is because at step 4 when switching to the Music app, the game music gets re-paused (actually isPlaying is false, so systemPaused is set to NO, even though the music *is* still paused). This causes the music to not be resumed at step 5.

This change fixes this, by skipping the pause logic if systemPaused is already true.

Note that this is dependent on https://github.com/cocos2d/cocos2d-x/pull/16178

* Fix typo in previous fix.
2016-07-21 17:41:24 +08:00
James Chen 233f2111b9 fixed #16170: Random crash in alGenBuffers(AudioCache::readDataTask) at startup. (#16182)
* fixed #16170: Random crash in alGenBuffers(AudioCache::readDataTask) at startup.

* Minor fix: should -> may

* Minor fix: updates comments.

* Update comment.

* Comment fix again.
2016-07-21 16:51:04 +08:00
minggo bb25bed6f2 Merge pull request #16164 from dumganhar/fix/iss16046-fps-clock
Uses std::chrono::steay_clock for calculating dt.
2016-07-21 16:01:58 +08:00
minggo 35cea378a9 Merge pull request #16172 from cezheng/fix/label_text_formatter_right_alignment
fix label text formatter right alignment
2016-07-21 15:21:12 +08:00
James Chen bb004c5e22 [audio] Fixes some issues while stop/uncache right after play/preload on OSX/iOS platform. (#16147)
* [audio] Fixes some issues while stop/uncache right after play/preload on OSX/iOS platform.

* Better state control in AudioCache.

* Adds State enum class which contains INITIAL, LOADING, READY, FAILED states.
* AudioPlayer::destroy should check AudioCache::_isAudioLoaded flag, otherwise, app will freeze in cpp-tests/NewAudioEngineTest/6:Test invalid audio file.

* Should check whether state is INITIAL in the destructor of AudioCache.

* Adds test case for switching play state frequently.

* Skips invoking reading data callback if cache's state is INITIAL.

* Variables initialization for AudioCache class and fixes protential missing delete AL buffers.
2016-07-21 14:57:59 +08:00
minggo b8f8ff0d25 Merge pull request #16177 from mogemimi/fix-constant-spelling
Fix typo in constant name
2016-07-21 14:41:35 +08:00
Saxon Druce de091cd3d9 Implement willPlayBackgroundMusic() on Android, to return false if there is other music already playing in another app. 2016-07-21 14:29:13 +08:00
minggo 26dd7b2698 remove curl link for Android 2016-07-21 11:56:56 +08:00
CocosRobot 708dab448d [ci skip][AUTO]: updating luabinding & jsbinding automatically (#16175) 2016-07-21 10:11:14 +08:00
mogemimi 17dfd03fa7 Fix typo in constant name 2016-07-21 00:49:19 +09:00
Ricardo Quesada 62f1762ea9 Merge pull request #16165 from ricardoquesada/issue_16105_bis
fix: stagger tilemaps hexa works as expected
2016-07-20 05:06:31 -07:00
Ce Zheng 35b848e842 fix label text formatter right alignment 2016-07-20 18:08:15 +09:00
James Chen 2e5626236b Remove unused code in cocos/audio/openal 2016-07-20 14:49:39 +08:00
minggo e19393fa23 Merge pull request #16123 from ricardoquesada/issue_15805
Fix: not cransh on android when mapBuffer() is not present
2016-07-20 14:10:04 +08:00
Ricardo Quesada b3218c1e58 fix: stagger tilemaps hexa works as expected
Github issue #16105
2016-07-19 22:55:05 -07:00
James Chen ddb25ca563 Uses std::chrono::steay_clock for calculating dt. 2016-07-20 12:43:40 +08:00
Ricardo Quesada cd495f68ba Fix: not cransh on android when mapBuffer() is not present
more info:
https://www.khronos.org/registry/gles/extensions/OES/OES_mapbuffer.txt

add methods to check whether or not glMapBuffer exists
2016-07-19 21:00:50 -07:00
Ricardo Quesada cc947737dd Merge pull request #16160 from ricardoquesada/issue_16139
fix: display FPS again on GLFW platforms
2016-07-19 19:19:31 -07:00
minggo 66e29ba82d Merge pull request #16151 from mogemimi/fix-function-spelling
Fix spelling for `getPolygonCenter` function
2016-07-20 09:56:51 +08:00
Ricardo Quesada 5f0c0163b3 fix: display FPS again on GLFW platforms
Apparently GLFW stop emitting some events that creation time.
2016-07-19 18:26:14 -07:00
mogemimi 5bd2d74078 Fix spelling for `getPolygonCenter` function 2016-07-19 08:24:22 +09:00
mogemimi 60dbbde3eb Fix misspelled enum: POLYGEN -> POLYGON 2016-07-18 19:10:07 +09:00
CocosRobot cbcbeb96b3 [ci skip][AUTO]: updating luabinding & jsbinding automatically 2016-07-18 06:20:59 +00:00
minggo 04ebd952a0 Merge pull request #16137 from yalab/cocosstudio_with_texturepacker
Fixed to use cocosstudio LoadingBarReader with TexturePacker.
2016-07-18 14:14:49 +08:00
James Chen 15ef80e27d [big refactoring] Audio latency fix for Android. Support to preload effects on Android now. (#15875)
* 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.
2016-07-18 10:22:40 +08:00
yalab ef21e44d9c Fixed to use cocosstudio LoadingBarReader with TexturePacker. 2016-07-17 16:30:17 +09:00
mogemimi d931c62649 Fix typos in documentation comments 2016-07-16 04:18:40 +09:00
minggo 1544b8eed0 Merge pull request #16127 from mogemimi/add-missing-fclose
Add missing fclose() to fix a possible bug caused by PR #16114
2016-07-15 18:32:33 +08:00
minggo 8b289d2385 fix bug that virtual button is not hidden after keyboard dismissed
* fix compiling error with --android-studio

* hide virtual button after keyboard dismiss

* remove unneeded log
2016-07-15 18:25:48 +08:00
mogemimi 07d0b4412f Add missing fclose() to fix a possible bug caused by PR #16114 2016-07-15 17:04:14 +09:00
minggo 38b3ab6853 Merge pull request #16114 from mogemimi/use-fstat-instead
Use fstat instead of fseek and ftell for performance and portability
2016-07-15 15:39:22 +08:00
Ricardo Quesada 9166c28e75 Merge pull request #16101 from mtak-/glprogram_buffer_overflow_fix
fix buffer over-read in CCGLProgram.cpp in memcmp call (Address Sanitizer...
2016-07-14 17:12:17 -07:00
Ricardo Quesada 1563d14447 Squashed commit of the following:
commit c8349caeca6ff5ebacf497eaa986e71d5f1c2c0d
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Thu Jul 14 11:19:50 2016 -0700

    fix: works with odd sized maps

commit da4cf8bc19c9cdab148d60e03a25ee9cc4292b66
Author: zhangbin <zhangbin@cocos2d-x.org>
Date:   Wed Jul 13 13:45:57 2016 +0800

    Add test case.
2016-07-14 11:21:24 -07:00
halx99 9e80526251 #Use std::string reference instead of char* for utils::findChild (#16117)
* #Optimize, Use std::string reference instead of char* for utils::findChild

* Check Node::INVALID_TAG

* revert submodules
2016-07-14 13:52:30 +08:00
minggo 125b0601c3 Merge pull request #16091 from mtak-/data_clear_on_move
fix leak in Data on move assignment
2016-07-14 11:40:19 +08:00
mogemimi 8b05476d45 Use fstat instead of fseek and ftell for performance and portability 2016-07-14 01:18:44 +09:00
minggo 261f1ef780 Merge pull request #16094 from stevetranby/patch-1
Match parent's camera mask when adding child.
2016-07-13 16:33:17 +08:00
minggo c5c846f6e1 Merge pull request #16107 from cezheng/fix/EaseExponentialOut_clone_crash
fix crash in EaseExponentialOut::clone()
2016-07-13 16:32:48 +08:00
mogemimi 98cc48bc62 Add missing override keyword 2016-07-13 15:03:53 +09:00
Ce Zheng cf18857206 fix crash in EaseExponentialOut::clone() 2016-07-13 14:28:04 +09:00
Ricardo Quesada 1824b21cb7 Merge pull request #16090 from ricardoquesada/issue_15566
fixes issue #15566
2016-07-12 21:36:52 -07:00
minggo 8561e5f868 Merge pull request #16089 from mogemimi/avoid-double-promotion
Use std::abs to avoid overhead of casting float to double
2016-07-13 12:01:20 +08:00
Ricardo Quesada 05a772115e fixes issue #15566
lua and javascript for arm64 is not compiled

version 103

uses JPEG 9b for android

using armeabi

uses Lua, and not LuaJIT for Android ARM64
2016-07-12 19:03:53 -07:00
Tyler Kopf 15c6788783 fix buffer overflow in CCGLProgram.cpp in memcmp call (Address Sanitizer spots it easily)
- previously the flow went memcmp, if that != 0, do a bounds check, etc
- now do a bounds check, if destSize >= srcSize, do memcmp, etc
2016-07-12 11:10:16 -07:00
mogemimi b9c78ac41c Use std::abs to avoid overhead of casting float to double 2016-07-13 00:55:11 +09:00
coderwj c9ad76e56a Fix a bug, in lua can't get the "backClicked" but a nil
in lua, I registerScriptKeypadHandler,when debug on Andriod, after clicking back button, I didn't get "backClicked",but a nil 
I see that in CHANGELOG:
cocos2d-x-3.1  May.24 2014
    [FIX]           EventKeyboard::KeyCode: key code for back button changed from KEY_BACKSPACE to KEY_ESCAPE
so,I fix it , and get the right "backClicked"
2016-07-12 17:37:33 +08:00
halx99 c0e0931838 fix, replace std::sort by std::stable_sort (#16092)
* fix, replace std::sort by std::stable_sort
2016-07-12 13:46:38 +08:00
Steve Tranby f162ffe2ae Match parent's camera mask when adding child. 2016-07-12 00:07:41 -05:00
Tyler Kopf 5ecd016a9e fix leak in Data on move assignment 2016-07-11 15:33:51 -07:00
CocosRobot 3aeefd911e [ci skip][AUTO]: updating luabinding & jsbinding automatically 2016-07-11 07:54:54 +00:00
minggo 3d5789ee77 Merge pull request #16077 from mogemimi/fix-documentation-comments
Fix documentation when compile with -Wdocumentation and Clang
2016-07-11 15:49:28 +08:00
minggo 9c7d44ccd7 Merge pull request #16080 from minggo/use-std_abs
use std::abs instead
2016-07-11 12:02:10 +08:00
minggo 2ca1760b78 Merge pull request #16079 from minggo/use-std_srand
use std::srand() instead
2016-07-11 12:01:38 +08:00
minggo 3dc167a9f9 use std::abs instead 2016-07-11 12:01:09 +08:00
minggo a146f3eec7 use std::srand() instead 2016-07-11 11:17:28 +08:00
mogemimi 7531c5156b Fix documentation when compile with -Wdocumentation and Clang 2016-07-10 17:38:32 +09:00
Ricardo Quesada 995868c62e fix: Text::create() does not crash on mac/ios
...on invalid unicode.

fixes issue #16073
2016-07-08 16:59:44 -07:00
minggo c267167d07 Merge pull request #16069 from minggo/ndkr12b-issue
fix compiling and linking error with ndk r12b
2016-07-08 17:01:09 +08:00
minggo 4e125d84a4 fix compiling and linking error with ndk r12b 2016-07-08 15:29:35 +08:00
minggo 8d8c295ff0 Merge pull request #16062 from minggo/fileutils-issue
fix bug that FileUtils::removeDirectory() can not work on all platforms except iOS and Mac
2016-07-08 14:54:25 +08:00
CocosRobot 8fe92fbd4b [ci skip][AUTO]: updating luabinding & jsbinding automatically 2016-07-07 19:04:04 +00:00
Ricardo Quesada 891fe706da Merge pull request #16057 from ricardoquesada/issue_12226
test: add test case for Github issue #12226
2016-07-07 08:34:30 -07:00
minggo 836acff6d0 Merge pull request #16060 from minggo/merge-v312
Merge v312
2016-07-07 18:29:28 +08:00
minggo 4511b35b51 fix bug that FileUitls::removeDirectory() can not work on all platforms except iOS and Mac 2016-07-07 17:43:19 +08:00
minggo 734d857ced Merge branch 'v3.12' into merge-v312 2016-07-07 15:13:21 +08:00
Ricardo Quesada 6d5a94e569 test: add test case for Github issue #12226
Adds test case for Github issue #12226
2016-07-06 16:37:15 -07:00
mogemimi 6ce7f3c0e9 Avoid overhead of casting float to double 2016-07-07 01:38:27 +09:00
minggo 8d6acd9ffe Merge pull request #16050 from pandamicro/v3.12
[ci skip]Update JS versions
2016-07-06 17:04:42 +08:00
pandamicro ccb30cefc7 Update JS versions 2016-07-06 17:02:53 +08:00
minggo 6248480b3a Merge pull request #16047 from minggo/issue-14071
[ci skip]convert aplpha channel correctly
2016-07-06 15:59:50 +08:00
minggo d0db838b71 convert aplpha channel correctly 2016-07-06 15:49:05 +08:00
minggo 418907d972 Merge pull request #16044 from pandamicro/v3.12
Improve web template and update web ref
2016-07-06 14:47:23 +08:00