Commit Graph

3690 Commits

Author SHA1 Message Date
SongChengJiang af8b9cc47c Support MultiView matrix array (#16723)
* Support MultiView matrix array

Support MultiView matrix array and add new interface in GLProgram to
support shader header definitions.

* support getMatrixStackSize

* optimize code

* remove indents

* rename resetMatrixStack(unsigned int stackCount)

* Add document to interfaces

* Supplement document of render interface
2016-10-28 09:33:31 +08:00
Wilson E. Alvarez c0e1e91373 Performance tweak: Use range-based for-loops and allocate std::vector size() and *end() on the stack where favorable. (#16716)
* Use range-based for-loops and allocate std::vector size(), end(), cend(), rend(), crend() on the stack where favorable.

Other minor trivial changes were applied.

* Fixed Android compilation error

* Fixed windows-universal compilation error
2016-10-27 15:10:24 +08:00
Ricardo Quesada 323ea7c0d4 Sprite scale9 (#16702)
* Adds slice9 support for Sprite.

how to use it:

// points coords
sprite->setCenterRect(Rect(x,y,w,h));

// normalized coords
sprite->setCenterRectNormalized(Rect(x,y,w,h));
starts scale9sprite in sprite

more slice 9 changes

sprite 9 slice works?

kind of works

correct anchor point

slice 9 works, at least with non-rotated atlases

streched works ok

better Y invert code.

cleaner, compatible with the previous code

yay, scaling workings...

need a better api now

sets scale correctly

yay! works as expected!

more fixes and tests

better test for box

setContentSize() changes size in non-9-slice mode sprites as well

setCenterRect() -> setCenterRectNormalized()

yet another test

adds setPositionNormalized()

adds setCenterRect() tests

remove devel team from xcode

tests: add one more tests

fun test!

improved test

yet another test for slice 9

* fixes anchorPoint issues

* adds documentation

* fix: using top-left coordinate for setRect

* sprite: fixes related to scale9 and tiled

* Sprite: slice 9 fixes

works Ok with rotated frames
uses `setCapInsets` instead of `setCenterRect` to be more familiar
with `UIScale9Sprite`

* fixes js and lua bindings for Autopolygon
2016-10-26 18:45:40 -07:00
James Chen 0a31c7de3a fixed #16737: NodeTest (stress test #2: no leaks) is broken. (#16741)
'clone' method must invoke the inner object's clone method rather than its raw pointer.
2016-10-26 15:54:01 +08:00
noprops 92da63db3d update visibleTiles rect (#16331) 2016-10-17 14:27:38 +08:00
James Chen b7d6e427e0 issue #16661: Replace c style uthash with std::unordered_map<K, V> in CCFontFNT.cpp (#16662)
* issue #16661: Replace c style uthash with std::unordered_map<K, V> in CCFontFNT.cpp

* issue #16661: Removes unused include "base/uthash.h" in CCGLProgram.cpp.
2016-10-17 13:53:54 +08:00
mogemimi fe52c5fa0a Fix typos in comments and strings (#16708) 2016-10-17 10:12:54 +08:00
minggo 06b4a18f6f Merge pull request #16703 from dumganhar/pr/16689-font-pos
Adds test case for PR #16689 (fix font rendering position)
2016-10-17 10:09:50 +08:00
James Chen 627eba6aac fixed #16652: FontFreeType crashes in its destructor. (#16684) 2016-10-14 17:49:36 +08:00
mogemimi dde86b404a Remove unused local variable (#16698) 2016-10-14 17:48:00 +08:00
Sergey fd902e52cf adjustForDistanceMap need to be negative to 2016-10-14 11:45:29 +03:00
Sergey f05053329b fix font rendering position 2016-10-12 16:21:09 +03:00
Wilson E. Alvarez cdee1e11de Performance tweak: use range-based for-loops instead of iterator-based for-loops. (#16642)
* Use ++ prefix instead for non-primitive data types in CCAutoPolygon.cpp

* Use ++ prefix instead for non-primitive data types in SimpleAudioEngine.cpp

* Use ++ prefix instead for non-primitive data types in CCNodeLoaderLibrary.cpp

* Use ++ prefix instead for non-primitive data types in CCActionManagerEx.cpp

* Use ++ prefix instead for non-primitive data types in CCDataReaderHelper.cpp

* Use ++ prefix instead for non-primitive data types in HttpClient-android.cpp

* Use ++ prefix instead for non-primitive data types in CCDevice-linux.cpp

* Use ++ prefix instead for non-primitive data types in ScriptingCore.cpp

* Switched implementation to range-based for loops

* Added readability, fixed loop in CCDataReaderHelper.cpp

Thanks to Dimon4eg for the code review.
2016-10-11 10:59:44 -07:00
mogemimi 59dea5a487 Removed unnecessary comments (#16649) 2016-10-07 11:47:48 -07:00
mogemimi d68eacd10a Remove unused functions (#16640) 2016-10-04 22:10:52 -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
mogemimi 8b703a8d12 Fix implicit conversion warning (#16598)
* Fix implicit conversion warning

* Change SAXParser::textHandler parameter type from int to size_t
2016-09-26 14:49:47 +08:00
Wilson E. Alvarez 59574f95e0 Fix mismatched memory deallocators (#16596)
* Fix mismatched memory deallocator in CCFastTMXLayer.cpp

* Fix mismatched memory deallocator on SkeletonRenderer.cpp

* Fix mismatched memory deallocator in CCTMXLayer.cpp
2016-09-26 14:18:48 +08:00
mogemimi 63b3043dc0 Remove extra semicolon after member function definition (#16595) 2016-09-20 14:43:48 +08:00
halx99 a46b30f8a6 use more plain API FileUtils::getStringFromFile (#16586) 2016-09-19 11:49:35 +08:00
minggo 84a102edf8 merge v3.13.1 back to v3 2016-09-15 10:08:28 +08: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
Wilson E. Alvarez 74fd5ae3ba Fix mismatched memory deallocator (#16560) 2016-09-12 10:02:48 +08:00
Steve Tranby 16781b00e8 change EaseBounce to real class instead of typedef (#16557) 2016-09-12 09:51:27 +08:00
mogemimi 2b9ac2c950 Remove redundant semicolons (#16558) 2016-09-12 09:45:34 +08:00
mogemimi eca7b2392d Remove unnecessary inline keywords (#16562) 2016-09-12 09:44:21 +08:00
minggo 86de22a008 fix crash if FontAtlas pointer is the same (#16555) 2016-09-09 11:39:00 +08:00
Dale Stammen 1c27c12327 updated libcocos2d dll version to 3.13.1 (#16542) 2016-09-08 10:38:16 +08:00
minggo fa15ab8212 3.13.1 text color (#16516)
* 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

* fix conflict

* 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-07 09:44:58 +08:00
Steve Tranby b48bcc9579 Ease Actions Code De-Duplication
* ease action class macros to reduce code duplication

- update bindings for ease actions
- reorder clone method
- add back in create/etc methods to allow for EaseRateAction instances
- fix wrong clone return type

* Add note and minor cleanup

* use create in clone instead of new/init as in latest EaseBezierAction

* fix reverse for EaseIn/Out to match original code

* add assert for null

* refactor to match original code flow

* fix missing CC_DLL for windows builds

* fix win build issues due to abstract methods

* remove unused overrides
2016-09-05 10:18:30 +08:00
mogemimi 857b2143a6 Remove deprecated attribute on Node::_setLocalZOrder() function (#16470) 2016-09-05 10:06:42 +08:00
pyrosphere 0cd365dd2e Fix MenuItemSprite::unselected() on disabled items showing _normalImage instead of _disabledImage (#16482) 2016-09-02 09:51:47 +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
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
Nakhyun Choi a9898b9875 possible memory leak when font size is 0 (#16424) 2016-08-24 18:27:44 -07:00
Aaron e62af99db7 Fixed Camera::_viewProjectionUpdated state (#16405)
Camera::_viewProjectionUpdated is not initialised in constructor. Should be initialised to false.
This can lead to redundant visibility checks if _viewProjectionUpdated happens to resolve true.

As Camera::visit() is never called, _viewProjectionUpdated is never actually updated, resulting in no visibility tests when the camera transform changes.

Fixes #16404
2016-08-24 18:15:19 +08:00
halx99 4d801ba1d0 #Fix use const std::string& instead a temp string (#16392)
* #Fix use const std::string& instead a temp string

* #Fix use const std::string& instead a temp string
2016-08-22 09:43:41 +08:00
mogemimi 7afde8c7a6 Remove unnecessary ActionInterval casts (#16402) 2016-08-22 09:39:58 +08:00
pandamicro f0be4f3069 Merge part of Cocos2d-x-lite (#16380)
* 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
2016-08-19 16:28:47 +08: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
James Chen 1edaf7e122 Initializes member variable for TMXMapInfo and updates hexa-test.tmx to the latest format. (#16353) 2016-08-15 14:10:13 +08:00
Ricardo Quesada 02de525cbd deprecates CCProgressTimer::setReverseProgress() (#16341)
use CCProgressTimer::setReverseDirection() instead.

fixes github issue #14678
2016-08-15 14:08:42 +08:00
mogemimi b837dd7a20 Avoid unnecessary allocation if targetGrid is reusable (#16343) 2016-08-15 14:07:37 +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
minggo 0e65025bda Revert "Match parent's camera mask when adding child." (#16324) 2016-08-05 17:28:05 +08:00
minggo abb97b1b71 don't set camera the same as its parent by default (#16325) 2016-08-05 17:26:27 +08:00
James Chen b135d512d2 Update copyright to 2016. (#16311) 2016-08-05 09:42:15 +08:00
halx99 73f80f4c73 #Make etc1 alpha support ok for ProgressTimer (#16296)
* #Make etc1 alpha support ok for ProgressTimer

* #fix issues

* Add comment
2016-08-03 14:29:34 +08:00
minggo ba51370e43 use correct shader (#16295) 2016-08-03 10:56:12 +08:00
halx99 a2adfaf7df #Improve node sort performance for 64-bit by std::sort + long long (_localZOrder) (#16262)
* #improve node sort performance by std::sort + unsigned long long (_localZOrder)

* Use bit field for make _localZOrder storage more clearly.

* #Comment _localZOrder members for meaningful.

* fix issues

* #use explicit bits integer of localZOrder storage

* #Fix compile error, add include <cstdint> to CCNode.h

* use the optimization for 64bit and no optimization solution for 32bit

* Use the optimization for 64bit and no optimization solution for 32bit

* #Improve node sort performance 64-bit by std::sort + long long (_localZOrder)

* fix issues

* test case

* Revert "test case"

This reverts commit 85471d07a433f2b7f0265c3b7dd483fcc28e3e2f.

* fix issues

* use lambda, and any other sort issues.

* skip sotNodes

* fix compile error

* fix  compile issue
2016-07-31 22:44:24 +08:00
halx99 9cca6eb685 #bug fix etc1 alpha builtin support Sprite (#16278)
see: https://github.com/cocos2d/cocos2d-x/pull/16118
2016-07-31 22:30:03 +08:00
minggo 88eb533f9d Revert "#improve node sort performance by std::sort + long long (_localZOrder) for 64-bit" (#16260) 2016-07-29 10:58:31 +08:00
James Chen 66fac82f00 fixed #16169: new android project crash in android 5.0.2 device (Nexus 7) when use 3.12 (#16214)
* fixed #16169: new android project crash in android 5.0.2 device (Nexus 7) when use 3.12

* fixed #16169: Adds comments for why we should not use `assignment operator` of `std::u16string`.
2016-07-28 11:19:22 +08:00
Vladimir Perminov 09aa7d9cf4 Win32 move unicode utils global. (#16234)
* Win32 move unicode utils global.

It need for easy converting utf-8 string in all code.
And use it api in user code also WinRT version.

* Move to CCUtils-win32

Also in WinRT version.

* Copyright
2016-07-28 09:57:29 +08:00
halx99 3a14388087 #improve node sort performance by std::sort + long long (_localZOrder) (#16126)
* #improve node sort performance by std::sort + unsigned long long (_localZOrder)

* Use bit field for make _localZOrder storage more clearly.

* #Comment _localZOrder members for meaningful.

* fix issues

* #use explicit bits integer of localZOrder storage

* #Fix compile error, add include <cstdint> to CCNode.h

* use the optimization for 64bit and no optimization solution for 32bit
2016-07-27 16:58:51 +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
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
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
James Chen bf80f10dfd Remove unneeded std::bind, and use const & for input parameters. 2016-07-26 00:55:32 +08: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
mogemimi 15030ad4c3 Fix typos in log messages 2016-07-25 02:53:22 +09:00
mogemimi 94d4971ddc Fix typos in documentation and comments 2016-07-22 02:05:19 +09: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
Ce Zheng 35b848e842 fix label text formatter right alignment 2016-07-20 18:08:15 +09:00
Ricardo Quesada b3218c1e58 fix: stagger tilemaps hexa works as expected
Github issue #16105
2016-07-19 22:55:05 -07:00
mogemimi d931c62649 Fix typos in documentation comments 2016-07-16 04:18:40 +09: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 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
Ce Zheng cf18857206 fix crash in EaseExponentialOut::clone() 2016-07-13 14:28:04 +09:00
mogemimi b9c78ac41c Use std::abs to avoid overhead of casting float to double 2016-07-13 00:55:11 +09: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
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 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 2650fd1afd Add missing float suffix to avoid -Wdouble-promotion 2016-07-04 23:12:45 +09:00
mogemimi 2443e09d29 Fix typos and other mistakes in docs 2016-07-04 00:42:10 +09: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
halx99 2610ad77cc #15965: remove unused _orderOfArrival (#16009) 2016-07-01 10:09:25 +08:00
Ricardo Quesada b1f93b2679 fix: not leak Toggle items
Github issue: fixes #13351
2016-06-28 20:41:47 -07:00
minggo 076e0b488b Merge pull request #15980 from minggo/merge-v312
Merge v312
2016-06-29 09:41:30 +08:00
minggo 0c290540df Merge pull request #9823 from ericmux/frame-independent-ms
Making CCMotionStreak _maxPoints framerate independent.
2016-06-28 18:29:14 +08:00
minggo bbd837aefa merge v3.12 back to v3 2016-06-28 17:53:50 +08:00
mogemimi 2a853ba73e Avoid const_cast when calling Node::setAdditionalTransform 2016-06-27 19:33:45 +09:00
Ricardo Quesada 0872cccd67 fix: collection of vr fixes (#15948)
* fix: collection of vr fixes

* Node::additionalTransform() and Node::setNodeToParentTransform() can be used at the same time
* Node allocs _additionalTransform in runtime taking 60 bytes lees for 99% of the nodes
* Node calculates the transform faster when an additionalTransform is being used
* VR works when the camera is being moved manually with setNodeToParentTransform
* VR has its own tests
* VR can be disabled and works as expected

* doc: documentation for the new fix

* fix: restore submodule web

* fix: compile and link on iOS

* fix conflicts
2016-06-24 16:55:28 +08:00
Ricardo Quesada 69d2ac1786 fix: collection of vr fixes (#15947)
* fix: collection of vr fixes

Node: additionalTransform() has its own dirty variable
VR: disabling VR works as expected
VR: works with camera3d test
VR: iOS Tracking works even if it doesn't have any input

fix: setNodeToParentTransform() and setAdditionalTransfrom() work...

...at the same time.
Also, this PR makes the size of Node smaller. `_additionalTransform` is
no longer an inline object.
Instead, it is allocated on demand making 99% of the Nodes smaller by 60
bytes.

fix: compile in windows

* doc: documentation for this fix
2016-06-24 10:03:38 +08:00
minggo 1042b18999 Merge pull request #15936 from mogemimi/use-nullptr-instead
Use nullptr instead of 0 or NULL whenever possible
2016-06-24 09:54:15 +08:00
minggo ee7ceee007 Merge pull request #15874 from mogemimi/fix-unused-variable
Fix unused variable warnings when compiling release mode
2016-06-23 15:55:11 +08:00
mogemimi cbc0612306 Use nullptr instead of 0 or NULL 2016-06-23 12:39:23 +09:00
Ricardo Quesada a31279f8cb fix: reverse iterator on events + doesn't use additionalTransform
use reverse Camera iterator when traversing events (of course).
but somehow setAdditionalTransform() breaks
setNodeToParentTransform(). And since setAdditionalTransform is not
needed, we just don't use it.

Github issue #15909
2016-06-22 11:28:58 -07:00
Ricardo Quesada edafe726cc fix: reverse iterator on events + doesn't use additionalTransform
use reverse Camera iterator when traversing events (of course).
but somehow `setAdditionalTransform()` breaks
`setNodeToParentTransform()`. And since `setAdditionalTransform` is not
needed, we just don't use it.

Github issue #15909
2016-06-22 11:22:47 -07:00
James Chen 09d5fd3f90 Fix ParticleSystem::_paused varible isn't initialized. Particle will show or hide after being created randomly. 2016-06-22 16:54:57 +08:00
minggo 9d0801834e Merge pull request #15893 from halx99/patch-1
Optimize, avoid unnecessary memory alloc & copy
2016-06-22 13:44:40 +08:00
mogemimi a3bc979452 Fix typos in documentation and comments 2016-06-22 11:22:05 +09:00