Huabing.Xu
d14d3007d0
remove kazmath include file
2014-04-16 14:08:58 +08:00
Huabing.Xu
63b52dd287
replace Point with Vector2 in cocos folder cpp file
2014-04-15 18:13:57 +08:00
Huabing.Xu
511e868ac4
migrate getAnchorPoint, getAnchorPointInPoints and relative member variable to Vector2
2014-04-15 16:59:16 +08:00
Huabing.Xu
e351b778c1
migrate setAnchorPoint to Vector2
2014-04-15 16:47:29 +08:00
Huabing.Xu
6686b657a4
Migrate getPostion and correspondent member variable to Vector2
2014-04-15 16:28:59 +08:00
Huabing.Xu
071cbc7565
migrate setPosition to Vector2
2014-04-15 16:16:14 +08:00
Huabing.Xu
ec2ef0f64b
migrate convertXXXX to Vector2 step2
2014-04-15 14:41:09 +08:00
Huabing.Xu
633173005b
migrate convertXXXX to Vector2
2014-04-15 14:29:12 +08:00
Huabing.Xu
44be9a38ec
Node convertToNodeSpace and convertToWorldSpace use Vector2
2014-04-15 14:09:46 +08:00
boyu0
b53961b78d
issue $4771: fix lua test and fix some bugs
2014-04-15 13:40:44 +08:00
boyu0
c98f50026f
issue $4771: move PhysicsWorld to layer.
2014-04-15 03:21:18 +08:00
Huabing.Xu
80f96398b3
1. changed comment message in CCNode.cpp
...
2. changed Director projection to Matrix
2014-04-14 09:30:51 +08:00
Huabing.Xu
1670e07300
Merge branch 'develop' into develop_migrate_math_lib_merge
...
Conflicts:
build/cocos2d_libs.xcodeproj/project.pbxproj
build/cocos2d_tests.xcodeproj/project.pbxproj
2014-04-11 11:18:13 +08:00
Huabing.Xu
591b1e9231
remove kmMat4 in Node.cpp
2014-04-10 23:12:29 +08:00
Huabing.Xu
231cdcb906
adjust comment message
2014-04-10 11:14:46 +08:00
James Chen
9d8d256bee
issue #4729 : Android build works ok.
2014-04-10 00:36:42 +08:00
Huabing.Xu
409b696bab
remove kmMat4 interface in class Node
2014-04-08 23:05:33 +08:00
Huabing.Xu
fcff284fd5
getParentToNodeTransform return Matrix
2014-04-08 22:13:59 +08:00
Huabing.Xu
3837c23ebe
draw() using Matrix instead of kmMat4
2014-04-08 22:07:35 +08:00
Huabing.Xu
b9af100493
visit() using Matrix instead of kmMat4
2014-04-08 21:45:54 +08:00
Huabing.Xu
e8596094a4
Merge branch 'develop' into develop_migrate_math_lib_merge
2014-04-08 16:58:51 +08:00
Darragh Coy
9a6b93eae1
Add extra CCNode verification
...
Add a check to the CCNode destructor to catch a common cocos2d-x programming mistake - forgetting to call base class onExit() in derived class onExit() implementations. We can check for this invalid API usage by checking if the node is still marked as running on destruction. If the node still thinks it's running then it's likely the cleanup logic performed by Node::onExit() was not done.
2014-04-07 17:05:42 -07:00
Huabing.Xu
5d70170a4b
getNodetoParentTransform getNodeToWorldTransform return Matrix instead of kmMat4
2014-04-04 18:41:29 +08:00
Huabing.Xu
6b4451482f
remove matrixToKmMat4 function
2014-04-04 18:13:10 +08:00
Huabing.Xu
f1b1678900
Director::getMatrix returns Matrix instead of kmMat4
2014-04-04 17:31:21 +08:00
Huabing.Xu
67e62ce73d
readied director::getMatrix again. remove kmGLgetMatrix
2014-04-03 17:26:06 +08:00
Huabing.Xu
79f62f4351
comment out director::getMatrix temporarily
2014-04-03 10:33:59 +08:00
Huabing.Xu
49de7511f5
migrate Vertex3f to Vector3
2014-04-02 15:06:16 +08:00
James Chen
ecad5ea3ce
Fixed `ExtensionTest/CocoStudioComponentsTest` crash after applying PR #6011 .
2014-03-28 14:55:15 +08:00
James Chen
e87f6991cf
User object has to be released before others, since userObject may have a weak reference of this node.
...
It may invoke `node->stopAllAction();` while `_actionManager` is null if the next line is after `CC_SAFE_RELEASE_NULL(_actionManager)`.
2014-03-28 14:09:51 +08:00
Darragh Coy
8ee90389b4
Review feedback: Wrap the debug verification in additional macros which are disabled by default.
...
Require the user to enable 'CC_NODE_DEBUG_VERIFY_EVENT_LISTENERS' in ccConfig.h in order to enable the debug checks in debug builds.
2014-03-27 12:29:28 -07:00
Darragh Coy
0ee1095e37
Fix crashes in event dispatch other related safety checks/fixes
...
1: Add a fix to prevent events from being sent to scene nodes which are destroyed. Previously when a node was being destroyed it would try to unregister any event listeners it would have. This process would fail however in the case where event dispatching was already underway because we can't modify the listeners list while we are iterating through it. This is a pretty common occurrence since we often tear down & switch scenes in response to button clicks etc. Fix the problem by nulling out the slot for the listener we are removing in this case, so that it's node no longer receives any events after it is destroyed. The event dispatching code will cleanup this unused/nulled slot once the event processing loop has terminated.
2: When removing an event listener in cocos2d::EventDispatcher, ensure immediately it gets removed from the node priority map and dirty nodes set in order to ensure we don't inadvertently access any dangling pointers to nodes.
3: Add debug checks to ensure nodes have no associated event listeners after they are destroyed. This check will catch the problem fixed by (1) if it is still present.
4: Add some extra debug sanity checks in the event dispatcher to ensure nodes are not added to the lists twice and that they are being properly removed from the lists under certain conditions.
5: In cocos2d::Node's destructor NULL out members after releasing them in case they somehow happen to be accessed during the destructor. Move the release of the event dispatcher to the very end, since we need to check against it in debug.
2014-03-26 13:12:44 -07:00
James Chen
45b98e7dc0
issue #4541 : s_globalOrderOfArrival is an static variable of Node class.
2014-03-25 15:07:11 +08:00
heliclei
c26b103b23
remove node name related features from v3.0
2014-03-13 10:45:02 +08:00
heliclei
2a3cb0847e
refactor api name
2014-03-12 18:10:45 +08:00
heliclei
a907580d0a
use lambda callback
2014-03-12 14:15:45 +08:00
heliclei
80417f0f35
correct naming convetion
2014-03-11 15:27:28 +08:00
heliclei
8db680b9ee
add EnumChildNodesByName, walk node tree with callback
2014-03-11 13:58:43 +08:00
James Chen
63292b5ba6
Merge pull request #5544 from heliclei/node-string-tag
...
CCNode:Add String tag, to support runtime manipulation
2014-03-10 18:26:51 +08:00
James Chen
eca0bce1be
Merge pull request #5633 from huangml/patch-1
...
closed #4319 : Node::removeAllChildrenWithCleanup() does not remove PhysicsBody.
2014-03-10 10:55:54 +08:00
James Chen
7aec578b35
closed #3290 : The order of onEnter works correctly on JSB and LuaBindings.
2014-03-08 22:07:55 +08:00
黄梦龙
8b737d8aab
Update CCNode.cpp
...
removeAllChildrenWithCleanup() not remove PhysicsBody
2014-03-08 17:42:35 +08:00
Huabing.Xu
9fc6177570
fix bug for outdated transform status
2014-03-07 10:03:34 +08:00
heliclei
55080d713b
refactor string tag to name
2014-03-05 17:03:25 +08:00
heliclei
cbec0f9a15
CCNode:Add String tag, to support runtime manipulation
2014-03-05 00:15:01 +08:00
Ricardo Quesada
8bdfce9bbe
Merge branch 'develop' into visit_draw_improved
2014-03-03 17:31:29 -08:00
Ricardo Quesada
81f5254e15
Removes setNormalizedPosition
...
This funciton is useful, but the code is buggy.
In should check the parents' position instead of Director::Size()
Let's do it correctly, and then re-add this function
2014-03-03 16:08:30 -08:00
Ricardo Quesada
c386f88e32
Merge branch 'develop' into visit_draw_improved
...
Conflicts:
CHANGELOG
cocos/gui/UILayout.h
2014-03-03 11:27:42 -08:00
minggo
594342ea3e
Merge pull request #5505 from dumganhar/event-dispatcher-refactor
...
[EventDispatcher] Adds 'pauseEventListenersForTarget', 'resumeEventListenersForTarget' and 'removeEventListenersForTarget'.
2014-03-03 17:56:57 +08:00
minggo
be0ac5dc1c
Merge pull request #5493 from boyu0/bug4150_physics_position_rotation
...
closed #4150 : fix physics position and rotation bug.
2014-03-03 14:57:33 +08:00
James Chen
757425c54b
issue #4165 : Scheduler::scheduleCallback -> Scheduler::schedule, Scheduler::scheduleSelector -> Scheduler::schedule. APIs are clear for c++ developers now.
2014-03-03 11:00:30 +08:00
boyu0
c99b0a0b6a
closed #4150 : Fix missing "!"
2014-03-03 01:48:56 +08:00
James Chen
f3949e078b
[EventDispatcher] Adds 'pauseEventListenersForTarget', 'resumeEventListenersForTarget' and 'removeEventListenersForTarget'.
2014-03-02 17:41:18 +08:00
Ricardo Quesada
cdc19eea1c
Nodes: setAdditionalTransform() receives a pointer
...
and not a const reference.
If the pointer is `NULL`, then it won't use the additionalTransform
2014-03-01 08:26:54 -08:00
James Chen
e6d2c4ec73
Refactors Scheduler class.
...
* Timer is an abstract class now.
* Adds three new timers ( `TimerTargetSelector`, `TimerTargetCallback`, `TimerScriptHandler`) which are inherited from Timer.
* Adds new API 'scheduleCallback` / `unscheduleCallbackForKey', and callback's target could be any classes since we're using `void*` to identify target.
* `Scheduler::scheduleCallback` use `std::function`, therefore, it supports passing `lambda`, `member_function` and `global_function`.
* The old selector API is still kept since it's very useful when schedule callback is a member function, it doesn't need a `key` to identify the callback function. (+1 squashed commit)
* Adds relevant test cases.
2014-03-01 14:09:09 +08:00
Ricardo Quesada
3588041409
removed empty spaces
2014-02-28 16:39:04 -08:00
Ricardo Quesada
d78304599d
Cache working OK.
...
Performance increased in 20% for static objects.
2014-02-28 16:10:48 -08:00
Ricardo Quesada
13b60c8759
Applies Wu Hao's patch for 2.5D
2014-02-28 13:48:00 -08:00
Ricardo Quesada
6920bec6ef
transform object returns the MV
...
code cleaner.
the kmGL code is altogether
2014-02-28 11:20:53 -08:00
boyu0
a934d29c57
issue #4150 : Correct body position with the node has a parent. Add set/getPosition/Rotation method.
2014-02-28 15:31:25 +08:00
Ricardo Quesada
eb66ddd931
visit and draw improved.
...
`visit()` and `draw()` are improved.
they both receive:
- `Renderer`
- `kmMat4` for transformation
- `bool` whether or not the transform changed from the previous frame
Although `draw` and `visit` are not using the 3 new parameters,
they will start using it in the coming days (or weeks, or months).
Those parameters are needed for:
- `Renderer` shouldn't be a singleton. There should be one renderer per Director. There could be more than one renderer
- we should get rid of `kmGLXXX` functions since nodoby knows what is happening. the `kmMat4` is for that.
- whenever possible, we should try to optimize the multiplications. the `dirty` flag is for that.
We need those changes, so, it is better to change the API now, and not right after v3.0-final is released.
2014-02-27 21:43:54 -08:00
boyu0
8c536589df
Merge branch 'develop' of https://github.com/cocos2d/cocos2d-x into iss4118_physical_performance_improve
2014-02-27 20:04:04 +08:00
minggo
8d47d5f16a
return immediately when no changing
2014-02-27 15:12:57 +08:00
boyu0
b63641c7a5
issue #4118 : delete physicsSetPosition/Rotation method and add physics position/rotation tag.
2014-02-27 14:36:09 +08:00
boyu0
f400c1ac68
issue #4118 : edit contact test and fix node setPhysicsBody bug
2014-02-27 13:35:37 +08:00
boyu0
4df1e104f3
issue #4118 : improve performance.
2014-02-26 19:56:52 +08:00
James Chen
5e315273f9
Merge pull request #5467 from boyu0/bug4144_node_setphysicsbody
...
closed #4144 : fix bug: Can not use Node::setPhysicsBody to reset a physics body.
2014-02-26 11:43:19 +08:00
boyu0
912dad7a71
closed #4144 : fix bug: Node::setPhysicsBody doesn't work at the second time.
2014-02-26 10:53:41 +08:00
boyu0
a4cc0edb4a
issue #4118 : refactor physics update
2014-02-24 16:17:42 +08:00
Ricardo Quesada
fe1160cd8c
changes in API to support 3D
2014-02-22 19:16:42 -08:00
James Chen
0d8846d876
closed #4097 : Adds a macro to disable inserting script binding relevant codes.
2014-02-20 16:40:46 +08:00
James Chen
5e6130c92c
issue #4058 : Get rid of Object ,rename it to Ref.
2014-02-20 10:53:49 +08:00
Ricardo Quesada
7a8707cb08
Merge branch 'develop' into local_z_Order_fixes
...
Conflicts:
cocos/2d/CCNode.cpp
cocos/2d/CCNode.h
2014-01-21 10:10:50 -08:00
Ricardo Quesada
f1444a26a1
Improves documentation with local z order
2014-01-21 09:26:58 -08:00
James Chen
0f9c3fa59c
closed #3789 : EventDispatcher supports sorting listeners by global Z and local Z order. And adds relevant test case.
2014-01-21 10:23:05 +08:00
James Chen
9f793f8a9b
Warning fixes: 1) getZOrder —> getLocalZOrder. 2) long —> int
2014-01-20 15:03:30 +08:00
Ricardo Quesada
5fcbf42356
GlobalZOrder is used for render priority...
...
...and not vertexZ
Node::setGlobalZOrder() is used to change that.
Node::setZOrder() -> Node::setLocalZOrder();
2014-01-18 11:38:06 -08:00
Ricardo Quesada
f2c3d2f3ae
Camera and Node fixes
...
OrbitCamera: added getters (public). Setters moved from `protected` to `public
: Improved API. Instead of using "out" parameters for getters, it returns a `kmVec3`
: Setters receives `kmVec3` as well. Old API is still supported
Node: `setAdditionalTransform` doesn't get `dirty` on the next frame.
Instead, once the additional transform is set, in order to remove it the user needs to pass
the identity matrix
2014-01-13 12:52:07 -08:00
walzer
64af0de648
update copyrights for 2014, in cocos/2d/ folder
2014-01-07 11:25:07 +08:00
Ricardo Quesada
5a0284c183
Node vertex Z fix
...
Node correctly sets the Z vertex in getNodeToParentTransform(),
and not in transform().
This is the correct thing to do, and also fixes possible collisions
with the additionalTransform (eg: Camera)
2014-01-03 17:54:07 -08:00
Ricardo Quesada
a7b33e3ec3
Fixes NodeToWorld
...
Multiplication was in the incorrect order
2014-01-03 14:21:33 -08:00
James Chen
200f07dc34
closed #3290 : [JSB] The order of onEnter and onExit is wrong. For develop branch.
2013-12-30 11:10:02 +08:00
James Chen
9baa64f274
Merge pull request #4688 from walzer/develop
...
make CC_USE_PHYSICS can ACTUALLY be switch off
2013-12-27 04:04:48 -08:00
James Chen
febc19ea8d
Some warning fixes on linux.
2013-12-26 23:06:16 -08:00
walzer
c5e95618d9
fixed #3517 , make CC_USE_PHYSICS can be switch off, and bring Scene::update(float), Scene::addChild(...) out of CC_USE_PHYSICS segment
2013-12-26 23:55:05 +08:00
boyu0
3344c5243c
change some const char* to const std::string&
2013-12-24 10:51:47 +08:00
Ricardo Quesada
4f435a8613
Adds getScene() to Node
...
helper function to get the Scene containing the Node
2013-12-21 12:28:49 -08:00
Ricardo Quesada
d8ad5291f4
Nore camera
2013-12-20 16:33:31 -08:00
Ricardo Quesada
0703d974e2
NodeGrid fixes
...
Adds license
Removes unneded matrix
replaces std::for_each with for range-loop
2013-12-20 11:52:52 -08:00
minggo
756f8f7a11
Merge pull request #4482 from dabingnn/develop_gridNode
...
Develop grid node
2013-12-19 18:30:42 -08:00
Huabing.Xu
9fec597ff3
remove unreachable code
2013-12-19 21:36:44 +08:00
James Chen
3dc052db4f
Fixes linux and windows building failure.
2013-12-19 20:32:22 +08:00
Huabing.Xu
d51ad36613
Merge branch 'develop' into develop_gridNode
...
* develop: (67 commits)
Adds const in ShaderTest2.h
Skew works again!
[AUTO] : updating submodule reference to latest autogenerated bindings
[AUTO] : updating submodule reference to latest autogenerated bindings
Reverts submodule.
Updates submodule of bindings-generator.
Adds `std::for_each` test in invocation
Reverts bindings-generator.
fixed not render
iterator in Sprite fixes
update vs project for removes unneeded files
getNodeToParentTransform fixes
Node cleanup
[AUTO] : updating submodule reference to latest autogenerated bindings
Improves SpriteTest
[AUTO] : updating submodule reference to latest autogenerated bindings
Android and Linux fixes
removes `using namespace std` from header file
Removes unneeded files
change play arguments
...
Conflicts:
cocos/2d/CCNode.cpp
samples/Cpp/TestCpp/Classes/ExtensionsTest/CocoStudioArmatureTest/ArmatureScene.cpp
2013-12-19 17:20:22 +08:00
boyu0
ef54ed3c15
Merge branch 'develop' of https://github.com/cocos2d/cocos2d-x into HEAD
...
Conflicts:
cocos/2d/CCLabel.cpp
cocos/2d/CCLabel.h
cocos/2d/CCLabelBMFont.cpp
cocos/2d/CCLabelBMFont.h
cocos/2d/CCLayer.cpp
cocos/2d/CCLayer.h
cocos/2d/CCNode.cpp
extensions/GUI/CCControlExtension/CCControl.cpp
extensions/GUI/CCControlExtension/CCControlButton.cpp
extensions/GUI/CCControlExtension/CCScale9Sprite.cpp
tools/tojs/cocos2dx.ini
2013-12-19 17:05:59 +08:00
Ricardo Quesada
1d3cc7a24c
Skew works again!
2013-12-18 21:11:06 -08:00
Ricardo Quesada
d138925aa0
Merge branch 'develop' into node_fixes
2013-12-18 18:33:56 -08:00
Ricardo Quesada
b9a64725ab
iterator in Sprite fixes
...
And replaces some std::for_each() with for() to prevent another object in the stack.
2013-12-18 18:33:04 -08:00
minggo
9fc28e6c7d
Merge pull request #4534 from boyu0/edit_hungarian_notation
...
Edit hungarian notation
2013-12-18 18:10:17 -08:00
Ricardo Quesada
89701f5006
getNodeToParentTransform fixes
...
Code is cleaner.
`Armature` calls parent to reduce code.
[]: Skew is still not working properly
2013-12-18 18:00:55 -08:00
boyu0
c6cc77e75b
Merge branch 'develop' of https://github.com/cocos2d/cocos2d-x into edit_hungarian_notation
2013-12-19 09:45:21 +08:00