Commit Graph

108 Commits

Author SHA1 Message Date
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