Commit Graph

2061 Commits

Author SHA1 Message Date
James Chen ae439ff8dc Adds test case for showing border of TTF label, it will be easier to find out wrong offset of Label. 2016-10-14 17:14:15 +08:00
Ricardo Quesada e4be87a059 Adds Spine binary-file format support (#16629)
* Adds Spine binary-file format support

fixes issue #10438

* ignore SkeletonBinary.c from linter

* add another file to the exclude list

* lua manual fixes for spine

* SkeletonBinary.c and not .cpp

* missing files for win8.1

* don't compile it as crt

* new updates from spine
2016-10-11 10:56:14 -07:00
子龙山人 c3bbbb6cb2 Refactoring ui related code and fix label atlas and BMFont rendering issue with ETC1 texture format (#16615)
* refactoring ui related code

* fix label bmfont/charmap etc drawing

* make code more robust
2016-09-30 09:42:21 +08:00
Steve Tranby b22efc9115 Features: add events for window resize, focus, and unfocus (#16578)
* add events for window resize, focus, and unfocus

* fix typo
2016-09-20 20:32:33 -07:00
Ricardo Quesada 5f4fb66f61 fix: staggered hex maps returns correct tile (#16552)
* fix: staggered hex maps returns correct tile

order was fixed in the array that contains the GIDs.

fixes Github issue #16512

* fix: add fix validation code for issue #16512
2016-09-13 21:47:36 -07:00
mogemimi 2b9ac2c950 Remove redundant semicolons (#16558) 2016-09-12 09:45:34 +08:00
James Chen 5bfd110424 Fixes jsval_to_std_string could not convert number to string. (#16504)
Don't use deprecated method in ActionsProgressTest.
2016-09-05 10:02:05 +08:00
Ricardo Quesada c32000250c Issue 16471 (#16489)
* fix: Label updateColor() and underline color work as expected

fixes Github issue #15214 correctly. underline uses _displayColor
and not _textColorF. _textColorF is only for the text.
This also emulates the SystemFont underline behavior

fixes Github issue #16471

* docs: added more internal doc for issue_16471
2016-09-01 16:59:40 +08:00
James Chen 64c62d37c2 fixed #16490: [android, audio] AudioEngine::stop() triggers 'finished' callback (#16491) 2016-09-01 16:06:29 +08:00
James Chen 01e67f6203 fixed #16477: [android, audio] Deadlock if preload the same file more than 3 times in preload callback. (#16478)
And added test case.
2016-09-01 11:46:27 +08:00
James Chen 35f937cd40 AudioMixerController::initTrack should not setState for track. Otherwise, it may trigger Track state mess-up. (#16476)
* Warning fixes in AudioDecoder.cpp

* AudioPauseResumeAfterPlay test case should start in onEnter.
And add a loop to pause & resume many times.

* AudioMixerController::initTrack should not setState for track. Otherwise, it may trigger Track state mess-up.
2016-09-01 11:43:37 +08:00
Ricardo Quesada e57c30c83b fix: Label updateColor() and underline color work as expected (#16486)
fixes Github issue #15214 correctly. underline uses _displayColor
and not _textColorF. _textColorF is only for the text.
This also emulates the SystemFont underline behavior

fixes Github issue #16471
2016-08-31 20:20:13 -07:00
minggo 04fd2b16b2 merge v3.13 back to v3 2016-08-29 11:57:13 +08:00
Ricardo Quesada f174dd1141 fix: improves test for issue #16155 (#16418)
improves test for github issue #16155
2016-08-23 09:47:55 +08:00
James Chen 727c501285 Fixes crash while invoking pause&resume right after play2d. (#16406) 2016-08-22 09:43:06 +08:00
Ricardo Quesada 016e7b0dfc fix: release texture in RenderState (#16396)
memory leak fixed in RenderState

fixes github issue #16155
2016-08-19 00:22:57 -07:00
charlesstlaurent b1a64ae730 new actions ResizeBy and ResizeTo (#16275)
* new actions ResizeBy and ResizeTo

* FDP-5580-ResizeBy and ResizeTo fix and Test cpp : added a scale exemple in the test cpp to compare with our new resize + fix

* FDP-5580: actions ResizeBy and ResizeTo : changed some functions visibility
2016-08-16 16:55:31 +08:00
Ricardo Quesada 3bc662ea7b fix: not resize textureatlas multiple times on Label::create() (#16358)
since we know the size before allocating it, just reserve
the needed capacity once.

fixes github issue #16293
2016-08-13 09:38:42 -07:00
Ricardo Quesada 3d75750728 resets bindBuffer after using it (#16342)
fixes github issue #14711
2016-08-11 08:32:09 -07:00
James Chen 89baddceda fixes compile error for win32 (#16351) 2016-08-11 15:54:51 +08:00
Ricardo Quesada f7464f8de5 fix: TriangleCommands with custom uniforms can be batched (#16329)
* fix: TriangleCommands with custom uniforms can be batched

TriangleCommands with custom uniforms can be batched together.

This improves the performance when using custom uniforms without
adding any penalties when not using them

Github issue #16224

* better tests
2016-08-07 14:51:02 -07:00
Ricardo Quesada a58323a388 Adds more info regarding bug 15776 (#16315)
Related to github issue #15776
2016-08-05 14:04:39 +08:00
Ricardo Quesada 59a646341c adds more info for bug #15776 (#16316)
related to github issue #15776

This is a PR for v3.13 branch
2016-08-05 14:04:26 +08:00
James Chen b135d512d2 Update copyright to 2016. (#16311) 2016-08-05 09:42:15 +08:00
子龙山人 6eaf15a2c2 fix pageview turning event (#16299) 2016-08-04 09:51:54 +08:00
minggo efc6da8439 use correct file (#16300) 2016-08-03 15:13:04 +08:00
Ricardo Quesada 2945968614 Upgrades to Spine v3.4 (#16242)
* Upgrades to Spine v3.4

Github issue #16115

* compiles and works on windows

tested on:

* win32
* win10
* win8.1

* include-linter: don't test spine files

we need them unmodified

* spine bindings fixes

also, doesn't use goblins-ffd. instead it uses goblins.
goblins-ffd is no longer present in spine v3.4
2016-07-28 07:25:50 -07:00
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
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 8eb30769a1 Adds test case. 2016-07-27 14:00:34 +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
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
Ricardo Quesada 2abd178e96 Merge pull request #16180 from ricardoquesada/issue_16113
test case for issue #16113
2016-07-21 10:53:38 -07: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
Ricardo Quesada aff6e7852b test case for issue #16113 2016-07-20 19:45:52 -07:00
Ricardo Quesada b3218c1e58 fix: stagger tilemaps hexa works as expected
Github issue #16105
2016-07-19 22:55:05 -07:00
mogemimi 5bd2d74078 Fix spelling for `getPolygonCenter` function 2016-07-19 08:24:22 +09: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
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
minggo 2ca1760b78 Merge pull request #16079 from minggo/use-std_srand
use std::srand() instead
2016-07-11 12:01:38 +08:00
minggo a146f3eec7 use std::srand() instead 2016-07-11 11:17:28 +08: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 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
Ricardo Quesada 7727c2eb6f Merge pull request #16058 from ricardoquesada/issue_11942
test: add test case for Github issue #11942
2016-07-07 11:51:47 -07: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
Ricardo Quesada 766817f1dd test: add test case for Github issue #11942
test case for Github issue #11942
2016-07-06 17:21:58 -07: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
Ricardo Quesada f7d65fbe8a Squashed commit of the following:
commit 3a8ccb54b58f01daaa5b17efcd0e1ab4b7ccf914
Author: Ricardo Quesada <ricardoquesada@gmail.com>
Date:   Fri Jul 1 11:05:02 2016 -0700

    Add support for Hex tiled maps

    Based on original patch by https://github.com/JustVic
    Original patch:
    https://github.com/cocos2d/cocos2d-x/pull/13288
    fix: tiled hex maps

    Hexagonal TileMaps Support

    fix: odd, even works as expected

    still problems with rendering order

    fix: fixes layer position in Hex

    fix render ordering
2016-07-01 15:51:00 -07:00
mogemimi 2354df9faf Fix getSubStringOfUTF8String bug 2016-07-01 15:16:35 +09:00
mogemimi c0f2194961 Fix some minor typos in local variable names 2016-06-29 11:04:11 +09:00