From df3e83094bd6b0a69de78d38020a9079fb43eab5 Mon Sep 17 00:00:00 2001 From: Ricardo Quesada Date: Mon, 6 Jan 2014 16:23:06 -0800 Subject: [PATCH 1/6] Adds RELEASE_NOTES.md to repo --- docs/RELEASE_NOTES.md | 621 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 621 insertions(+) create mode 100644 docs/RELEASE_NOTES.md diff --git a/docs/RELEASE_NOTES.md b/docs/RELEASE_NOTES.md new file mode 100644 index 0000000000..b46523e38f --- /dev/null +++ b/docs/RELEASE_NOTES.md @@ -0,0 +1,621 @@ +# cocos2d-x v3.0 Release Notes # + + +# Misc Information + +* Download: http://cdn.cocos2d-x.org/cocos2d-x-3.0alpha1.zip +* Full Changelog: https://github.com/cocos2d/cocos2d-x/blob/cocos2d-x-3.0alph1/CHANGELOG +* API Reference: http://www.cocos2d-x.org/reference/native-cpp/V3.0alpha1/index.html + +# Requirements + +## Runtime Requirements + +* Android 2.3 or newer +* iOS 5.0 or newer +* OS X 10.7 or newer +* Windows 7 or newer +* ~~Windows Phone 8 or newer~~ N/A for the moment +* Linux Ubuntu 12.04 (or newer) +* ~~Browsers via Emscripten~~ N/A for the moment +* ~~Marmalade~~ N/A for the moment +* ~~BlackBerry~~ N/A for the moment + +## Compiler Requirements + +* Xcode 4.6 (for iOS or Mac) +* gcc 4.7 for Linux or Android. For Android ndk-r9 or newer is required. +* Visual Studio 2012 (for Windows) + +# Highlights of v3.0.0 + +* Replaced Objective-C patters with C++ (C++11) patterns and best practices +* Improved Labels +* Improved renderer +* New Event Dispatcher +* Physics integration +* New GUI +* Javascript remote debugger +* Console module +* Refactor Image - release memory in time and uniform the api of supported file format +* Automatically generated lua bindings, add LuaJavaBridge and LuaObjcBridge +* Templated containers + +# Features in detail + +## C++11 features + +_Feature added in v3.0-pre-alpha0_ + +A subset of C++11 features are being used in cocos2d-x: + +* `std::function`, including lambda objects for callbacks +* strongly typed enums, for most of the cocos2d-x enums and constants +* `std::thread` for threading +* `override` context keyword, for overriden methods + + +### std::function + +* `CallFunc` can be created with an `std::function` +* `CallFuncN` can be created with an `std::function` +* `CallFuncND` and `CallFuncO` were removed since it can be created with simulated with `CallFuncN` and `CallFunc`. See ActionsTest.cpp for more examples +* `MenuItem` supports `std::function` as callbacks + +`CallFunc` example: + +```cpp +// in v2.1 +CCCallFunc *action1 = CCCallFunc::create( this, callfunc_selector( MyClass::callback_0 ) ); + +// in v3.0 (short version) +auto action1 = CallFunc::create( CC_CALLBACK_0(MyClass::callback_0,this)); +auto action2 = CallFunc::create( CC_CALLBACK_0(MyClass::callback_1,this, additional_parameters)); + +// in v3.0 (long version) +auto action1 = CallFunc::create( std::bind( &MyClass::callback_0, this)); +auto action2 = CallFunc::create( std::bind( &MyClass::callback_1, this, additional_parameters)); + +// in v3.0 you can also use lambdas or any other "Function" object +auto action1 = CallFunc::create( + [&](){ + auto s = Director::sharedDirector()->getWinSize(); + auto label = LabelTTF::create("called:lambda callback", "Marker Felt", 16); + label->setPosition(ccp( s.width/4*1,s.height/2-40)); + this->addChild(label); + } ); +``` + +`MenuItem` example: +```c++ +// in v2.1 +CCMenuItemLabel *item = CCMenuItemLabel::create(label, this, menu_selector(MyClass::callback)); + +// in v3.0 (short version) +auto item = MenuItemLabel::create(label, CC_CALLBACK_1(MyClass::callback, this)); + +// in v3.0 (long version) +auto item = MenuItemLabel::create(label, std::bind(&MyClass::callback, this, std::placeholders::_1)); + +// in v3.0 you can use lambdas or any other "Function" object +auto item = MenuItemLabel::create(label, + [&](Object *sender) { + // do something. Item "sender" clicked + }); +``` + +### strongly typed enums + +_Feature added in v3.0-pre-alpha0_ + +Constants and enums that started with `k`, and that usually were defined as `int` or as simple `enum` where replaced with strongly typed enums ( `enum class` ) to prevent collisions and type errors. +The new format is: + +| *v2.1* | *v3.0* | +| `kTypeValue` | `Type::VALUE` | + +Examples: +| *v2.1* | *v3.0* | +| `kCCTexture2DPixelFormat_RGBA8888` | `Texture2D::PixelFormat::RGBA8888` | +| `kCCDirectorProjectionCustom` | `Director::Projection::CUSTOM` | +| `ccGREEN` | `Color3B::GREEN` | +| `CCPointZero` | `Point::ZERO` | +| `CCSizeZero` | `Size::ZERO` | + +The old values can still be used, but are not deprecated. + +### override + +To catch possible errors while overriding methods, subclasses with override methods have the `override` context keyword. +Example: +```c++ +class Sprite : public Node { + bool isFlipY(void) const; + void setFlipY(bool bFlipY); + + // Overrides + virtual void setTexture(Texture2D *texture) override; + virtual Texture2D* getTexture() const override; + inline void setBlendFunc(const BlendFunc &blendFunc) override; + inline const BlendFunc& getBlendFunc() const override; +} +``` + +## Removed Objective-C patterns + +_Feature added in v3.0-pre-alpha0_ + +### No more 'CC' prefix for C++ classes and free functions + +*Changes in classes* + +Since cocos2d-x already uses the `cocos2d` namespace, there is not need to add the prefix `CC` to all its classes. + +Examples: + +| *v2.1* | *v3.0* | +| `CCSprite` | `Sprite` | +| `CCNode` | `Node` | +| `CCDirector` | `Director` | +| etc... | + +v2.1 class names are still available, but they were tagged as deprecated. + +*Changes in free functions* + +For the *drawing primitives*: +* They were added in the `DrawPrimitives` namespace +* The `cc` prefix was removed + +For the *gl proxy functions*: +* They were added in the `GL` namespace +* The `ccGL` prefix was removed + +Examples: +| *v2.1* | *v3.0* | +| `ccDrawPoint()` | `DrawPrimitives::drawPoint()` | +| `ccDrawCircle()` | `DrawPrimitives::drawCircle()` | +| `ccGLBlendFunc()` | `GL::blendFunc()` | +| `ccGLBindTexture2D()` | `GL::bindTexture2D()` | +| etc... | + +v2.1 free functions are still available, but they were tagged as deprecated. + + +### clone() instead of copy() + +`clone()` returns an autoreleased version of the copy. + +`copy()` is no longer supported. If you use it, it will compile, but the code will crash. + +Example: +```c++ +// v2.1 +CCMoveBy *action = (CCMoveBy*) move->copy(); +action->autorelease(); + +// v3.0 +// No need to do autorelease, no need to do casting. +auto action = move->clone(); +``` + +### Singletons use getInstance() and destroyInstance() + +All singletons use `getInstance()` and `destroyInstance()` (if applicable) to get and destroy the instance. + +Examples: + +| *v2.1* | *v3.0* | +| `CCDirector->sharedDirector()` | `Director->getInstance()` | +| `CCDirector->endDirector()` | `Director->destroyInstance()` | +| etc... | + + +v2.1 methods are still available, but they were tagged as deprecated. + +### getters + +Getters now use the `get` prefix. + +Examples: + +| *v2.1* | *v3.0* | +| `node->boundingBox()` | `node->getBoundingBox()` | +| `sprite->nodeToParentTransform()` | `sprite->getNodeToParentTransform()` | +| etc... | + +And getters were also tagged as `const` in their declaration. Example: + +```c++ +// v2.1 +virtual float getScale(); + +// v3.0 +virtual float getScale() const; +``` + +v2.1 methods are still available, but they were tagged as deprecated. + +### POD types + +Methods that were receiving POD types as arguments (eg: `TexParams`, `Point`, `Size`, etc.) are being passed as `const` reference. + +Example: +```c++ +// v2.1 +void setTexParameters(ccTexParams* texParams); + +// v3.0 +void setTexParameters(const ccTexParams& texParams); +``` + + +## New renderer + +NOT ADDED YET + +## Improved LabelTTF / LabelBMFont + +_Feature added in v3.0-alpha0_ + +## New EventDispatcher + +_Feature added in v3.0-alpha0_ + +All events like touch event, keyboard event, acceleration event and custom event are dispatched by `EventDispatcher`. +`TouchDispatcher`, `KeypadDispatcher`, `KeyboardDispatcher`, `AccelerometerDispatcher` were removed. + +### Adding Touch Event Listener + +```c++ +auto sprite = Sprite::create("file.png"); +... +auto listener = EventListenerTouch::create(Touch::DispatchMode::ONE_BY_ONE); +listener->setSwallowTouch(true); +listener->onTouchBegan = [](Touch* touch, Event* event) { do_some_thing(); return true; }; +listener->onTouchMoved = [](Touch* touch, Event* event) { do_some_thing(); }; +listener->onTouchEnded = [](Touch* touch, Event* event) { do_some_thing(); }; +listener->onTouchCancelled = [](Touch* touch, Event* event) { do_some_thing(); }; +// The priority of the touch listener is based on the draw order of sprite +EventDispatcher::getInstance()->addEventListenerWithSceneGraphPriority(listener, sprite); +// Or the priority of the touch listener is a fixed value +EventDispatcher::getInstance()->addEventListenerWithFixedPriority(listener, 100); // 100 is a fixed value +``` + +### Adding A Keyboard Event Listener + +```c++ +auto listener = EventListenerKeyboard::create(); +listener->onKeyPressed = CC_CALLBACK_2(SomeClass::onKeyPressed, this); +listener->onKeyReleased = CC_CALLBACK_2(SomeClass::onKeyReleased, this); +EventDispatcher::getInstance()->addEventListenerWithSceneGraphPriority(listener, this); +``` + +### Adding An Acceleration Event Listener + +```c++ +auto listener = EventListenerAcceleration::create(CC_CALLBACK_2(SomeClass::onAcceleration, this)); +EventDispatcher::getInstance()->addEventListenerWithSceneGraphPriority(listener, this); +``` + +### Adding A Custom Event Listener + +```c++ +auto listener = EventListenerCustom::create("game_custom_event", [=](EventCustom* event){ + void* userData= event->getUserData(); + do_some_with_user_data(); +}); +dispatcher->addEventListenerWithFixedPriority(listener, 1); +``` + +### Dispatching A Custom Event + +```c++ +EventCustom event("game_custom_event"); +event.setUserData(some_data); +dispatcher->dispatchEvent(&event); +``` + +### Setting Fixed Priority For A Listener + +```c++ +dispatcher->setPriority(fixedPriorityListener, 200); +``` + +### Removing Event Listener + +#### Removing A Specified Event Listener + +```c++ +dispatcher->removeEventListener(listener); +``` + +#### Removing All Listeners For An Event Type + +```c++ +dispatcher->removeListenersForEventType("event_name"); +``` + +#### Removing All Listeners + +```c++ +dispatcher->removeAllListeners(); +``` + +## Physics Integration + +_Feature added in v3.0-pre-alpha0_ + +Physics integration have five concepts: `PhysicsWorld`, `PhysicsBody`, `PhysicsShape`, `PhysicsJoint` and `PhysicsContact`. +You must define `CC_USE_PHYSICS` macro in `ccConfig.h` to use the physics API. + +### PhysicsWorld + +A `PhysicsWorld` object simulates collisions and other physical properties, you do not create it directly, you can get it from scene which create with physics. +```c++ +Scene* scene = Scene::createWithPhysics(); +PhysicsWorld* world = scene->getPhysicsWorld(); +``` + +### PhysicsBody + +A `PhysicsBody` object is used to add physics simulation to a node. If you create a `PhysicsBody` and set it to a node, and add the node the a scene which create with physics, it will perform the physics simulation when update. +```c++ +PhysicsBody* body = PhysicsBody::createCircle(5.0f); +Node* node = Node::create(); +node->setPhysicsBody(body); +scene->addChild(node); +``` + +### PhysicsShape + +A `PhysicsShape` object is a shape that make the body can have collisions. you can add one or more `PhysicsShape` to a `PhysicsBody`. +Shape classes: `PhysicsShapeCircle`, `PhysicsShapeBox`, `PhysicsShapePolygon`, `PhysicsShapeEdgeSegment`, `PhysicsShapeEdgeBox`, `PhysicsShapeEdgePolygon`, `PhysicsShapeEdgeChain`. +```c++ +PhysicsShape* shape = PhysicsShapeBox::create(Size(5.0f, 10.0f); +body->addShape(shape); +``` + +### PhysicsJoint + +A `PhysicsJoint` object connects two physics bodies together so that they are simulated together by the physics world. +Joint classes: `PhysicsJointFixed`, `PhysicsJointLimit`, `PhysicsJointPin`, `PhysicsJointDistance`, `PhysicsJointSpring`, `PhysicsJointGroove`, `PhysicsJointRotarySpring`, `PhysicsJointRotaryLimit`, `PhysicsJointRatchet`, `PhysicsJointGear`, `PhysicsJointMotor`. +```c++ +PhysicsJoint* joint = PhysicsJointDistance::construct(bodyA, bodyB, Point::ZERO, Point::ZERO); +world->addJoint(joint); +``` + +### PhysicsContact + +A `PhysicsContact` object is created automatically to describes a contact between two physical bodies in a `PhysicsWorld`. you can control the contact behavior from the physics contact event listener. +Other classes contain the contact information: `PhysicsContactPreSolve`, `PhysicsContactPostSolve`. +The event listener for physics: `EventListenerPhysicsContact`, `EventListenerPhysicsContactWithBodies`, `EventListenerPhysicsContactWithShapes`, `EventListenerPhysicsContactWithGroup`. +```c++ +auto contactListener = EventListenerPhysicsContactWithBodies::create(bodyA, bodyB); +contactListener->onContactBegin = [](EventCustom* event, const PhysicsContact& contact) -> bool +{ +doSomething(); +return true; +}; +_eventDispatcher->addEventListenerWithSceneGraphPriority(contactListener, this); +``` + + +# Misc API Changes + +## `ccTypes.h` + +Remove *cc* prefix for structure names in ccTypes.h, move global functions into static member functions, and move global constants into const static member variables. + +| *structure name before changing* | *structure name after changing* | +| `ccColor3B` | `Color3B` | +| `ccColor4B` | `Color4B` | +| `ccColor4F` | `Color4F` | +| `ccVertex2F` | `Vertex2F` | +| `ccVertex3F` | `Vertex3F` | +| `ccTex2F` | `Tex2F` | +| `ccPointSprite` | `PointSprite` | +| `ccQuad2` | `Quad2` | +| `ccQuad3` | `Quad3` | +| `ccV2F_C4B_T2F` | `V2F_C4B_T2F` | +| `ccV2F_C4F_T2F` | `V2F_C4F_T2F` | +| `ccV3F_C4B_T2F` | `V3F_C4B_T2F` | +| `ccV2F_C4B_T2F_Triangle` | `V2F_C4B_T2F_Triangle` | +| `ccV2F_C4B_T2F_Quad` | `V2F_C4B_T2F_Quad` | +| `ccV3F_C4B_T2F_Quad` | `V3F_C4B_T2F_Quad` | +| `ccV2F_C4F_T2F_Quad` | `V2F_C4F_T2F_Quad` | +| `ccBlendFunc` | `BlendFunc` | +| `ccT2F_Quad` | `T2F_Quad` | +| `ccAnimationFrameData` | `AnimationFrameData` | + +Global functions changed example +```c++ +// in v2.1 +ccColor3B color3B = ccc3(0, 0, 0); +ccc3BEqual(color3B, ccc3(1, 1, 1)); +ccColor4B color4B = ccc4(0, 0, 0, 0); +ccColor4F color4F = ccc4f(0, 0, 0, 0); +color4F = ccc4FFromccc3B(color3B); +color4F = ccc4FFromccc4B(color4B); +ccc4FEqual(color4F, ccc4F(1, 1, 1, 1)); +color4B = ccc4BFromccc4F(color4F); + +color3B = ccWHITE; + +// in v3.0 +Color3B color3B = Color3B(0, 0, 0); +color3B.equals(Color3B(1, 1, 1)); +Color4B color4B = Color4B(0, 0, 0, 0); +Color4F color4F = Color4F(0, 0, 0, 0); +color4F = Color4F(color3B); +color4F = Color4F(color4B); +color4F.equals(Color4F(1, 1, 1, 1)); +color4B = Color4B(color4F); + +color3B = Color3B::WHITE; +``` + +## deprecated functions and global variables + +|*old name*|*new name*| +| `ccp` | `Point` | +| `ccpNeg` | `Point::-` | +| `ccpAdd` | `Point::+` | +| `ccpSub` | `Point::-` | +| `ccpMult` | `Point::*` | +| `ccpMidpoint` | `Point::getMidpoint` | +| `ccpDot` | `Point::dot` | +| `ccpCrosss` | `Point::cross` | +| `ccpPerp` | `Point::getPerp` | +| `ccpRPerp` | `Point::getRPerp` | +| `ccpProject` | `Point::project` | +| `ccpRotate` | `Point::rotate` | +| `ccpUnrotate` | `Point::unrotate` | +| `ccpLengthSQ` | `Point::getLengthSq()` | +| `ccpDistanceSQ` | `Point::getDistanceSq` | +| `ccpLength` | `Point::getLength` | +| `ccpDistance` | `Point::getDistance` | +| `ccpNormalize` | `Point::normalize` | +| `ccpForAngle` | `Point::forAngle` | +| `ccpToAngle` | `Point::getAngle` | +| `ccpClamp` | `Point::getClampPoint` | +| `ccpFromSize` | `Point::Point` | +| `ccpCompOp` | `Point::compOp` | +| `ccpLerp` | `Point::lerp` | +| `ccpFuzzyEqual` | `Point::fuzzyEqual` | +| `ccpCompMult` | `Point::Point` | +| `ccpAngleSigned` | `Point::getAngle` | +| `ccpAngle` | `Point::getAngle` | +| `ccpRotateByAngle` | `Point::rotateByAngle` | +| `ccpLineInersect` | `Point::isLineIntersect` | +| `ccpSegmentIntersect` | `Point::isSegmentIntersect` | +| `ccpIntersectPoint` | `Point::getIntersectPoint` | +| `CCPointMake` | `Point::Point` | +| `CCSizeMake` | `Size::Size` | +| `CCRectMake` | `Rect::Rect` | +| `PointZero` | `Point::ZERO` | +| `SizeZero` | `Size::ZERO` | +| `RectZero` | `Rect::ZERO` | +| `TiledGrid3DAction::tile` | `TiledGrid3DAction::getTile` | +| `TiledGrid3DAction::originalTile` | `TiledGrid3DAction::getOriginalTile` | +| `TiledGrid3D::tile` | `TiledGrid3D::getTile` | +| `TiledGrid3D::originalTile` | `TiledGrid3D::getOriginalTile` | +| `Grid3DAction::vertex` | `Grid3DAction::getVertex` | +| `Grid3DAction::originalVertex` | `Grid3DAction::getOriginalVertex` | +| `Grid3D::vertex` | `Grid3D::getVertex` | +| `Grid3D::originalVertex` | `Grid3D::getOriginalVertex` | +| `Configuration::sharedConfiguration` | `Configuration::getInstance` | +| `Configuration::purgeConfiguration` | `Configuration::destroyInstance()` | +| `Director::sharedDirector()` | `Director::getInstance()` | +| `FileUtils::sharedFileUtils` | `FileUtils::getInstance` | +| `FileUtils::purgeFileUtils` | `FileUtils::destroyInstance` | +| `EGLView::sharedOpenGLView` | `EGLView::getInstance` | +| `ShaderCache::sharedShaderCache` | `ShaderCache::getInstance` | +| `ShaderCache::purgeSharedShaderCache` | `ShaderCache::destroyInstance` | +| `AnimationCache::sharedAnimationCache` | `AnimationCache::getInstance` | +| `AnimationCache::purgeSharedAnimationCache` | `AnimationCache::destroyInstance` | +| `SpriteFrameCache::sharedSpriteFrameCache` | `SpriteFrameCache::getInstance` | +| `SpriteFrameCache:: purgeSharedSpriteFrameCache` | `SpriteFrameCache::destroyInstance` | +| `NotificationCenter::sharedNotificationCenter` | `NotificationCenter::getInstance` | +| `NotificationCenter:: purgeNotificationCenter` | `NotificationCenter::destroyInstance` | +| `Profiler::sharedProfiler` | `Profiler::getInstance` | +| `UserDefault::sharedUserDefault` | `UserDefault::getInstance` | +| `UserDefault::purgeSharedUserDefault` | `UserDefault::destroyInstance` | +| `Application::sharedApplication` | `Application::getInstance` | +| `ccc3()` | `Color3B()` | +| `ccc3BEqual()` | `Color3B::equals()` | +| `ccc4()` | `Color4B()` | +| `ccc4FFromccc3B()` | `Color4F()` | +| `ccc4f()` | `Color4F()` | +| `ccc4FFromccc4B()` | `Color4F()` | +| `ccc4BFromccc4F()` | `Color4B()` | +| `ccc4FEqual()` | `Color4F::equals()` | +| `ccWHITE` | `Color3B::WHITE` | +| `ccYELLOW` | `Color3B::YELLOW` | +| `ccBLUE` | `Color3B::BLUE` | +| `ccGREEN` | `Color3B::GREEN` | +| `ccRED` | `Color3B::RED` | +| `ccMAGENTA` | `Color3B::MAGENTA` | +| `ccBLACK` | `Color3B::BLACK` | +| `ccORANGE` | `Color3B::ORANGE` | +| `ccGRAY` | `Color3B::GRAY` | +| `kBlendFuncDisable` | `BlendFunc::BLEND_FUNC_DISABLE` | + +## Changes in the Lua bindings + +### Use bindings-generator tool for Lua binding + +Only configurating the *.ini files in the tools/tolua folder,not to write a lot of *.pkg files + +### Use ScriptHandlerMgr to manage the register and unregister of lua function + +When we want to add register and unregister functions of lua function for class, we need to change the declarative and defined files and then bind to Lua. +In v3.0, we use the `ScriptHandlerMgr`. As an example, lets see the `MenuItem` class: +In the 2.x version, we needed to add a declaration in the MenuItem header file: +```c++ + virtual void registerScriptTapHandler(int nHandler); + virtual void unregisterScriptTapHandler(void); +``` +then implement them in the .cpp file. In the Lua script ,we use it as follow: +```lua +menuItem:registerScriptTapHandler(luafunction) +``` + +In v3.0 version, we only need to add the `HandlerType` enum in the `ScriptHandlerMgr`, and the implementation in luascript as follow: +```lua +ScriptHandlerMgr:getInstance():registerScriptHandler(menuItem, luafunction,cc.HANDLERTYPE_MENU_CLICKED) +``` + +### Use "cc" and "ccs" as module name + +```lua +// v2.x +CCSprite:create(s_pPathGrossini) +CCEaseIn:create(createSimpleMoveBy(), 2.5) + +UILayout:create() + +// v3.0 +cc.Director:getInstance():getWinSize() +cc.EaseIn:create(createSimpleMoveBy(), 2.5) + +ccs.UILayer:create() +``` + +### Deprecated funtions, tables and classes + +Add a lot of deprecate funtions、table and classes to support 2.x version as far as possible +Note: `Rect does not support the origin and size member variables` + +### Use the lua table instead of the some structs and classes binding + +Point、Size、Rect、Color3b、Color4b、Color4F、AffineTransform、FontDefinition、Array、Dictionary、PointArray are not bound. +The difference is as follow: +```lua +// v2.x +local pt = CCPoint(0 , 0) +local rect = CCRect(0, 0, 0, 0) +// v3.0 +local pt = cc.p(0, 0) +local rect = cc.rect(0,0,0,0) +``` + +Global functions about these classes are changed as follow: +```lua +// in v2.x +local pt = ccp(0,0) +local color3B = ccc3(0, 0, 0) +local color4B = ccc4(0, 0, 0, 0) + +// in v3.0 +local pt = cc.p(0,0) +local color3B = cc.c3b(0,0,0) +local color4B = cc.c4b(0,0,0,0) +``` + +Through the funtions of the LuaBasicConversion file,they can be converted the lua table when they are as a parameter in the bindings generator. + + +## Known issues + +You can find all the known issues "here":http://www.cocos2d-x.org/projects/native/issues From df44a69caa93ad9a3dd37f00f94d604f1e357824 Mon Sep 17 00:00:00 2001 From: Ricardo Quesada Date: Mon, 6 Jan 2014 16:26:48 -0800 Subject: [PATCH 2/6] Adds TOC --- docs/RELEASE_NOTES.md | 49 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/docs/RELEASE_NOTES.md b/docs/RELEASE_NOTES.md index b46523e38f..e24a5b0b22 100644 --- a/docs/RELEASE_NOTES.md +++ b/docs/RELEASE_NOTES.md @@ -1,3 +1,52 @@ +**Table of Contents** *generated with [DocToc](http://doctoc.herokuapp.com/)* + +- [cocos2d-x v3.0 Release Notes](#cocos2d-x-v30-release-notes) +- [Misc Information](#misc-information) +- [Requirements](#requirements) + - [Runtime Requirements](#runtime-requirements) + - [Compiler Requirements](#compiler-requirements) +- [Highlights of v3.0.0](#highlights-of-v300) +- [Features in detail](#features-in-detail) + - [C++11 features](#c++11-features) + - [std::function](#stdfunction) + - [strongly typed enums](#strongly-typed-enums) + - [override](#override) + - [Removed Objective-C patterns](#removed-objective-c-patterns) + - [No more 'CC' prefix for C++ classes and free functions](#no-more-'cc'-prefix-for-c++-classes-and-free-functions) + - [clone() instead of copy()](#clone-instead-of-copy) + - [Singletons use getInstance() and destroyInstance()](#singletons-use-getinstance-and-destroyinstance) + - [getters](#getters) + - [POD types](#pod-types) + - [New renderer](#new-renderer) + - [Improved LabelTTF / LabelBMFont](#improved-labelttf--labelbmfont) + - [New EventDispatcher](#new-eventdispatcher) + - [Adding Touch Event Listener](#adding-touch-event-listener) + - [Adding A Keyboard Event Listener](#adding-a-keyboard-event-listener) + - [Adding An Acceleration Event Listener](#adding-an-acceleration-event-listener) + - [Adding A Custom Event Listener](#adding-a-custom-event-listener) + - [Dispatching A Custom Event](#dispatching-a-custom-event) + - [Setting Fixed Priority For A Listener](#setting-fixed-priority-for-a-listener) + - [Removing Event Listener](#removing-event-listener) + - [Removing A Specified Event Listener](#removing-a-specified-event-listener) + - [Removing All Listeners For An Event Type](#removing-all-listeners-for-an-event-type) + - [Removing All Listeners](#removing-all-listeners) + - [Physics Integration](#physics-integration) + - [PhysicsWorld](#physicsworld) + - [PhysicsBody](#physicsbody) + - [PhysicsShape](#physicsshape) + - [PhysicsJoint](#physicsjoint) + - [PhysicsContact](#physicscontact) +- [Misc API Changes](#misc-api-changes) + - [`ccTypes.h`](#cctypesh) + - [deprecated functions and global variables](#deprecated-functions-and--global-variables) + - [Changes in the Lua bindings](#changes-in-the-lua-bindings) + - [Use bindings-generator tool for Lua binding](#use-bindings-generator-tool-for-lua-binding) + - [Use ScriptHandlerMgr to manage the register and unregister of lua function](#use-scripthandlermgr-to-manage-the-register-and-unregister-of-lua-function) + - [Use "cc" and "ccs" as module name](#use-cc-and-ccs-as-module-name) + - [Deprecated funtions, tables and classes](#deprecated-funtions-tables-and-classes) + - [Use the lua table instead of the some structs and classes binding](#use-the-lua-table-instead-of-the-some-structs-and-classes-binding) + - [Known issues](#known-issues) + # cocos2d-x v3.0 Release Notes # From d15768d6306948452d871c264d24a9fabdbff625 Mon Sep 17 00:00:00 2001 From: Ricardo Quesada Date: Mon, 6 Jan 2014 16:28:24 -0800 Subject: [PATCH 3/6] Removes RELASE_NOTES --- build/cocos2d_libs.xcodeproj/project.pbxproj.REMOVED.git-id | 2 +- docs/RELEASE_NOTES | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) delete mode 100644 docs/RELEASE_NOTES diff --git a/build/cocos2d_libs.xcodeproj/project.pbxproj.REMOVED.git-id b/build/cocos2d_libs.xcodeproj/project.pbxproj.REMOVED.git-id index d3f6223954..c4528a1caf 100644 --- a/build/cocos2d_libs.xcodeproj/project.pbxproj.REMOVED.git-id +++ b/build/cocos2d_libs.xcodeproj/project.pbxproj.REMOVED.git-id @@ -1 +1 @@ -64be2dade906f1baa9da4fdd207e4b1f9330ceb4 \ No newline at end of file +d7aac7ce0972156e068cbfb28054d2961068f295 \ No newline at end of file diff --git a/docs/RELEASE_NOTES b/docs/RELEASE_NOTES deleted file mode 100644 index f10872da6c..0000000000 --- a/docs/RELEASE_NOTES +++ /dev/null @@ -1,4 +0,0 @@ -===== cocos2d-x 3.0 Release Notes ===== - -Please, read the online release notes document: -http://www.cocos2d-x.org/wiki/Release_Notes_for_Cocos2d-x_v300 \ No newline at end of file From a5f5104ab70b31157cfc159e31fffb05a156cf22 Mon Sep 17 00:00:00 2001 From: Ricardo Quesada Date: Mon, 6 Jan 2014 16:33:14 -0800 Subject: [PATCH 4/6] misc changes --- docs/RELEASE_NOTES.md | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/docs/RELEASE_NOTES.md b/docs/RELEASE_NOTES.md index e24a5b0b22..8b4fe1c68e 100644 --- a/docs/RELEASE_NOTES.md +++ b/docs/RELEASE_NOTES.md @@ -1,3 +1,5 @@ +# cocos2d-x v3.0 Release Notes # + **Table of Contents** *generated with [DocToc](http://doctoc.herokuapp.com/)* - [cocos2d-x v3.0 Release Notes](#cocos2d-x-v30-release-notes) @@ -47,9 +49,6 @@ - [Use the lua table instead of the some structs and classes binding](#use-the-lua-table-instead-of-the-some-structs-and-classes-binding) - [Known issues](#known-issues) -# cocos2d-x v3.0 Release Notes # - - # Misc Information * Download: http://cdn.cocos2d-x.org/cocos2d-x-3.0alpha1.zip @@ -76,7 +75,7 @@ * gcc 4.7 for Linux or Android. For Android ndk-r9 or newer is required. * Visual Studio 2012 (for Windows) -# Highlights of v3.0.0 +# Highlights of v3.0 * Replaced Objective-C patters with C++ (C++11) patterns and best practices * Improved Labels @@ -84,10 +83,10 @@ * New Event Dispatcher * Physics integration * New GUI -* Javascript remote debugger -* Console module +* JavaScript remote debugger +* Remote Console support * Refactor Image - release memory in time and uniform the api of supported file format -* Automatically generated lua bindings, add LuaJavaBridge and LuaObjcBridge +* Automatically generated Lua bindings, add LuaJavaBridge and LuaObjcBridge * Templated containers # Features in detail @@ -299,9 +298,15 @@ void setTexParameters(const ccTexParams& texParams); ``` -## New renderer +## New Renderer -NOT ADDED YET +_Feature added in v3.0-beta_ + +The renderer functionality has been decoupled from the Scene graph / Node logic. A new object called `Renderer` is responsible for rendering the object. + +Auto-batching and auto-culling support has been added. + +Please, see this document for detail information about its internal funcitonality: https://docs.google.com/document/d/17zjC55vbP_PYTftTZEuvqXuMb9PbYNxRFu0EGTULPK8/edit ## Improved LabelTTF / LabelBMFont @@ -596,9 +601,9 @@ color3B = Color3B::WHITE; Only configurating the *.ini files in the tools/tolua folder,not to write a lot of *.pkg files -### Use ScriptHandlerMgr to manage the register and unregister of lua function +### Use ScriptHandlerMgr to manage the register and unregister of Lua function -When we want to add register and unregister functions of lua function for class, we need to change the declarative and defined files and then bind to Lua. +When we want to add register and unregister functions of Lua function for class, we need to change the declarative and defined files and then bind to Lua. In v3.0, we use the `ScriptHandlerMgr`. As an example, lets see the `MenuItem` class: In the 2.x version, we needed to add a declaration in the MenuItem header file: ```c++ @@ -636,7 +641,7 @@ ccs.UILayer:create() Add a lot of deprecate funtions、table and classes to support 2.x version as far as possible Note: `Rect does not support the origin and size member variables` -### Use the lua table instead of the some structs and classes binding +### Use the Lua table instead of the some structs and classes binding Point、Size、Rect、Color3b、Color4b、Color4F、AffineTransform、FontDefinition、Array、Dictionary、PointArray are not bound. The difference is as follow: @@ -662,7 +667,7 @@ local color3B = cc.c3b(0,0,0) local color4B = cc.c4b(0,0,0,0) ``` -Through the funtions of the LuaBasicConversion file,they can be converted the lua table when they are as a parameter in the bindings generator. +Through the funtions of the LuaBasicConversion file,they can be converted the Lua table when they are as a parameter in the bindings generator. ## Known issues From 957c3b41daaeff4c4aa39cced7c34c99da189e72 Mon Sep 17 00:00:00 2001 From: Ricardo Quesada Date: Mon, 6 Jan 2014 17:04:12 -0800 Subject: [PATCH 5/6] Tables fixes Since markdown doesn't support tables, it is using "fended" blocks to simulate tables --- docs/RELEASE_NOTES.md | 263 +++++++++++++++++++++--------------------- 1 file changed, 133 insertions(+), 130 deletions(-) diff --git a/docs/RELEASE_NOTES.md b/docs/RELEASE_NOTES.md index 8b4fe1c68e..6c0acc8777 100644 --- a/docs/RELEASE_NOTES.md +++ b/docs/RELEASE_NOTES.md @@ -159,16 +159,17 @@ _Feature added in v3.0-pre-alpha0_ Constants and enums that started with `k`, and that usually were defined as `int` or as simple `enum` where replaced with strongly typed enums ( `enum class` ) to prevent collisions and type errors. The new format is: -| *v2.1* | *v3.0* | -| `kTypeValue` | `Type::VALUE` | + | v2.1 | v3.0 | + | kTypeValue | Type::VALUE | Examples: -| *v2.1* | *v3.0* | -| `kCCTexture2DPixelFormat_RGBA8888` | `Texture2D::PixelFormat::RGBA8888` | -| `kCCDirectorProjectionCustom` | `Director::Projection::CUSTOM` | -| `ccGREEN` | `Color3B::GREEN` | -| `CCPointZero` | `Point::ZERO` | -| `CCSizeZero` | `Size::ZERO` | + + | v2.1 | v3.0 | + | kCCTexture2DPixelFormat_RGBA8888 | Texture2D::PixelFormat::RGBA8888 | + | kCCDirectorProjectionCustom | Director::Projection::CUSTOM | + | ccGREEN | Color3B::GREEN | + | CCPointZero | Point::ZERO | + | CCSizeZero | Size::ZERO | The old values can still be used, but are not deprecated. @@ -201,11 +202,11 @@ Since cocos2d-x already uses the `cocos2d` namespace, there is not need to add t Examples: -| *v2.1* | *v3.0* | -| `CCSprite` | `Sprite` | -| `CCNode` | `Node` | -| `CCDirector` | `Director` | -| etc... | + | v2.1 | v3.0 | + | CCSprite | Sprite | + | CCNode | Node | + | CCDirector | Director | + | etc... | v2.1 class names are still available, but they were tagged as deprecated. @@ -220,12 +221,13 @@ For the *gl proxy functions*: * The `ccGL` prefix was removed Examples: -| *v2.1* | *v3.0* | -| `ccDrawPoint()` | `DrawPrimitives::drawPoint()` | -| `ccDrawCircle()` | `DrawPrimitives::drawCircle()` | -| `ccGLBlendFunc()` | `GL::blendFunc()` | -| `ccGLBindTexture2D()` | `GL::bindTexture2D()` | -| etc... | + + | v2.1 | v3.0 | + | ccDrawPoint() | DrawPrimitives::drawPoint() | + | ccDrawCircle() | DrawPrimitives::drawCircle() | + | ccGLBlendFunc() | GL::blendFunc() | + | ccGLBindTexture2D() | GL::bindTexture2D() | + | etc... | v2.1 free functions are still available, but they were tagged as deprecated. @@ -253,10 +255,10 @@ All singletons use `getInstance()` and `destroyInstance()` (if applicable) to ge Examples: -| *v2.1* | *v3.0* | -| `CCDirector->sharedDirector()` | `Director->getInstance()` | -| `CCDirector->endDirector()` | `Director->destroyInstance()` | -| etc... | + | v2.1 | v3.0 | + | CCDirector->sharedDirector() | Director->getInstance() | + | CCDirector->endDirector() | Director->destroyInstance() | + | etc... | v2.1 methods are still available, but they were tagged as deprecated. @@ -267,10 +269,10 @@ Getters now use the `get` prefix. Examples: -| *v2.1* | *v3.0* | -| `node->boundingBox()` | `node->getBoundingBox()` | -| `sprite->nodeToParentTransform()` | `sprite->getNodeToParentTransform()` | -| etc... | + | v2.1 | v3.0* | + | node->boundingBox() | node->getBoundingBox() | + | sprite->nodeToParentTransform() | sprite->getNodeToParentTransform() | + | etc... | And getters were also tagged as `const` in their declaration. Example: @@ -461,26 +463,26 @@ _eventDispatcher->addEventListenerWithSceneGraphPriority(contactListener, this); Remove *cc* prefix for structure names in ccTypes.h, move global functions into static member functions, and move global constants into const static member variables. -| *structure name before changing* | *structure name after changing* | -| `ccColor3B` | `Color3B` | -| `ccColor4B` | `Color4B` | -| `ccColor4F` | `Color4F` | -| `ccVertex2F` | `Vertex2F` | -| `ccVertex3F` | `Vertex3F` | -| `ccTex2F` | `Tex2F` | -| `ccPointSprite` | `PointSprite` | -| `ccQuad2` | `Quad2` | -| `ccQuad3` | `Quad3` | -| `ccV2F_C4B_T2F` | `V2F_C4B_T2F` | -| `ccV2F_C4F_T2F` | `V2F_C4F_T2F` | -| `ccV3F_C4B_T2F` | `V3F_C4B_T2F` | -| `ccV2F_C4B_T2F_Triangle` | `V2F_C4B_T2F_Triangle` | -| `ccV2F_C4B_T2F_Quad` | `V2F_C4B_T2F_Quad` | -| `ccV3F_C4B_T2F_Quad` | `V3F_C4B_T2F_Quad` | -| `ccV2F_C4F_T2F_Quad` | `V2F_C4F_T2F_Quad` | -| `ccBlendFunc` | `BlendFunc` | -| `ccT2F_Quad` | `T2F_Quad` | -| `ccAnimationFrameData` | `AnimationFrameData` | + | v2.1 struct names | v3.0 struct names | + | ccColor3B | Color3B | + | ccColor4B | Color4B | + | ccColor4F | Color4F | + | ccVertex2F | Vertex2F | + | ccVertex3F | Vertex3F | + | ccTex2F | Tex2F | + | ccPointSprite | PointSprite | + | ccQuad2 | Quad2 | + | ccQuad3 | Quad3 | + | ccV2F_C4B_T2F | V2F_C4B_T2F | + | ccV2F_C4F_T2F | V2F_C4F_T2F | + | ccV3F_C4B_T2F | V3F_C4B_T2F | + | ccV2F_C4B_T2F_Triangle | V2F_C4B_T2F_Triangle | + | ccV2F_C4B_T2F_Quad | V2F_C4B_T2F_Quad | + | ccV3F_C4B_T2F_Quad | V3F_C4B_T2F_Quad | + | ccV2F_C4F_T2F_Quad | V2F_C4F_T2F_Quad | + | ccBlendFunc | BlendFunc | + | ccT2F_Quad | T2F_Quad | + | ccAnimationFrameData | AnimationFrameData | Global functions changed example ```c++ @@ -511,89 +513,89 @@ color3B = Color3B::WHITE; ## deprecated functions and global variables -|*old name*|*new name*| -| `ccp` | `Point` | -| `ccpNeg` | `Point::-` | -| `ccpAdd` | `Point::+` | -| `ccpSub` | `Point::-` | -| `ccpMult` | `Point::*` | -| `ccpMidpoint` | `Point::getMidpoint` | -| `ccpDot` | `Point::dot` | -| `ccpCrosss` | `Point::cross` | -| `ccpPerp` | `Point::getPerp` | -| `ccpRPerp` | `Point::getRPerp` | -| `ccpProject` | `Point::project` | -| `ccpRotate` | `Point::rotate` | -| `ccpUnrotate` | `Point::unrotate` | -| `ccpLengthSQ` | `Point::getLengthSq()` | -| `ccpDistanceSQ` | `Point::getDistanceSq` | -| `ccpLength` | `Point::getLength` | -| `ccpDistance` | `Point::getDistance` | -| `ccpNormalize` | `Point::normalize` | -| `ccpForAngle` | `Point::forAngle` | -| `ccpToAngle` | `Point::getAngle` | -| `ccpClamp` | `Point::getClampPoint` | -| `ccpFromSize` | `Point::Point` | -| `ccpCompOp` | `Point::compOp` | -| `ccpLerp` | `Point::lerp` | -| `ccpFuzzyEqual` | `Point::fuzzyEqual` | -| `ccpCompMult` | `Point::Point` | -| `ccpAngleSigned` | `Point::getAngle` | -| `ccpAngle` | `Point::getAngle` | -| `ccpRotateByAngle` | `Point::rotateByAngle` | -| `ccpLineInersect` | `Point::isLineIntersect` | -| `ccpSegmentIntersect` | `Point::isSegmentIntersect` | -| `ccpIntersectPoint` | `Point::getIntersectPoint` | -| `CCPointMake` | `Point::Point` | -| `CCSizeMake` | `Size::Size` | -| `CCRectMake` | `Rect::Rect` | -| `PointZero` | `Point::ZERO` | -| `SizeZero` | `Size::ZERO` | -| `RectZero` | `Rect::ZERO` | -| `TiledGrid3DAction::tile` | `TiledGrid3DAction::getTile` | -| `TiledGrid3DAction::originalTile` | `TiledGrid3DAction::getOriginalTile` | -| `TiledGrid3D::tile` | `TiledGrid3D::getTile` | -| `TiledGrid3D::originalTile` | `TiledGrid3D::getOriginalTile` | -| `Grid3DAction::vertex` | `Grid3DAction::getVertex` | -| `Grid3DAction::originalVertex` | `Grid3DAction::getOriginalVertex` | -| `Grid3D::vertex` | `Grid3D::getVertex` | -| `Grid3D::originalVertex` | `Grid3D::getOriginalVertex` | -| `Configuration::sharedConfiguration` | `Configuration::getInstance` | -| `Configuration::purgeConfiguration` | `Configuration::destroyInstance()` | -| `Director::sharedDirector()` | `Director::getInstance()` | -| `FileUtils::sharedFileUtils` | `FileUtils::getInstance` | -| `FileUtils::purgeFileUtils` | `FileUtils::destroyInstance` | -| `EGLView::sharedOpenGLView` | `EGLView::getInstance` | -| `ShaderCache::sharedShaderCache` | `ShaderCache::getInstance` | -| `ShaderCache::purgeSharedShaderCache` | `ShaderCache::destroyInstance` | -| `AnimationCache::sharedAnimationCache` | `AnimationCache::getInstance` | -| `AnimationCache::purgeSharedAnimationCache` | `AnimationCache::destroyInstance` | -| `SpriteFrameCache::sharedSpriteFrameCache` | `SpriteFrameCache::getInstance` | -| `SpriteFrameCache:: purgeSharedSpriteFrameCache` | `SpriteFrameCache::destroyInstance` | -| `NotificationCenter::sharedNotificationCenter` | `NotificationCenter::getInstance` | -| `NotificationCenter:: purgeNotificationCenter` | `NotificationCenter::destroyInstance` | -| `Profiler::sharedProfiler` | `Profiler::getInstance` | -| `UserDefault::sharedUserDefault` | `UserDefault::getInstance` | -| `UserDefault::purgeSharedUserDefault` | `UserDefault::destroyInstance` | -| `Application::sharedApplication` | `Application::getInstance` | -| `ccc3()` | `Color3B()` | -| `ccc3BEqual()` | `Color3B::equals()` | -| `ccc4()` | `Color4B()` | -| `ccc4FFromccc3B()` | `Color4F()` | -| `ccc4f()` | `Color4F()` | -| `ccc4FFromccc4B()` | `Color4F()` | -| `ccc4BFromccc4F()` | `Color4B()` | -| `ccc4FEqual()` | `Color4F::equals()` | -| `ccWHITE` | `Color3B::WHITE` | -| `ccYELLOW` | `Color3B::YELLOW` | -| `ccBLUE` | `Color3B::BLUE` | -| `ccGREEN` | `Color3B::GREEN` | -| `ccRED` | `Color3B::RED` | -| `ccMAGENTA` | `Color3B::MAGENTA` | -| `ccBLACK` | `Color3B::BLACK` | -| `ccORANGE` | `Color3B::ORANGE` | -| `ccGRAY` | `Color3B::GRAY` | -| `kBlendFuncDisable` | `BlendFunc::BLEND_FUNC_DISABLE` | + | v2.1 names | v3.0 names | + | ccp | Point | + | ccpNeg | Point::- | + | ccpAdd | Point::+ | + | ccpSub | Point::- | + | ccpMult | Point::* | + | ccpMidpoint | Point::getMidpoint | + | ccpDot | Point::dot | + | ccpCrosss | Point::cross | + | ccpPerp | Point::getPerp | + | ccpRPerp | Point::getRPerp | + | ccpProject | Point::project | + | ccpRotate | Point::rotate | + | ccpUnrotate | Point::unrotate | + | ccpLengthSQ | Point::getLengthSq() | + | ccpDistanceSQ | Point::getDistanceSq | + | ccpLength | Point::getLength | + | ccpDistance | Point::getDistance | + | ccpNormalize | Point::normalize | + | ccpForAngle | Point::forAngle | + | ccpToAngle | Point::getAngle | + | ccpClamp | Point::getClampPoint | + | ccpFromSize | Point::Point | + | ccpCompOp | Point::compOp | + | ccpLerp | Point::lerp | + | ccpFuzzyEqual | Point::fuzzyEqual | + | ccpCompMult | Point::Point | + | ccpAngleSigned | Point::getAngle | + | ccpAngle | Point::getAngle | + | ccpRotateByAngle | Point::rotateByAngle | + | ccpLineInersect | Point::isLineIntersect | + | ccpSegmentIntersect | Point::isSegmentIntersect | + | ccpIntersectPoint | Point::getIntersectPoint | + | CCPointMake | Point::Point | + | CCSizeMake | Size::Size | + | CCRectMake | Rect::Rect | + | PointZero | Point::ZERO | + | SizeZero | Size::ZERO | + | RectZero | Rect::ZERO | + | TiledGrid3DAction::tile | TiledGrid3DAction::getTile | + | TiledGrid3DAction::originalTile | TiledGrid3DAction::getOriginalTile | + | TiledGrid3D::tile | TiledGrid3D::getTile | + | TiledGrid3D::originalTile | TiledGrid3D::getOriginalTile | + | Grid3DAction::vertex | Grid3DAction::getVertex | + | Grid3DAction::originalVertex | Grid3DAction::getOriginalVertex | + | Grid3D::vertex | Grid3D::getVertex | + | Grid3D::originalVertex | Grid3D::getOriginalVertex | + | Configuration::sharedConfiguration | Configuration::getInstance | + | Configuration::purgeConfiguration | Configuration::destroyInstance() | + | Director::sharedDirector() | Director::getInstance() | + | FileUtils::sharedFileUtils | FileUtils::getInstance | + | FileUtils::purgeFileUtils | FileUtils::destroyInstance | + | EGLView::sharedOpenGLView | EGLView::getInstance | + | ShaderCache::sharedShaderCache | ShaderCache::getInstance | + | ShaderCache::purgeSharedShaderCache | ShaderCache::destroyInstance | + | AnimationCache::sharedAnimationCache | AnimationCache::getInstance | + | AnimationCache::purgeSharedAnimationCache | AnimationCache::destroyInstance | + | SpriteFrameCache::sharedSpriteFrameCache | SpriteFrameCache::getInstance | + | SpriteFrameCache:: purgeSharedSpriteFrameCache | SpriteFrameCache::destroyInstance | + | NotificationCenter::sharedNotificationCenter | NotificationCenter::getInstance | + | NotificationCenter:: purgeNotificationCenter | NotificationCenter::destroyInstance | + | Profiler::sharedProfiler | Profiler::getInstance | + | UserDefault::sharedUserDefault | UserDefault::getInstance | + | UserDefault::purgeSharedUserDefault | UserDefault::destroyInstance | + | Application::sharedApplication | Application::getInstance | + | ccc3() | Color3B() | + | ccc3BEqual() | Color3B::equals() | + | ccc4() | Color4B() | + | ccc4FFromccc3B() | Color4F() | + | ccc4f() | Color4F() | + | ccc4FFromccc4B() | Color4F() | + | ccc4BFromccc4F() | Color4B() | + | ccc4FEqual() | Color4F::equals() | + | ccWHITE | Color3B::WHITE | + | ccYELLOW | Color3B::YELLOW | + | ccBLUE | Color3B::BLUE | + | ccGREEN | Color3B::GREEN | + | ccRED | Color3B::RED | + | ccMAGENTA | Color3B::MAGENTA | + | ccBLACK | Color3B::BLACK | + | ccORANGE | Color3B::ORANGE | + | ccGRAY | Color3B::GRAY | + | kBlendFuncDisable | BlendFunc::BLEND_FUNC_DISABLE | ## Changes in the Lua bindings @@ -673,3 +675,4 @@ Through the funtions of the LuaBasicConversion file,they can be converted the Lu ## Known issues You can find all the known issues "here":http://www.cocos2d-x.org/projects/native/issues + From 2f4011ab179980c8a77436f134fbc483acd9d12f Mon Sep 17 00:00:00 2001 From: Ricardo Quesada Date: Mon, 6 Jan 2014 17:31:47 -0800 Subject: [PATCH 6/6] minor fixes with the information --- docs/RELEASE_NOTES.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/RELEASE_NOTES.md b/docs/RELEASE_NOTES.md index 6c0acc8777..918d190721 100644 --- a/docs/RELEASE_NOTES.md +++ b/docs/RELEASE_NOTES.md @@ -51,9 +51,9 @@ # Misc Information -* Download: http://cdn.cocos2d-x.org/cocos2d-x-3.0alpha1.zip -* Full Changelog: https://github.com/cocos2d/cocos2d-x/blob/cocos2d-x-3.0alph1/CHANGELOG -* API Reference: http://www.cocos2d-x.org/reference/native-cpp/V3.0alpha1/index.html +* Download: http://cdn.cocos2d-x.org/cocos2d-x-3.0beta.zip +* Full Changelog: https://github.com/cocos2d/cocos2d-x/blob/cocos2d-x-3.0beta/CHANGELOG +* API Reference: http://www.cocos2d-x.org/reference/native-cpp/V3.0beta/index.html # Requirements