From 3d276db6d2e00187c20da19278b7964b08e5fdb8 Mon Sep 17 00:00:00 2001 From: Mircea Rila Date: Thu, 23 Oct 2014 12:54:15 +0300 Subject: [PATCH 01/48] fix some warnings / remove TABs --- cocos/2d/CCLabel.h | 2 +- .../cocostudio/CCSSceneReader.cpp | 172 +++++++++--------- 2 files changed, 87 insertions(+), 87 deletions(-) diff --git a/cocos/2d/CCLabel.h b/cocos/2d/CCLabel.h index 2b3efbb34a..02844fa5f4 100644 --- a/cocos/2d/CCLabel.h +++ b/cocos/2d/CCLabel.h @@ -273,7 +273,7 @@ public: CC_DEPRECATED_ATTRIBUTE virtual void setFontDefinition(const FontDefinition& textDefinition); CC_DEPRECATED_ATTRIBUTE const FontDefinition& getFontDefinition() const { return _fontDefinition; } - CC_DEPRECATED_ATTRIBUTE int getCommonLineHeight() const { return getLineHeight();} + CC_DEPRECATED_ATTRIBUTE int getCommonLineHeight() const { return (int)getLineHeight();} CC_CONSTRUCTOR_ACCESS: /** diff --git a/cocos/editor-support/cocostudio/CCSSceneReader.cpp b/cocos/editor-support/cocostudio/CCSSceneReader.cpp index 52a9e50e5e..0e29de8d2f 100644 --- a/cocos/editor-support/cocostudio/CCSSceneReader.cpp +++ b/cocos/editor-support/cocostudio/CCSSceneReader.cpp @@ -42,7 +42,7 @@ SceneReader::SceneReader() ObjectFactory::getInstance()->registerType(CREATE_CLASS_COMPONENT_INFO(ComAttribute)); ObjectFactory::getInstance()->registerType(CREATE_CLASS_COMPONENT_INFO(ComRender)); ObjectFactory::getInstance()->registerType(CREATE_CLASS_COMPONENT_INFO(ComAudio)); - ObjectFactory::getInstance()->registerType(CREATE_CLASS_COMPONENT_INFO(ComController)); + ObjectFactory::getInstance()->registerType(CREATE_CLASS_COMPONENT_INFO(ComController)); } SceneReader::~SceneReader() @@ -57,13 +57,13 @@ const char* SceneReader::sceneReaderVersion() cocos2d::Node* SceneReader::createNodeWithSceneFile(const std::string &fileName, AttachComponentType attachComponent /*= AttachComponentType::EMPTY_NODE*/) { std::string reDir = fileName; - std::string file_extension = ""; - size_t pos = reDir.find_last_of('.'); - if (pos != std::string::npos) - { - file_extension = reDir.substr(pos, reDir.length()); - std::transform(file_extension.begin(),file_extension.end(), file_extension.begin(), (int(*)(int))toupper); - } + std::string file_extension = ""; + size_t pos = reDir.find_last_of('.'); + if (pos != std::string::npos) + { + file_extension = reDir.substr(pos, reDir.length()); + std::transform(file_extension.begin(),file_extension.end(), file_extension.begin(), (int(*)(int))toupper); + } if (file_extension == ".JSON") { _node = nullptr; @@ -78,7 +78,7 @@ cocos2d::Node* SceneReader::createNodeWithSceneFile(const std::string &fileName, } else if(file_extension == ".CSB") { - do { + do { std::string binaryFilePath = CCFileUtils::getInstance()->fullPathForFilename(fileName); auto fileData = FileUtils::getInstance()->getDataFromFile(binaryFilePath); auto fileDataBytes = fileData.getBytes(); @@ -86,90 +86,90 @@ cocos2d::Node* SceneReader::createNodeWithSceneFile(const std::string &fileName, CocoLoader tCocoLoader; if (tCocoLoader.ReadCocoBinBuff((char*)fileDataBytes)) { - stExpCocoNode *tpRootCocoNode = tCocoLoader.GetRootCocoNode(); - rapidjson::Type tType = tpRootCocoNode->GetType(&tCocoLoader); - if (rapidjson::kObjectType == tType) - { - stExpCocoNode *tpChildArray = tpRootCocoNode->GetChildArray(&tCocoLoader); - CC_BREAK_IF(tpRootCocoNode->GetChildNum() == 0); - _node = Node::create(); - int nCount = 0; - std::vector _vecComs; - ComRender *pRender = nullptr; - std::string key = tpChildArray[15].GetName(&tCocoLoader); - if (key == "components") - { - nCount = tpChildArray[15].GetChildNum(); - } - stExpCocoNode *pComponents = tpChildArray[15].GetChildArray(&tCocoLoader); - SerData *data = new (std::nothrow) SerData(); - for (int i = 0; i < nCount; i++) - { - stExpCocoNode *subDict = pComponents[i].GetChildArray(&tCocoLoader); - if (subDict == nullptr) - { - continue; - } - std::string key1 = subDict[1].GetName(&tCocoLoader); - const char *comName = subDict[1].GetValue(&tCocoLoader); - Component *pCom = nullptr; - if (key1 == "classname" && comName != nullptr) - { - pCom = createComponent(comName); - } - CCLOG("classname = %s", comName); - if (pCom != nullptr) - { - data->_rData = nullptr; - data->_cocoNode = subDict; + stExpCocoNode *tpRootCocoNode = tCocoLoader.GetRootCocoNode(); + rapidjson::Type tType = tpRootCocoNode->GetType(&tCocoLoader); + if (rapidjson::kObjectType == tType) + { + stExpCocoNode *tpChildArray = tpRootCocoNode->GetChildArray(&tCocoLoader); + CC_BREAK_IF(tpRootCocoNode->GetChildNum() == 0); + _node = Node::create(); + int nCount = 0; + std::vector _vecComs; + ComRender *pRender = nullptr; + std::string key = tpChildArray[15].GetName(&tCocoLoader); + if (key == "components") + { + nCount = tpChildArray[15].GetChildNum(); + } + stExpCocoNode *pComponents = tpChildArray[15].GetChildArray(&tCocoLoader); + SerData *data = new (std::nothrow) SerData(); + for (int i = 0; i < nCount; i++) + { + stExpCocoNode *subDict = pComponents[i].GetChildArray(&tCocoLoader); + if (subDict == nullptr) + { + continue; + } + std::string key1 = subDict[1].GetName(&tCocoLoader); + const char *comName = subDict[1].GetValue(&tCocoLoader); + Component *pCom = nullptr; + if (key1 == "classname" && comName != nullptr) + { + pCom = createComponent(comName); + } + CCLOG("classname = %s", comName); + if (pCom != nullptr) + { + data->_rData = nullptr; + data->_cocoNode = subDict; data->_cocoLoader = &tCocoLoader; - if (pCom->serialize(data)) - { - ComRender *pTRender = dynamic_cast(pCom); - if (pTRender != nullptr) - { - pRender = pTRender; - } - else - { - _vecComs.push_back(pCom); - } - } - else - { - CC_SAFE_RELEASE_NULL(pCom); - } - } + if (pCom->serialize(data)) + { + ComRender *pTRender = dynamic_cast(pCom); + if (pTRender != nullptr) + { + pRender = pTRender; + } + else + { + _vecComs.push_back(pCom); + } + } + else + { + CC_SAFE_RELEASE_NULL(pCom); + } + } if(_fnSelector != nullptr) { _fnSelector(pCom, (void*)(data)); } - } + } - setPropertyFromJsonDict(&tCocoLoader, tpRootCocoNode, _node); - for (std::vector::iterator iter = _vecComs.begin(); iter != _vecComs.end(); ++iter) - { - _node->addComponent(*iter); - } + setPropertyFromJsonDict(&tCocoLoader, tpRootCocoNode, _node); + for (std::vector::iterator iter = _vecComs.begin(); iter != _vecComs.end(); ++iter) + { + _node->addComponent(*iter); + } - stExpCocoNode *pGameObjects = tpChildArray[11].GetChildArray(&tCocoLoader); - int length = tpChildArray[11].GetChildNum(); - for (int i = 0; i < length; ++i) - { - createObject(&tCocoLoader, &pGameObjects[i], _node, attachComponent); - } - TriggerMng::getInstance()->parse(&tCocoLoader, tpChildArray); - } - - } - }while (0); - return _node; + stExpCocoNode *pGameObjects = tpChildArray[11].GetChildArray(&tCocoLoader); + int length = tpChildArray[11].GetChildNum(); + for (int i = 0; i < length; ++i) + { + createObject(&tCocoLoader, &pGameObjects[i], _node, attachComponent); + } + TriggerMng::getInstance()->parse(&tCocoLoader, tpChildArray); + } + + } + }while (0); + return _node; } else - { - log("read file [%s] error!\n", fileName.c_str()); - } - return nullptr; + { + log("read file [%s] error!\n", fileName.c_str()); + } + return nullptr; } bool SceneReader::readJson(const std::string &fileName, rapidjson::Document &doc) @@ -282,7 +282,7 @@ Node* SceneReader::createObject(const rapidjson::Value &dict, cocos2d::Node* par if (com != nullptr) { data->_rData = &subDict; - data->_cocoNode = nullptr; + data->_cocoNode = nullptr; data->_cocoLoader = nullptr; if (com->serialize(data)) { @@ -531,7 +531,7 @@ void SceneReader::setPropertyFromJsonDict(CocoLoader *cocoLoader, stExpCocoNode } else if (key == "visible") { - bVisible = (bool)atoi(value.c_str()); + bVisible = atoi(value.c_str()) != 0; node->setVisible(bVisible); } else if (key == "objecttag") From 0696041ea93494561376debcb03ee21537a13562 Mon Sep 17 00:00:00 2001 From: yangxiao Date: Sat, 25 Oct 2014 12:27:03 +0800 Subject: [PATCH 02/48] add getMeshArrayByName method --- cocos/3d/CCSprite3D.cpp | 12 +++++++++++- cocos/3d/CCSprite3D.h | 7 +++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/cocos/3d/CCSprite3D.cpp b/cocos/3d/CCSprite3D.cpp index a498d9b03e..66a0f0d216 100644 --- a/cocos/3d/CCSprite3D.cpp +++ b/cocos/3d/CCSprite3D.cpp @@ -684,7 +684,7 @@ Mesh* Sprite3D::getMeshByIndex(int index) const return _meshes.at(index); } -/**get SubMeshState by Name */ +/**get Mesh by Name */ Mesh* Sprite3D::getMeshByName(const std::string& name) const { for (const auto& it : _meshes) { @@ -694,6 +694,16 @@ Mesh* Sprite3D::getMeshByName(const std::string& name) const return nullptr; } +std::vector Sprite3D::getMeshArrayByName(const std::string& name) const +{ + std::vector meshes; + for (const auto& it : _meshes) { + if (it->getName() == name) + meshes.push_back(it); + } + return meshes; +} + MeshSkin* Sprite3D::getSkin() const { for (const auto& it : _meshes) { diff --git a/cocos/3d/CCSprite3D.h b/cocos/3d/CCSprite3D.h index 3b08d9bf9e..daeb83c688 100644 --- a/cocos/3d/CCSprite3D.h +++ b/cocos/3d/CCSprite3D.h @@ -60,11 +60,14 @@ public: void setTexture(const std::string& texFile); void setTexture(Texture2D* texture); - /**get SubMeshState by index*/ + /**get Mesh by index*/ Mesh* getMeshByIndex(int index) const; - /**get SubMeshState by Name */ + /**get Mesh by Name, it returns the first one if there are more than one mesh with the same name */ Mesh* getMeshByName(const std::string& name) const; + + /** get mesh array by name, returns all meshes with the given name */ + std::vector getMeshArrayByName(const std::string& name) const; /**get mesh*/ Mesh* getMesh() const { return _meshes.at(0); } From 20decd5a3930a93302372b9d5cdac5dad2bc217c Mon Sep 17 00:00:00 2001 From: yangxiao Date: Sat, 25 Oct 2014 14:11:32 +0800 Subject: [PATCH 03/48] refact reskin code --- .../Classes/Sprite3DTest/Sprite3DTest.cpp | 195 +++++------------- .../Classes/Sprite3DTest/Sprite3DTest.h | 21 +- 2 files changed, 70 insertions(+), 146 deletions(-) diff --git a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp index 8e79b5b1f3..0d6c0ca196 100644 --- a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp +++ b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp @@ -1027,124 +1027,50 @@ Sprite3DReskinTest::Sprite3DReskinTest() } void Sprite3DReskinTest::menuCallback_switchHair(Ref* sender) { - _useHairId++; - if(_useHairId > 1 ) - { - _useHairId = 0; - } - if(_useHairId >= 0 && _sprite) - { - for(int i = 0; i < 2; i++ ) - { - auto subMesh = _sprite->getMeshByName(_girlHair[i]); - if(subMesh) - { - if(i == _useHairId ) - { - subMesh->setVisible(true); - } - else - { - subMesh->setVisible(false); - } - } - } - } + std::string str = _curSkin[SkinType::HAIR]; + if (str == "Girl_Hair01") + _curSkin[SkinType::HAIR] = "Girl_Hair02"; + else + _curSkin[SkinType::HAIR] = "Girl_Hair01"; + applyCurSkin(); } void Sprite3DReskinTest::menuCallback_switchGlasses(Ref* sender) { - auto subMesh = _sprite->getMeshByName("Girl_Glasses01"); - if(subMesh) - { - if(subMesh->isVisible()) - { - subMesh->setVisible(false); - } - else - { - subMesh->setVisible(true); - } - } + std::string str = _curSkin[SkinType::GLASSES]; + if (str == "Girl_Glasses01") + _curSkin[SkinType::GLASSES] = ""; + else + _curSkin[SkinType::GLASSES] = "Girl_Glasses01"; + applyCurSkin(); } void Sprite3DReskinTest::menuCallback_switchCoat(Ref* sender) { - _useUpBodyId++; - if(_useUpBodyId > 1 ) - { - _useUpBodyId = 0; - } - if(_useUpBodyId >= 0 && _sprite) - { - for(int i = 0; i < 2; i++ ) - { - auto subMesh = _sprite->getMeshByName(_girlUpperBody[i]); - if(subMesh) - { - if(i == _useUpBodyId ) - { - subMesh->setVisible(true); - } - else - { - subMesh->setVisible(false); - } - } - } - } + std::string str = _curSkin[SkinType::UPPER_BODY]; + if (str == "Girl_UpperBody01") + _curSkin[SkinType::UPPER_BODY] = "Girl_UpperBody02"; + else + _curSkin[SkinType::UPPER_BODY] = "Girl_UpperBody01"; + applyCurSkin(); } void Sprite3DReskinTest::menuCallback_switchPants(Ref* sender) { - _usePantsId++; - if(_usePantsId > 1 ) - { - _usePantsId = 0; - } - if(_usePantsId >= 0 && _sprite) - { - for(int i = 0; i < 2; i++ ) - { - auto subMesh = _sprite->getMeshByName(_girlPants[i]); - if(subMesh) - { - if(i == _usePantsId ) - { - subMesh->setVisible(true); - } - else - { - subMesh->setVisible(false); - } - } - } - } + std::string str = _curSkin[SkinType::PANTS]; + if (str == "Girl_LowerBody01") + _curSkin[SkinType::PANTS] = "Girl_LowerBody02"; + else + _curSkin[SkinType::PANTS] = "Girl_LowerBody01"; + applyCurSkin(); } void Sprite3DReskinTest::menuCallback_switchShoes(Ref* sender) { - _useShoesId++; - if(_useShoesId > 1 ) - { - _useShoesId = 0; - } - if(_useShoesId >= 0 && _sprite) - { - for(int i = 0; i < 2; i++ ) - { - auto subMesh = _sprite->getMeshByName(_girlShoes[i]); - if(subMesh) - { - if(i == _useShoesId ) - { - subMesh->setVisible(true); - } - else - { - subMesh->setVisible(false); - } - } - } - } - + std::string strShoes = _curSkin[SkinType::SHOES]; + if (strShoes == "Girl_Shoes01") + _curSkin[SkinType::SHOES] = "Girl_Shoes02"; + else + _curSkin[SkinType::SHOES] = "Girl_Shoes01"; + applyCurSkin(); } + std::string Sprite3DReskinTest::title() const { return "Testing Sprite3D Reskin"; @@ -1156,43 +1082,10 @@ std::string Sprite3DReskinTest::subtitle() const void Sprite3DReskinTest::addNewSpriteWithCoords(Vec2 p) { - _girlPants[0]= "Girl_LowerBody01"; - _girlPants[1]= "Girl_LowerBody02"; - _girlUpperBody[0] = "Girl_UpperBody01"; - _girlUpperBody[1] = "Girl_UpperBody02"; - _girlShoes[0] = "Girl_Shoes01"; - _girlShoes[1] = "Girl_Shoes02"; - _girlHair[0]= "Girl_Hair01"; - _girlHair[1]= "Girl_Hair02"; - _usePantsId = 0; - _useUpBodyId = 0; - _useShoesId =0; - _useHairId = 0; - std::string fileName = "Sprite3DTest/ReskinGirl.c3b"; auto sprite = Sprite3D::create(fileName); sprite->setScale(4); sprite->setRotation3D(Vec3(0,0,0)); - auto girlPants = sprite->getMeshByName(_girlPants[1]); - if(girlPants) - { - girlPants->setVisible(false); - } - auto girlShoes = sprite->getMeshByName(_girlShoes[1]); - if(girlShoes) - { - girlShoes->setVisible(false); - } - auto girlHair = sprite->getMeshByName(_girlHair[1]); - if(girlHair) - { - girlHair->setVisible(false); - } - auto girlUpBody = sprite->getMeshByName( _girlUpperBody[1]); - if(girlUpBody) - { - girlUpBody->setVisible(false); - } addChild(sprite); sprite->setPosition( Vec2( p.x, p.y-60) ); auto animation = Animation3D::create(fileName); @@ -1203,11 +1096,37 @@ void Sprite3DReskinTest::addNewSpriteWithCoords(Vec2 p) sprite->runAction(RepeatForever::create(animate)); } _sprite = sprite; + + _curSkin[SkinType::UPPER_BODY] = "Girl_UpperBody01"; + _curSkin[SkinType::PANTS] = "Girl_LowerBody01"; + _curSkin[SkinType::SHOES] = "Girl_Shoes01"; + _curSkin[SkinType::HAIR] = "Girl_Hair01"; + _curSkin[SkinType::FACE] = "Girl_Face01"; + _curSkin[SkinType::HAND] = "Girl_Hand01"; + _curSkin[SkinType::GLASSES] = ""; + applyCurSkin(); } void Sprite3DReskinTest::onTouchesEnded(const std::vector& touches, Event* event) { } + +void Sprite3DReskinTest::applyCurSkin() +{ + for (ssize_t i = 0; i < _sprite->getMeshCount(); i++) { + auto mesh = _sprite->getMeshByIndex(i); + bool isVisible = false; + for (auto& it : _curSkin) { + if (mesh->getName() == it.second) + { + isVisible = true; + break; + } + } + _sprite->getMeshByIndex(i)->setVisible(isVisible); + } +} + Sprite3DWithOBBPerfromanceTest::Sprite3DWithOBBPerfromanceTest() { auto listener = EventListenerTouchAllAtOnce::create(); diff --git a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.h b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.h index 6fdd53c592..721d1ee105 100644 --- a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.h +++ b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.h @@ -261,14 +261,19 @@ public: void menuCallback_switchPants(Ref* sender); void menuCallback_switchShoes(Ref* sender); protected: - std::string _girlPants[2]; - int _usePantsId; - std::string _girlUpperBody[2]; - int _useUpBodyId; - std::string _girlShoes[2]; - int _useShoesId; - std::string _girlHair[2]; - int _useHairId; + void applyCurSkin(); + + enum class SkinType + { + UPPER_BODY = 0, + PANTS, + SHOES, + HAIR, + FACE, + HAND, + GLASSES, + }; + std::map _curSkin; cocos2d::Sprite3D* _sprite; }; class Sprite3DWithOBBPerfromanceTest : public Sprite3DTestDemo From 7656ff2f0e56a8f43a0063e1fb4a3f982851ad1b Mon Sep 17 00:00:00 2001 From: yangxiao Date: Mon, 27 Oct 2014 13:59:40 +0800 Subject: [PATCH 04/48] fix wrong vertex buffer size --- cocos/3d/CCMeshVertexIndexData.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/cocos/3d/CCMeshVertexIndexData.cpp b/cocos/3d/CCMeshVertexIndexData.cpp index 513805ccb2..00822071ca 100644 --- a/cocos/3d/CCMeshVertexIndexData.cpp +++ b/cocos/3d/CCMeshVertexIndexData.cpp @@ -94,15 +94,12 @@ MeshVertexData* MeshVertexData::create(const MeshData& meshdata) vertexdata->_vertexData->setStream(vertexdata->_vertexBuffer, VertexStreamAttribute(offset, it.vertexAttrib, it.type, it.size)); offset += it.attribSizeBytes; } - vertexdata->_vertexData->setStream(vertexdata->_vertexBuffer, VertexStreamAttribute(0, GLProgram::VERTEX_ATTRIB_POSITION, GL_FLOAT, 3)); - vertexdata->_vertexData->setStream(vertexdata->_vertexBuffer, VertexStreamAttribute(offsetof(V3F_C4B_T2F, colors), GLProgram::VERTEX_ATTRIB_COLOR, GL_UNSIGNED_BYTE, 4, true)); - vertexdata->_vertexData->setStream(vertexdata->_vertexBuffer, VertexStreamAttribute(offsetof(V3F_C4B_T2F, texCoords), GLProgram::VERTEX_ATTRIB_TEX_COORD, GL_FLOAT, 2)); vertexdata->_attribs = meshdata.attribs; if(vertexdata->_vertexBuffer) { - vertexdata->_vertexBuffer->updateVertices((void*)&meshdata.vertex[0], (int)meshdata.vertex.size() * 4, 0); + vertexdata->_vertexBuffer->updateVertices((void*)&meshdata.vertex[0], (int)meshdata.vertex.size() * 4 / vertexdata->_vertexBuffer->getSizePerVertex(), 0); } AABB aabb; From 3f79d67f01b315e1bb13412faec12ae7b0e8fb5b Mon Sep 17 00:00:00 2001 From: andyque Date: Wed, 29 Oct 2014 10:33:31 +0800 Subject: [PATCH 05/48] modify changelog --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index 9c975708c0..0e8c4e4e99 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -6,6 +6,7 @@ cocos2d-x-3.3 ?? [FIX] GLProgramState: enabled GLProgramState restoring on render recreated on WP8 [FIX] Label: label shifting when outline feature enabled [FIX] Label: when applying additionalKerning to a Label that displays a string with only 1 character, the character is shifted + [FIX] Button: when the dimension of button title is larger than the button, button will scale to fit the dimension of the button title [FIX] Sprite3D: did not create attached sprite from cache [FIX] WP/WinRT: Windows 8.1 universal app support; `UIEditBox` support From 4d74e7f19f8d356d5e1d1b3c053f6863de59035b Mon Sep 17 00:00:00 2001 From: yangxiao Date: Wed, 29 Oct 2014 10:38:13 +0800 Subject: [PATCH 06/48] skip getMeshArrayByName --- tools/tolua/cocos2dx_3d.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/tolua/cocos2dx_3d.ini b/tools/tolua/cocos2dx_3d.ini index 0e779cf550..f33c10f38d 100644 --- a/tools/tolua/cocos2dx_3d.ini +++ b/tools/tolua/cocos2dx_3d.ini @@ -36,7 +36,7 @@ classes = Animate3D Sprite3D Animation3D Skeleton3D ^Mesh$ AttachNode BillBoard # functions from all classes. skip = Mesh::[create getAABB getVertexBuffer hasVertexAttrib getMeshVertexAttribCount getMeshVertexAttribute getVertexSizeInBytes getSkin getMeshIndexData getGLProgramState getPrimitiveType getIndexCount getIndexFormat getIndexBuffer], - Sprite3D::[getSkin getAABB setBlendFunc], + Sprite3D::[getSkin getAABB setBlendFunc getMeshArrayByName], Skeleton3D::[create], Animation3D::[getBoneCurveByName], BillBoard::[draw] From 97c076337a9e0fb88a296a19e4d854d4c5ce991d Mon Sep 17 00:00:00 2001 From: kaylyun Date: Thu, 30 Oct 2014 10:21:19 +0800 Subject: [PATCH 07/48] BUGFIX:SOMETIMES APP DIRECTLY AT THE STARTUP Sometimes app directly at the startup on android platform. --- .../jni/Java_org_cocos2dx_lib_Cocos2dxRenderer.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/cocos/platform/android/jni/Java_org_cocos2dx_lib_Cocos2dxRenderer.cpp b/cocos/platform/android/jni/Java_org_cocos2dx_lib_Cocos2dxRenderer.cpp index c413cc8a12..b442f9df7d 100644 --- a/cocos/platform/android/jni/Java_org_cocos2dx_lib_Cocos2dxRenderer.cpp +++ b/cocos/platform/android/jni/Java_org_cocos2dx_lib_Cocos2dxRenderer.cpp @@ -17,9 +17,11 @@ extern "C" { } JNIEXPORT void JNICALL Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeOnPause() { - Application::getInstance()->applicationDidEnterBackground(); - cocos2d::EventCustom backgroundEvent(EVENT_COME_TO_BACKGROUND); - cocos2d::Director::getInstance()->getEventDispatcher()->dispatchEvent(&backgroundEvent); + if (Director::getInstance()->getOpenGLView()) { + Application::getInstance()->applicationDidEnterBackground(); + cocos2d::EventCustom backgroundEvent(EVENT_COME_TO_BACKGROUND); + cocos2d::Director::getInstance()->getEventDispatcher()->dispatchEvent(&backgroundEvent); + } } JNIEXPORT void JNICALL Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeOnResume() { From 2ed51e042d74cc735dbf811c6cd9bcbfd0ee0371 Mon Sep 17 00:00:00 2001 From: pipu Date: Thu, 30 Oct 2014 18:00:03 +0800 Subject: [PATCH 08/48] Modify that parsing attribute "fontName" of TextReader --- .../cocostudio/WidgetReader/TextReader/TextReader.cpp | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/cocos/editor-support/cocostudio/WidgetReader/TextReader/TextReader.cpp b/cocos/editor-support/cocostudio/WidgetReader/TextReader/TextReader.cpp index 2e2fa468d0..0c08af624a 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/TextReader/TextReader.cpp +++ b/cocos/editor-support/cocostudio/WidgetReader/TextReader/TextReader.cpp @@ -163,15 +163,7 @@ namespace cocostudio label->setFontSize(fontSize); std::string fontName = options.has_fontname() ? options.fontname() : "微软雅黑"; - - std::string fontFilePath = protocolBuffersPath.append(fontName); - if (FileUtils::getInstance()->isFileExist(fontFilePath)) - { - label->setFontName(fontFilePath); - } - else{ - label->setFontName(fontName); - } + label->setFontName(fontName); bool aw = options.has_areawidth(); bool ah = options.has_areaheight(); From 2835b094da6bb1b7ce366fcc9066f1abd01c2e27 Mon Sep 17 00:00:00 2001 From: Vladimir Timofeev Date: Thu, 30 Oct 2014 17:25:46 +0300 Subject: [PATCH 09/48] Cleanup order of fields initialization. Make initialization order to match declarations. This change twice reduces number of warnings when compiling on MacOS X with Xcode 6.1 Warnings was like "Field 'XXXX' will be initialized after field 'YYYY'" --- cocos/2d/CCCamera.cpp | 4 +-- cocos/2d/CCDrawNode.cpp | 12 ++++---- cocos/2d/CCFastTMXLayer.cpp | 4 +-- cocos/2d/CCFontFreeType.cpp | 6 ++-- cocos/2d/CCLabel.cpp | 28 +++++++++---------- cocos/2d/CCLight.cpp | 2 +- cocos/2d/CCNode.cpp | 12 ++++---- cocos/2d/CCRenderTexture.cpp | 10 +++---- cocos/2d/CCSprite.cpp | 4 +-- cocos/2d/CCTextFieldTTF.cpp | 2 +- cocos/3d/CCAnimate3D.cpp | 6 ++-- cocos/3d/CCAnimationCurve.inl | 4 +-- cocos/3d/CCBundle3D.cpp | 6 ++-- cocos/3d/CCBundle3DData.h | 4 +-- cocos/3d/CCMesh.cpp | 8 +++--- cocos/3d/CCMeshSkin.cpp | 2 +- cocos/base/CCEventController.cpp | 4 +-- cocos/base/CCEventFocus.cpp | 4 +-- .../cocosbuilder/CCBKeyframe.cpp | 4 +-- .../cocostudio/WidgetReader/WidgetReader.cpp | 8 +++--- cocos/network/WebSocket.cpp | 6 ++-- cocos/renderer/CCGLProgramState.cpp | 22 +++++++-------- cocos/renderer/CCMeshCommand.cpp | 10 +++---- cocos/renderer/CCVertexIndexBuffer.cpp | 6 ++-- cocos/renderer/CCVertexIndexData.h | 6 ++-- cocos/ui/UIButton.cpp | 2 +- cocos/ui/UIEditBox/UIEditBox.cpp | 2 +- cocos/ui/UILayout.cpp | 16 +++++------ cocos/ui/UILayoutComponent.cpp | 8 +++--- cocos/ui/UIListView.cpp | 4 +-- cocos/ui/UIPageView.cpp | 14 +++++----- cocos/ui/UIScale9Sprite.cpp | 2 +- cocos/ui/UISlider.cpp | 4 +-- cocos/ui/UIWidget.cpp | 22 +++++++-------- extensions/GUI/CCScrollView/CCScrollView.cpp | 2 +- extensions/assets-manager/AssetsManagerEx.cpp | 14 +++++----- .../assets-manager/CCEventAssetsManagerEx.cpp | 6 ++-- extensions/assets-manager/Downloader.cpp | 4 +-- 38 files changed, 142 insertions(+), 142 deletions(-) diff --git a/cocos/2d/CCCamera.cpp b/cocos/2d/CCCamera.cpp index 27dd0284db..e6f07605a4 100644 --- a/cocos/2d/CCCamera.cpp +++ b/cocos/2d/CCCamera.cpp @@ -66,9 +66,9 @@ Camera* Camera::createOrthographic(float zoomX, float zoomY, float nearPlane, fl } Camera::Camera() -: _cameraFlag(1) -, _scene(nullptr) +: _scene(nullptr) , _viewProjectionDirty(true) +, _cameraFlag(1) { } diff --git a/cocos/2d/CCDrawNode.cpp b/cocos/2d/CCDrawNode.cpp index 3edbe0bbac..894927f5ae 100644 --- a/cocos/2d/CCDrawNode.cpp +++ b/cocos/2d/CCDrawNode.cpp @@ -106,23 +106,23 @@ static inline Tex2F __t(const Vec2 &v) DrawNode::DrawNode() : _vao(0) , _vbo(0) +, _vaoGLPoint(0) +, _vboGLPoint(0) +, _vaoGLLine(0) +, _vboGLLine(0) , _bufferCapacity(0) , _bufferCount(0) , _buffer(nullptr) -, _dirty(false) -, _vaoGLPoint(0) -, _vboGLPoint(0) , _bufferCapacityGLPoint(0) , _bufferCountGLPoint(0) , _bufferGLPoint(nullptr) , _pointColor(1,1,1,1) , _pointSize(1) -, _dirtyGLPoint(false) -, _vaoGLLine(0) -, _vboGLLine(0) , _bufferCapacityGLLine(0) , _bufferCountGLLine(0) , _bufferGLLine(nullptr) +, _dirty(false) +, _dirtyGLPoint(false) , _dirtyGLLine(false) { _blendFunc = BlendFunc::ALPHA_PREMULTIPLIED; diff --git a/cocos/2d/CCFastTMXLayer.cpp b/cocos/2d/CCFastTMXLayer.cpp index fc4d7dc29b..ad84ecac3f 100644 --- a/cocos/2d/CCFastTMXLayer.cpp +++ b/cocos/2d/CCFastTMXLayer.cpp @@ -113,11 +113,11 @@ TMXLayer::TMXLayer() , _tiles(nullptr) , _tileSet(nullptr) , _layerOrientation(FAST_TMX_ORIENTATION_ORTHO) -,_texture(nullptr) +, _texture(nullptr) , _vertexZvalue(0) , _useAutomaticVertexZ(false) -, _dirty(true) , _quadsDirty(true) +, _dirty(true) , _vertexBuffer(nullptr) , _vData(nullptr) , _indexBuffer(nullptr) diff --git a/cocos/2d/CCFontFreeType.cpp b/cocos/2d/CCFontFreeType.cpp index 1ee2c1aebc..446c24f0d3 100644 --- a/cocos/2d/CCFontFreeType.cpp +++ b/cocos/2d/CCFontFreeType.cpp @@ -94,9 +94,9 @@ FT_Library FontFreeType::getFTLibrary() FontFreeType::FontFreeType(bool distanceFieldEnabled /* = false */,int outline /* = 0 */) : _fontRef(nullptr) -,_distanceFieldEnabled(distanceFieldEnabled) -,_outlineSize(0.0f) -,_stroker(nullptr) +, _stroker(nullptr) +, _distanceFieldEnabled(distanceFieldEnabled) +, _outlineSize(0.0f) { if (outline > 0) { diff --git a/cocos/2d/CCLabel.cpp b/cocos/2d/CCLabel.cpp index 79ec70dfca..098142f03d 100644 --- a/cocos/2d/CCLabel.cpp +++ b/cocos/2d/CCLabel.cpp @@ -235,30 +235,30 @@ bool Label::setCharMap(const std::string& charMapFile, int itemWidth, int itemHe Label::Label(FontAtlas *atlas /* = nullptr */, TextHAlignment hAlignment /* = TextHAlignment::LEFT */, TextVAlignment vAlignment /* = TextVAlignment::TOP */,bool useDistanceField /* = false */,bool useA8Shader /* = false */) -: _reusedLetter(nullptr) -, _commonLineHeight(0.0f) +: _isOpacityModifyRGB(false) +, _contentDirty(false) +, _fontAtlas(atlas) +, _textSprite(nullptr) +, _compatibleMode(false) +, _reusedLetter(nullptr) , _additionalKerning(0.0f) +, _commonLineHeight(0.0f) , _lineBreakWithoutSpaces(false) +, _horizontalKernings(nullptr) , _maxLineWidth(0) +, _labelDimensions(Size::ZERO) , _labelWidth(0) , _labelHeight(0) -, _labelDimensions(Size::ZERO) , _hAlignment(hAlignment) , _vAlignment(vAlignment) -, _horizontalKernings(nullptr) -, _fontAtlas(atlas) -, _isOpacityModifyRGB(false) +, _currNumLines(-1) +, _fontScale(1.0f) , _useDistanceField(useDistanceField) , _useA8Shader(useA8Shader) -, _fontScale(1.0f) -, _uniformEffectColor(0) -, _currNumLines(-1) -, _textSprite(nullptr) -, _contentDirty(false) -, _shadowDirty(false) -, _compatibleMode(false) -, _insideBounds(true) , _effectColorF(Color4F::BLACK) +, _uniformEffectColor(0) +, _shadowDirty(false) +, _insideBounds(true) { setAnchorPoint(Vec2::ANCHOR_MIDDLE); reset(); diff --git a/cocos/2d/CCLight.cpp b/cocos/2d/CCLight.cpp index 30c98b37a4..45777ff5bc 100644 --- a/cocos/2d/CCLight.cpp +++ b/cocos/2d/CCLight.cpp @@ -44,8 +44,8 @@ void BaseLight::setRotationFromDirection( const Vec3 &direction ) BaseLight::BaseLight() : _intensity(1.0f) -, _enabled(true) , _lightFlag(LightFlag::LIGHT0) +, _enabled(true) { } diff --git a/cocos/2d/CCNode.cpp b/cocos/2d/CCNode.cpp index 2a0d78965e..27597bb248 100644 --- a/cocos/2d/CCNode.cpp +++ b/cocos/2d/CCNode.cpp @@ -82,16 +82,18 @@ Node::Node(void) , _scaleX(1.0f) , _scaleY(1.0f) , _scaleZ(1.0f) -, _positionZ(0.0f) , _position(Vec2::ZERO) +, _positionZ(0.0f) +, _usingNormalizedPosition(false) +, _normalizedPositionDirty(false) , _skewX(0.0f) , _skewY(0.0f) , _anchorPointInPoints(Vec2::ZERO) , _anchorPoint(Vec2::ZERO) , _contentSize(Size::ZERO) -, _useAdditionalTransform(false) , _transformDirty(true) , _inverseDirty(true) +, _useAdditionalTransform(false) , _transformUpdated(true) // children (lazy allocs) // lazy alloc @@ -100,6 +102,8 @@ Node::Node(void) , _parent(nullptr) // "whole screen" objects. like Scenes and Layers, should set _ignoreAnchorPointForPosition to true , _tag(Node::INVALID_TAG) +, _name("") +, _hashOfName(0) // userData is always inited as nil , _userData(nullptr) , _userObject(nullptr) @@ -125,10 +129,6 @@ Node::Node(void) , _realColor(Color3B::WHITE) , _cascadeColorEnabled(false) , _cascadeOpacityEnabled(false) -, _usingNormalizedPosition(false) -, _normalizedPositionDirty(false) -, _name("") -, _hashOfName(0) , _cameraMask(1) { // set default scheduler and actionManager diff --git a/cocos/2d/CCRenderTexture.cpp b/cocos/2d/CCRenderTexture.cpp index 201cf0cfc1..5285506af6 100644 --- a/cocos/2d/CCRenderTexture.cpp +++ b/cocos/2d/CCRenderTexture.cpp @@ -40,7 +40,11 @@ NS_CC_BEGIN // implementation RenderTexture RenderTexture::RenderTexture() -: _FBO(0) +: _keepMatrix(false) +, _rtTextureRect(Rect::ZERO) +, _fullRect(Rect::ZERO) +, _fullviewPort(Rect::ZERO) +, _FBO(0) , _depthRenderBufffer(0) , _oldFBO(0) , _texture(0) @@ -53,10 +57,6 @@ RenderTexture::RenderTexture() , _clearStencil(0) , _autoDraw(false) , _sprite(nullptr) -, _keepMatrix(false) -, _rtTextureRect(Rect::ZERO) -, _fullRect(Rect::ZERO) -, _fullviewPort(Rect::ZERO) , _saveFileCallback(nullptr) { #if CC_ENABLE_CACHE_TEXTURE_DATA diff --git a/cocos/2d/CCSprite.cpp b/cocos/2d/CCSprite.cpp index 3deb8978ed..564acd98ef 100644 --- a/cocos/2d/CCSprite.cpp +++ b/cocos/2d/CCSprite.cpp @@ -259,10 +259,10 @@ bool Sprite::initWithTexture(Texture2D *texture, const Rect& rect, bool rotated) } Sprite::Sprite(void) -: _shouldBeHidden(false) +: _batchNode(nullptr) +, _shouldBeHidden(false) , _texture(nullptr) , _insideBounds(true) -, _batchNode(nullptr) { #if CC_SPRITE_DEBUG_DRAW _debugDrawNode = DrawNode::create(); diff --git a/cocos/2d/CCTextFieldTTF.cpp b/cocos/2d/CCTextFieldTTF.cpp index 591d62fb20..1e971665f9 100644 --- a/cocos/2d/CCTextFieldTTF.cpp +++ b/cocos/2d/CCTextFieldTTF.cpp @@ -55,8 +55,8 @@ TextFieldTTF::TextFieldTTF() , _charCount(0) , _inputText("") , _placeHolder("") // prevent Label initWithString assertion -, _secureTextEntry(false) , _colorText(Color4B::WHITE) +, _secureTextEntry(false) { _colorSpaceHolder.r = _colorSpaceHolder.g = _colorSpaceHolder.b = 127; _colorSpaceHolder.a = 255; diff --git a/cocos/3d/CCAnimate3D.cpp b/cocos/3d/CCAnimate3D.cpp index b89805c4dd..0fc5d5b8a4 100644 --- a/cocos/3d/CCAnimate3D.cpp +++ b/cocos/3d/CCAnimate3D.cpp @@ -247,13 +247,13 @@ void Animate3D::setWeight(float weight) } Animate3D::Animate3D() -: _absSpeed(1.f) +: _state(Animate3D::Animate3DState::Running) +, _animation(nullptr) +, _absSpeed(1.f) , _weight(1.f) , _start(0.f) , _last(1.f) -, _animation(nullptr) , _playReverse(false) -, _state(Animate3D::Animate3DState::Running) , _accTransTime(0.0f) , _lastTime(0.0f) { diff --git a/cocos/3d/CCAnimationCurve.inl b/cocos/3d/CCAnimationCurve.inl index ac2207bf9b..41380f8c89 100644 --- a/cocos/3d/CCAnimationCurve.inl +++ b/cocos/3d/CCAnimationCurve.inl @@ -103,8 +103,8 @@ float AnimationCurve::getEndTime() const template AnimationCurve::AnimationCurve() -: _keytime(nullptr) -, _value(nullptr) +: _value(nullptr) +, _keytime(nullptr) , _count(0) , _componentSizeByte(0) , _evaluateFun(nullptr) diff --git a/cocos/3d/CCBundle3D.cpp b/cocos/3d/CCBundle3D.cpp index a80eb35819..a7ac817ee4 100644 --- a/cocos/3d/CCBundle3D.cpp +++ b/cocos/3d/CCBundle3D.cpp @@ -2181,14 +2181,14 @@ Reference* Bundle3D::seekToFirstType(unsigned int type) } Bundle3D::Bundle3D() - :_isBinary(false), - _modelPath(""), + : _modelPath(""), _path(""), _version(""), _jsonBuffer(nullptr), _binaryBuffer(nullptr), _referenceCount(0), - _references(nullptr) + _references(nullptr), + _isBinary(false) { } diff --git a/cocos/3d/CCBundle3DData.h b/cocos/3d/CCBundle3DData.h index 63c5916c89..2e477e49eb 100644 --- a/cocos/3d/CCBundle3DData.h +++ b/cocos/3d/CCBundle3DData.h @@ -364,10 +364,10 @@ public: } Animation3DData(const Animation3DData& other) - : _totalTime(other._totalTime) - , _translationKeys(other._translationKeys) + : _translationKeys(other._translationKeys) , _rotationKeys(other._rotationKeys) , _scaleKeys(other._scaleKeys) + , _totalTime(other._totalTime) { } diff --git a/cocos/3d/CCMesh.cpp b/cocos/3d/CCMesh.cpp index 2ab7417034..f21c507166 100644 --- a/cocos/3d/CCMesh.cpp +++ b/cocos/3d/CCMesh.cpp @@ -36,14 +36,14 @@ using namespace std; NS_CC_BEGIN Mesh::Mesh() -: _visible(true) -, _texture(nullptr) +: _texture(nullptr) , _skin(nullptr) +, _visible(true) +, _isTransparent(false) , _meshIndexData(nullptr) -, _visibleChanged(nullptr) , _glProgramState(nullptr) , _blend(BlendFunc::ALPHA_NON_PREMULTIPLIED) -, _isTransparent(false) +, _visibleChanged(nullptr) { } diff --git a/cocos/3d/CCMeshSkin.cpp b/cocos/3d/CCMeshSkin.cpp index 901ca212d7..d192796df4 100644 --- a/cocos/3d/CCMeshSkin.cpp +++ b/cocos/3d/CCMeshSkin.cpp @@ -33,8 +33,8 @@ static int PALETTE_ROWS = 3; MeshSkin::MeshSkin() : _rootBone(nullptr) -, _matrixPalette(nullptr) , _skeleton(nullptr) +, _matrixPalette(nullptr) { } diff --git a/cocos/base/CCEventController.cpp b/cocos/base/CCEventController.cpp index 3176f7d82c..1c0eebb1e1 100644 --- a/cocos/base/CCEventController.cpp +++ b/cocos/base/CCEventController.cpp @@ -30,8 +30,8 @@ NS_CC_BEGIN EventController::EventController(ControllerEventType type, Controller* controller, int keyCode) : Event(Type::GAME_CONTROLLER) , _controllerEventType(type) -, _keyCode(keyCode) , _controller(controller) +, _keyCode(keyCode) , _isConnected(true) { @@ -41,8 +41,8 @@ EventController::EventController(ControllerEventType type, Controller* controlle : Event(Type::GAME_CONTROLLER) , _controllerEventType(type) , _controller(controller) -, _isConnected(isConnected) , _keyCode(0) +, _isConnected(isConnected) { } diff --git a/cocos/base/CCEventFocus.cpp b/cocos/base/CCEventFocus.cpp index 442f72372c..92ff539dcb 100644 --- a/cocos/base/CCEventFocus.cpp +++ b/cocos/base/CCEventFocus.cpp @@ -30,8 +30,8 @@ NS_CC_BEGIN EventFocus::EventFocus(ui::Widget *widgetLoseFocus, ui::Widget* widgetGetFocus) :Event(Type::FOCUS), -_widgetLoseFocus(widgetLoseFocus), -_widgetGetFocus(widgetGetFocus) +_widgetGetFocus(widgetGetFocus), +_widgetLoseFocus(widgetLoseFocus) { } diff --git a/cocos/editor-support/cocosbuilder/CCBKeyframe.cpp b/cocos/editor-support/cocosbuilder/CCBKeyframe.cpp index ef0ffcdeea..bd4040bbde 100644 --- a/cocos/editor-support/cocosbuilder/CCBKeyframe.cpp +++ b/cocos/editor-support/cocosbuilder/CCBKeyframe.cpp @@ -5,10 +5,10 @@ using namespace cocos2d; namespace cocosbuilder { CCBKeyframe::CCBKeyframe() -: _time(0.0f) +: _object(nullptr) +, _time(0.0f) , _easingType(EasingType::INSTANT) , _easingOpt(0.0f) -, _object(nullptr) {} CCBKeyframe::~CCBKeyframe() diff --git a/cocos/editor-support/cocostudio/WidgetReader/WidgetReader.cpp b/cocos/editor-support/cocostudio/WidgetReader/WidgetReader.cpp index 00b8dce09f..757df9e31a 100644 --- a/cocos/editor-support/cocostudio/WidgetReader/WidgetReader.cpp +++ b/cocos/editor-support/cocostudio/WidgetReader/WidgetReader.cpp @@ -69,12 +69,12 @@ namespace cocostudio WidgetReader::WidgetReader() :_sizePercentX(0.0f), _sizePercentY(0.0f), - _isAdaptScreen(false), - _width(0.0f), - _height(0.0f), _positionPercentX(0.0f), _positionPercentY(0.0f), - _opacity(255) + _width(0.0f), + _height(0.0f), + _opacity(255), + _isAdaptScreen(false) { valueToInt = [=](const std::string& str) -> int{ return atoi(str.c_str()); diff --git a/cocos/network/WebSocket.cpp b/cocos/network/WebSocket.cpp index 934b1e0c6a..ec35a1309e 100644 --- a/cocos/network/WebSocket.cpp +++ b/cocos/network/WebSocket.cpp @@ -222,15 +222,15 @@ enum WS_MSG { WebSocket::WebSocket() : _readyState(State::CONNECTING) , _port(80) +, _pendingFrameDataLen(0) +, _currentDataLen(0) +, _currentData(nullptr) , _wsHelper(nullptr) , _wsInstance(nullptr) , _wsContext(nullptr) , _delegate(nullptr) , _SSLConnection(0) , _wsProtocols(nullptr) -, _pendingFrameDataLen(0) -, _currentDataLen(0) -, _currentData(nullptr) { } diff --git a/cocos/renderer/CCGLProgramState.cpp b/cocos/renderer/CCGLProgramState.cpp index 7025992f61..2006e72a9d 100644 --- a/cocos/renderer/CCGLProgramState.cpp +++ b/cocos/renderer/CCGLProgramState.cpp @@ -48,16 +48,16 @@ NS_CC_BEGIN // UniformValue::UniformValue() -: _useCallback(false) -, _uniform(nullptr) +: _uniform(nullptr) , _glprogram(nullptr) +, _useCallback(false) { } UniformValue::UniformValue(Uniform *uniform, GLProgram* glprogram) -: _useCallback(false) -, _uniform(uniform) +: _uniform(uniform) , _glprogram(glprogram) +, _useCallback(false) { } @@ -182,15 +182,15 @@ void UniformValue::setMat4(const Mat4& value) // VertexAttribValue::VertexAttribValue() -: _useCallback(false) -, _vertexAttrib(nullptr) +: _vertexAttrib(nullptr) +, _useCallback(false) , _enabled(false) { } VertexAttribValue::VertexAttribValue(VertexAttrib *vertexAttrib) -: _useCallback(false) -, _vertexAttrib(vertexAttrib) +: _vertexAttrib(vertexAttrib) +, _useCallback(false) , _enabled(false) { } @@ -274,10 +274,10 @@ GLProgramState* GLProgramState::getOrCreateWithGLProgram(GLProgram *glprogram) } GLProgramState::GLProgramState() -: _vertexAttribsFlags(0) -, _glprogram(nullptr) +: _uniformAttributeValueDirty(true) , _textureUnitIndex(1) -, _uniformAttributeValueDirty(true) +, _vertexAttribsFlags(0) +, _glprogram(nullptr) { #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID || CC_TARGET_PLATFORM == CC_PLATFORM_WP8) /** listen the event that renderer was recreated on Android/WP8 */ diff --git a/cocos/renderer/CCMeshCommand.cpp b/cocos/renderer/CCMeshCommand.cpp index 74f8b6b9bd..96d43291cc 100644 --- a/cocos/renderer/CCMeshCommand.cpp +++ b/cocos/renderer/CCMeshCommand.cpp @@ -78,17 +78,17 @@ static const char *s_ambientLightUniformColorName = "u_AmbientLightSour MeshCommand::MeshCommand() : _textureID(0) -, _blendType(BlendFunc::DISABLE) , _glProgramState(nullptr) -, _cullFaceEnabled(false) -, _cullFace(GL_BACK) -, _depthTestEnabled(false) -, _depthWriteEnabled(false) +, _blendType(BlendFunc::DISABLE) , _displayColor(1.0f, 1.0f, 1.0f, 1.0f) , _matrixPalette(nullptr) , _matrixPaletteSize(0) , _materialID(0) , _vao(0) +, _cullFaceEnabled(false) +, _cullFace(GL_BACK) +, _depthTestEnabled(false) +, _depthWriteEnabled(false) , _lightMask(-1) { _type = RenderCommand::Type::MESH_COMMAND; diff --git a/cocos/renderer/CCVertexIndexBuffer.cpp b/cocos/renderer/CCVertexIndexBuffer.cpp index ff8285078e..c387398f38 100644 --- a/cocos/renderer/CCVertexIndexBuffer.cpp +++ b/cocos/renderer/CCVertexIndexBuffer.cpp @@ -56,10 +56,10 @@ VertexBuffer* VertexBuffer::create(int sizePerVertex, int vertexNumber) } VertexBuffer::VertexBuffer() -: _vbo(0) -, _vertexNumber(0) +: _recreateVBOEventListener(nullptr) +, _vbo(0) , _sizePerVertex(0) -, _recreateVBOEventListener(nullptr) +, _vertexNumber(0) { #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) diff --git a/cocos/renderer/CCVertexIndexData.h b/cocos/renderer/CCVertexIndexData.h index 300e1d9feb..78499c5cd3 100644 --- a/cocos/renderer/CCVertexIndexData.h +++ b/cocos/renderer/CCVertexIndexData.h @@ -35,17 +35,17 @@ class VertexBuffer; struct CC_DLL VertexStreamAttribute { VertexStreamAttribute() - : _offset(0),_semantic(0),_type(0),_size(0), _normalize(false) + : _normalize(false),_offset(0),_semantic(0),_type(0),_size(0) { } VertexStreamAttribute(int offset, int semantic, int type, int size) - : _offset(offset),_semantic(semantic),_type(type),_size(size), _normalize(false) + : _normalize(false),_offset(offset),_semantic(semantic),_type(type),_size(size) { } VertexStreamAttribute(int offset, int semantic, int type, int size, bool normalize) - : _offset(offset),_semantic(semantic),_type(type),_size(size), _normalize(normalize) + : _normalize(normalize),_offset(offset),_semantic(semantic),_type(type),_size(size) { } diff --git a/cocos/ui/UIButton.cpp b/cocos/ui/UIButton.cpp index a5c66f1802..b27d746735 100644 --- a/cocos/ui/UIButton.cpp +++ b/cocos/ui/UIButton.cpp @@ -46,6 +46,7 @@ _buttonNormalRenderer(nullptr), _buttonClickedRenderer(nullptr), _buttonDisableRenderer(nullptr), _titleRenderer(nullptr), +_zoomScale(0.1f), _normalFileName(""), _clickedFileName(""), _disabledFileName(""), @@ -65,7 +66,6 @@ _normalTextureScaleXInSize(1.0f), _normalTextureScaleYInSize(1.0f), _pressedTextureScaleXInSize(1.0f), _pressedTextureScaleYInSize(1.0f), -_zoomScale(0.1f), _normalTextureLoaded(false), _pressedTextureLoaded(false), _disabledTextureLoaded(false), diff --git a/cocos/ui/UIEditBox/UIEditBox.cpp b/cocos/ui/UIEditBox/UIEditBox.cpp index 85fb8145a2..73a504930d 100644 --- a/cocos/ui/UIEditBox/UIEditBox.cpp +++ b/cocos/ui/UIEditBox/UIEditBox.cpp @@ -38,13 +38,13 @@ EditBox::EditBox(void) , _editBoxInputMode(EditBox::InputMode::SINGLE_LINE) , _editBoxInputFlag(EditBox::InputFlag::INTIAL_CAPS_ALL_CHARACTERS) , _keyboardReturnType(KeyboardReturnType::DEFAULT) +, _backgroundSprite(nullptr) , _fontSize(-1) , _placeholderFontSize(-1) , _colText(Color3B::WHITE) , _colPlaceHolder(Color3B::GRAY) , _maxLength(0) , _adjustHeight(0.0f) -, _backgroundSprite(nullptr) #if CC_ENABLE_SCRIPT_BINDING , _scriptEditBoxHandler(0) #endif diff --git a/cocos/ui/UILayout.cpp b/cocos/ui/UILayout.cpp index 1a1e9b66ac..9b75316cbf 100644 --- a/cocos/ui/UILayout.cpp +++ b/cocos/ui/UILayout.cpp @@ -51,13 +51,15 @@ static GLint s_layer = -1; IMPLEMENT_CLASS_GUI_INFO(Layout) Layout::Layout(): -_clippingEnabled(false), _backGroundScale9Enabled(false), _backGroundImage(nullptr), _backGroundImageFileName(""), _backGroundImageCapInsets(Rect::ZERO), _colorType(BackGroundColorType::NONE), _bgImageTexType(TextureResType::LOCAL), +_backGroundImageTextureSize(Size::ZERO), +_backGroundImageColor(Color3B::WHITE), +_backGroundImageOpacity(255), _colorRender(nullptr), _gradientRender(nullptr), _cColor(Color3B::WHITE), @@ -65,14 +67,13 @@ _gStartColor(Color3B::WHITE), _gEndColor(Color3B::WHITE), _alongVector(Vec2(0.0f, -1.0f)), _cOpacity(255), -_backGroundImageTextureSize(Size::ZERO), +_clippingEnabled(false), _layoutType(Type::ABSOLUTE), _clippingType(ClippingType::STENCIL), _clippingStencil(nullptr), _scissorRectDirty(false), _clippingRect(Rect::ZERO), _clippingParent(nullptr), -_doLayoutDirty(true), _clippingRectDirty(true), _currentStencilEnabled(GL_FALSE), _currentStencilWriteMask(~0), @@ -86,12 +87,11 @@ _currentDepthWriteMask(GL_TRUE), _currentAlphaTestEnabled(GL_FALSE), _currentAlphaTestFunc(GL_ALWAYS), _currentAlphaTestRef(1), -_backGroundImageColor(Color3B::WHITE), -_backGroundImageOpacity(255), -_passFocusToChild(true), +_doLayoutDirty(true), +_isInterceptTouch(false), _loopFocus(false), -_isFocusPassing(false), -_isInterceptTouch(false) +_passFocusToChild(true), +_isFocusPassing(false) { //no-op } diff --git a/cocos/ui/UILayoutComponent.cpp b/cocos/ui/UILayoutComponent.cpp index 19c7401d16..64f6f39beb 100644 --- a/cocos/ui/UILayoutComponent.cpp +++ b/cocos/ui/UILayoutComponent.cpp @@ -31,10 +31,10 @@ NS_CC_BEGIN namespace ui { LayoutComponent::LayoutComponent() - :_actived(true) - ,_usingPercentContentSize(false) - ,_usingPercentPosition(false) - ,_referencePoint(ReferencePoint::BOTTOM_LEFT) + : _usingPercentContentSize(false) + , _referencePoint(ReferencePoint::BOTTOM_LEFT) + , _usingPercentPosition(false) + , _actived(true) { _name = __LAYOUT_COMPONENT_NAME; } diff --git a/cocos/ui/UIListView.cpp b/cocos/ui/UIListView.cpp index 2f05a2f6d0..0b8615eafc 100644 --- a/cocos/ui/UIListView.cpp +++ b/cocos/ui/UIListView.cpp @@ -35,10 +35,10 @@ ListView::ListView(): _model(nullptr), _gravity(Gravity::CENTER_VERTICAL), _itemsMargin(0.0f), -_listViewEventListener(nullptr), -_listViewEventSelector(nullptr), _curSelectedIndex(0), _refreshViewDirty(true), +_listViewEventListener(nullptr), +_listViewEventSelector(nullptr), _eventCallback(nullptr) { this->setTouchEnabled(true); diff --git a/cocos/ui/UIPageView.cpp b/cocos/ui/UIPageView.cpp index 11485d11ff..976854d302 100644 --- a/cocos/ui/UIPageView.cpp +++ b/cocos/ui/UIPageView.cpp @@ -31,22 +31,22 @@ namespace ui { IMPLEMENT_CLASS_GUI_INFO(PageView) PageView::PageView(): +_isAutoScrolling(false), +_autoScrollDistance(0.0f), +_autoScrollSpeed(0.0f), +_autoScrollDirection(AutoScrollDirection::LEFT), _curPageIdx(0), _touchMoveDirection(TouchDirection::LEFT), _leftBoundaryChild(nullptr), _rightBoundaryChild(nullptr), _leftBoundary(0.0f), _rightBoundary(0.0f), -_isAutoScrolling(false), -_autoScrollDistance(0.0f), -_autoScrollSpeed(0.0f), -_autoScrollDirection(AutoScrollDirection::LEFT), +_customScrollThreshold(0.0), +_usingCustomScrollThreshold(false), _childFocusCancelOffset(5.0f), _pageViewEventListener(nullptr), _pageViewEventSelector(nullptr), -_eventCallback(nullptr), -_customScrollThreshold(0.0), -_usingCustomScrollThreshold(false) +_eventCallback(nullptr) { this->setTouchEnabled(true); } diff --git a/cocos/ui/UIScale9Sprite.cpp b/cocos/ui/UIScale9Sprite.cpp index 26ad2c0dad..1882f907d1 100644 --- a/cocos/ui/UIScale9Sprite.cpp +++ b/cocos/ui/UIScale9Sprite.cpp @@ -45,11 +45,11 @@ namespace ui { , _bottomLeft(nullptr) , _bottom(nullptr) , _bottomRight(nullptr) + , _scale9Enabled(true) , _insetLeft(0) , _insetTop(0) , _insetRight(0) , _insetBottom(0) - , _scale9Enabled(true) { this->setAnchorPoint(Vec2(0.5,0.5)); } diff --git a/cocos/ui/UISlider.cpp b/cocos/ui/UISlider.cpp index a71fe22220..921e462e31 100644 --- a/cocos/ui/UISlider.cpp +++ b/cocos/ui/UISlider.cpp @@ -57,14 +57,14 @@ _capInsetsBarRenderer(Rect::ZERO), _capInsetsProgressBarRenderer(Rect::ZERO), _sliderEventListener(nullptr), _sliderEventSelector(nullptr), +_eventCallback(nullptr), _barTexType(TextureResType::LOCAL), _progressBarTexType(TextureResType::LOCAL), _ballNTexType(TextureResType::LOCAL), _ballPTexType(TextureResType::LOCAL), _ballDTexType(TextureResType::LOCAL), _barRendererAdaptDirty(true), -_progressBarRendererDirty(true), -_eventCallback(nullptr) +_progressBarRendererDirty(true) { setTouchEnabled(true); } diff --git a/cocos/ui/UIWidget.cpp b/cocos/ui/UIWidget.cpp index 024e9b53a8..1ef01292f9 100644 --- a/cocos/ui/UIWidget.cpp +++ b/cocos/ui/UIWidget.cpp @@ -141,28 +141,28 @@ _enabled(true), _bright(true), _touchEnabled(false), _highlight(false), +_affectByClipping(false), +_ignoreSize(false), +_propagateTouchEvents(true), _brightStyle(BrightStyle::NONE), -_touchBeganPosition(Vec2::ZERO), -_touchMovePosition(Vec2::ZERO), -_touchEndPosition(Vec2::ZERO), -_touchEventListener(nullptr), -_touchEventSelector(nullptr), +_sizeType(SizeType::ABSOLUTE), +_positionType(PositionType::ABSOLUTE), _actionTag(0), _customSize(Size::ZERO), -_ignoreSize(false), -_affectByClipping(false), -_sizeType(SizeType::ABSOLUTE), _sizePercent(Vec2::ZERO), -_positionType(PositionType::ABSOLUTE), _positionPercent(Vec2::ZERO), _hitted(false), _touchListener(nullptr), +_touchBeganPosition(Vec2::ZERO), +_touchMovePosition(Vec2::ZERO), +_touchEndPosition(Vec2::ZERO), _flippedX(false), _flippedY(false), +_layoutParameterType(LayoutParameter::Type::NONE), _focused(false), _focusEnabled(true), -_layoutParameterType(LayoutParameter::Type::NONE), -_propagateTouchEvents(true) +_touchEventListener(nullptr), +_touchEventSelector(nullptr) { } diff --git a/extensions/GUI/CCScrollView/CCScrollView.cpp b/extensions/GUI/CCScrollView/CCScrollView.cpp index c9d2f19669..da76d278b4 100644 --- a/extensions/GUI/CCScrollView/CCScrollView.cpp +++ b/extensions/GUI/CCScrollView/CCScrollView.cpp @@ -62,8 +62,8 @@ ScrollView::ScrollView() , _touchLength(0.0f) , _minScale(0.0f) , _maxScale(0.0f) -, _touchListener(nullptr) , _scissorRestored(false) +, _touchListener(nullptr) { } diff --git a/extensions/assets-manager/AssetsManagerEx.cpp b/extensions/assets-manager/AssetsManagerEx.cpp index 3011e81bda..f7557c2888 100644 --- a/extensions/assets-manager/AssetsManagerEx.cpp +++ b/extensions/assets-manager/AssetsManagerEx.cpp @@ -50,20 +50,20 @@ const std::string AssetsManagerEx::BATCH_UPDATE_ID = "@batch_update"; AssetsManagerEx::AssetsManagerEx(const std::string& manifestUrl, const std::string& storagePath) : _updateState(State::UNCHECKED) -, _waitToUpdate(false) -, _totalToDownload(0) -, _totalWaitToDownload(0) -, _percent(0) -, _percentByFile(0) -, _manifestUrl(manifestUrl) +, _assets(nullptr) , _storagePath("") , _cacheVersionPath("") , _cacheManifestPath("") , _tempManifestPath("") -, _assets(nullptr) +, _manifestUrl(manifestUrl) , _localManifest(nullptr) , _tempManifest(nullptr) , _remoteManifest(nullptr) +, _waitToUpdate(false) +, _percent(0) +, _percentByFile(0) +, _totalToDownload(0) +, _totalWaitToDownload(0) { // Init variables _eventDispatcher = Director::getInstance()->getEventDispatcher(); diff --git a/extensions/assets-manager/CCEventAssetsManagerEx.cpp b/extensions/assets-manager/CCEventAssetsManagerEx.cpp index ba2c0f8d2f..7eea7d1300 100644 --- a/extensions/assets-manager/CCEventAssetsManagerEx.cpp +++ b/extensions/assets-manager/CCEventAssetsManagerEx.cpp @@ -31,14 +31,14 @@ NS_CC_EXT_BEGIN EventAssetsManagerEx::EventAssetsManagerEx(const std::string& eventName, cocos2d::extension::AssetsManagerEx *manager, const EventCode &code, float percent/* = 0 */, float percentByFile/* = 0*/, const std::string& assetId/* = "" */, const std::string& message/* = "" */, int curle_code/* = CURLE_OK*/, int curlm_code/* = CURLM_OK*/) : EventCustom(eventName) -, _manager(manager) , _code(code) +, _manager(manager) +, _message(message) +, _assetId(assetId) , _curle_code(curle_code) , _curlm_code(curlm_code) , _percent(percent) , _percentByFile(percentByFile) -, _assetId(assetId) -, _message(message) { } diff --git a/extensions/assets-manager/Downloader.cpp b/extensions/assets-manager/Downloader.cpp index 7e8ef08c4a..21a7eb463b 100644 --- a/extensions/assets-manager/Downloader.cpp +++ b/extensions/assets-manager/Downloader.cpp @@ -145,10 +145,10 @@ int downloadProgressFunc(Downloader::ProgressData *ptr, double totalToDownload, } Downloader::Downloader() -: _onError(nullptr) +: _connectionTimeout(DEFAULT_TIMEOUT) +, _onError(nullptr) , _onProgress(nullptr) , _onSuccess(nullptr) -, _connectionTimeout(DEFAULT_TIMEOUT) , _supportResuming(false) { _fileUtils = FileUtils::getInstance(); From 642a601502a6db00b870271745573051f1a39226 Mon Sep 17 00:00:00 2001 From: yangxiao Date: Fri, 31 Oct 2014 11:32:10 +0800 Subject: [PATCH 10/48] fix wrong look at --- cocos/2d/CCCamera.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/cocos/2d/CCCamera.cpp b/cocos/2d/CCCamera.cpp index 27dd0284db..1025dc1d75 100644 --- a/cocos/2d/CCCamera.cpp +++ b/cocos/2d/CCCamera.cpp @@ -130,12 +130,15 @@ void Camera::lookAt(const Vec3& lookAtPos, const Vec3& up) rotation.m[9] = zaxis.y; rotation.m[10] = zaxis.z; rotation.m[11] = 0; + Quaternion quaternion; Quaternion::createFromRotationMatrix(rotation,&quaternion); - float fRoll = atan2(2 * (quaternion.w * quaternion.z + quaternion.x * quaternion.y) , 1 - 2 * (quaternion.z * quaternion.z + quaternion.x * quaternion.x)); - float fPitch = asin(clampf(2 * (quaternion.w * quaternion.x - quaternion.y * quaternion.z) , -1.0f , 1.0f)); - float fYaw = atan2(2 * (quaternion.w * quaternion.y + quaternion.z * quaternion.x) , 1 - 2 * (quaternion.x * quaternion.x + quaternion.y * quaternion.y)); - setRotation3D(Vec3(CC_RADIANS_TO_DEGREES(fPitch),CC_RADIANS_TO_DEGREES(fYaw),CC_RADIANS_TO_DEGREES(fRoll))); + + float rotx = atan2f(2 * (quaternion.w * quaternion.x + quaternion.y * quaternion.z), 1 - 2 * (quaternion.x * quaternion.x + quaternion.y * quaternion.y)); + float roty = asin(clampf(2 * (quaternion.w * quaternion.y - quaternion.z * quaternion.x) , -1.0f , 1.0f)); + float rotz = -atan2(2 * (quaternion.w * quaternion.z + quaternion.x * quaternion.y) , 1 - 2 * (quaternion.y * quaternion.y + quaternion.z * quaternion.z)); + + setRotation3D(Vec3(CC_RADIANS_TO_DEGREES(rotx),CC_RADIANS_TO_DEGREES(roty),CC_RADIANS_TO_DEGREES(rotz))); } const Mat4& Camera::getViewProjectionMatrix() const From 85fb2c91aba64c9945cbde1fc5cf802a250c17b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B3=B0=E6=AD=A3=E5=8D=9A?= Date: Tue, 4 Nov 2014 01:25:58 +0900 Subject: [PATCH 11/48] fix memory leak cocos studiov2.0 engine v3.3 --- .../ActionTimeline/CCActionTimelineCache.cpp | 7 +++- .../cocostudio/ActionTimeline/CSLoader.cpp | 42 +++++++++++++------ .../cocostudio/CCDataReaderHelper.cpp | 6 ++- 3 files changed, 39 insertions(+), 16 deletions(-) diff --git a/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimelineCache.cpp b/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimelineCache.cpp index a9a2f0c593..721edc1d77 100644 --- a/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimelineCache.cpp +++ b/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimelineCache.cpp @@ -733,12 +733,17 @@ ActionTimeline* ActionTimelineCache::loadAnimationActionWithFileFromXML(const st // xml read std::string fullpath = FileUtils::getInstance()->fullPathForFilename(fileName).c_str(); ssize_t size; - std::string content =(char*)FileUtils::getInstance()->getFileData(fullpath, "r", &size); + + //fix memory leak for v3.3 + unsigned char* pByte = FileUtils::getInstance()->getFileData(fullpath, "r", &size);; + std::string content =(char*)pByte; // xml parse tinyxml2::XMLDocument* document = new tinyxml2::XMLDocument(); document->Parse(content.c_str()); + free(pByte); + const tinyxml2::XMLElement* rootElement = document->RootElement();// Root CCLOG("rootElement name = %s", rootElement->Name()); diff --git a/cocos/editor-support/cocostudio/ActionTimeline/CSLoader.cpp b/cocos/editor-support/cocostudio/ActionTimeline/CSLoader.cpp index 97398eb3f6..e9636b934d 100644 --- a/cocos/editor-support/cocostudio/ActionTimeline/CSLoader.cpp +++ b/cocos/editor-support/cocostudio/ActionTimeline/CSLoader.cpp @@ -449,7 +449,8 @@ void CSLoader::initNode(Node* node, const rapidjson::Value& json) Node* CSLoader::loadSimpleNode(const rapidjson::Value& json) { Node* node = Node::create(); - node->retain(); + // fix memory leak for v3.3 + //node->retain(); initNode(node, json); return node; @@ -468,8 +469,8 @@ Node* CSLoader::loadSubGraph(const rapidjson::Value& json) { node = Node::create(); } - - node->retain(); + // fix memory leak for v3.3 + //node->retain(); initNode(node, json); @@ -507,7 +508,8 @@ Node* CSLoader::loadSprite(const rapidjson::Value& json) sprite = Sprite::create(); } - sprite->retain(); + // fix memory leak for v3.3 + //sprite->retain(); initNode(sprite, json); @@ -529,7 +531,8 @@ Node* CSLoader::loadParticle(const rapidjson::Value& json) ParticleSystemQuad* particle = ParticleSystemQuad::create(filePath); particle->setTotalParticles(num); - particle->retain(); + // fix memory leak for v3.3 + //particle->retain(); initNode(particle, json); @@ -578,7 +581,8 @@ Node* CSLoader::loadWidget(const rapidjson::Value& json) std::string guiClassName = getGUIClassName(classname); widget = dynamic_cast(ObjectFactory::getInstance()->createObject(guiClassName)); - widget->retain(); + // fix memory leak for v3.3 + //widget->retain(); WidgetReaderProtocol* reader = dynamic_cast(ObjectFactory::getInstance()->createObject(readerName)); @@ -587,7 +591,9 @@ Node* CSLoader::loadWidget(const rapidjson::Value& json) else if (isCustomWidget(classname)) { widget = dynamic_cast(ObjectFactory::getInstance()->createObject(classname)); - widget->retain(); + + //fix memory leak for v3.3 + //widget->retain(); // // 1st., custom widget parse properties of parent widget with parent widget reader @@ -826,7 +832,8 @@ Node* CSLoader::nodeFromProtocolBuffers(const protocolbuffers::NodeTree &nodetre readerName.append("Reader"); Widget* widget = dynamic_cast(ObjectFactory::getInstance()->createObject(guiClassName)); - widget->retain(); + //fix memory leak for v3.3 + //widget->retain(); WidgetReaderProtocol* reader = dynamic_cast(ObjectFactory::getInstance()->createObject(readerName)); reader->setPropsFromProtocolBuffers(widget, nodetree); @@ -840,7 +847,9 @@ Node* CSLoader::nodeFromProtocolBuffers(const protocolbuffers::NodeTree &nodetre else if (isCustomWidget(classname)) { Widget* widget = dynamic_cast(ObjectFactory::getInstance()->createObject(classname)); - widget->retain(); + + //fix memory leak for v3.3 + //widget->retain(); // // 1st., custom widget parse properties of parent widget with parent widget reader @@ -1046,8 +1055,8 @@ void CSLoader::setPropsForSpriteFromProtocolBuffers(cocos2d::Node *node, CCLOG("filePath is empty. Create a sprite with no texture"); } */ - - sprite->retain(); + //fix memory leak for v3.3 + //sprite->retain(); setPropsForNodeFromProtocolBuffers(sprite, nodeOptions); @@ -1245,12 +1254,17 @@ Node* CSLoader::nodeFromXMLFile(const std::string &fileName) // xml read std::string fullpath = FileUtils::getInstance()->fullPathForFilename(fileName).c_str(); ssize_t size; - std::string content =(char*)FileUtils::getInstance()->getFileData(fullpath, "r", &size); + + //fix memory leak for v3.3 + unsigned char* pByte = FileUtils::getInstance()->getFileData(fullpath, "r", &size);; + std::string content =(char*)pByte // xml parse tinyxml2::XMLDocument* document = new tinyxml2::XMLDocument(); document->Parse(content.c_str()); + free(pByte); + const tinyxml2::XMLElement* rootElement = document->RootElement();// Root CCLOG("rootElement name = %s", rootElement->Name()); @@ -1408,7 +1422,9 @@ Node* CSLoader::nodeFromXML(const tinyxml2::XMLElement *objectData, const std::s readerName.append("Reader"); Widget* widget = dynamic_cast(ObjectFactory::getInstance()->createObject(guiClassName)); - widget->retain(); + + //fix memory leak for v3.3 + //widget->retain(); WidgetReaderProtocol* reader = dynamic_cast(ObjectFactory::getInstance()->createObject(readerName)); reader->setPropsFromXML(widget, objectData); diff --git a/cocos/editor-support/cocostudio/CCDataReaderHelper.cpp b/cocos/editor-support/cocostudio/CCDataReaderHelper.cpp index cc8cc328c4..36b1e6326b 100644 --- a/cocos/editor-support/cocostudio/CCDataReaderHelper.cpp +++ b/cocos/editor-support/cocostudio/CCDataReaderHelper.cpp @@ -330,7 +330,7 @@ void DataReaderHelper::addDataFromFile(const std::string& filePath) DataReaderHelper::addDataFromBinaryCache(contentStr.c_str(),&dataInfo); } - CC_SAFE_DELETE_ARRAY(pBytes); + free(pBytes); } void DataReaderHelper::addDataFromFileAsync(const std::string& imagePath, const std::string& plistPath, const std::string& filePath, Ref *target, SEL_SCHEDULE selector) @@ -429,7 +429,9 @@ void DataReaderHelper::addDataFromFileAsync(const std::string& imagePath, const Data bytecpy; bytecpy.copy(pBytes, size); data->fileContent = std::string((const char*)bytecpy.getBytes(), size); - CC_SAFE_DELETE_ARRAY(pBytes); + + // fix memory leak for v3.3 + free(pBytes); if (str == ".xml") { From dc8fb94bc8704266443df28b4091d1a8c72e7ec2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B3=B0=E3=80=80=E6=AD=A3=E5=8D=9A?= Date: Tue, 4 Nov 2014 10:21:57 +0900 Subject: [PATCH 12/48] fix memory leak cocos studiov2.0 engine v3.3 #8998 fix memory leak for zipUtils --- .../cocostudio/ActionTimeline/CCActionTimelineCache.cpp | 3 +-- cocos/editor-support/cocostudio/ActionTimeline/CSLoader.cpp | 3 +-- cocos/scripting/lua-bindings/manual/CCLuaStack.cpp | 4 ++-- cocos/scripting/lua-bindings/manual/Cocos2dxLuaLoader.cpp | 2 +- 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimelineCache.cpp b/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimelineCache.cpp index 721edc1d77..017c2e858a 100644 --- a/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimelineCache.cpp +++ b/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimelineCache.cpp @@ -736,11 +736,10 @@ ActionTimeline* ActionTimelineCache::loadAnimationActionWithFileFromXML(const st //fix memory leak for v3.3 unsigned char* pByte = FileUtils::getInstance()->getFileData(fullpath, "r", &size);; - std::string content =(char*)pByte; // xml parse tinyxml2::XMLDocument* document = new tinyxml2::XMLDocument(); - document->Parse(content.c_str()); + document->Parse((char*)pByte); free(pByte); diff --git a/cocos/editor-support/cocostudio/ActionTimeline/CSLoader.cpp b/cocos/editor-support/cocostudio/ActionTimeline/CSLoader.cpp index e9636b934d..efc9217bed 100644 --- a/cocos/editor-support/cocostudio/ActionTimeline/CSLoader.cpp +++ b/cocos/editor-support/cocostudio/ActionTimeline/CSLoader.cpp @@ -1257,11 +1257,10 @@ Node* CSLoader::nodeFromXMLFile(const std::string &fileName) //fix memory leak for v3.3 unsigned char* pByte = FileUtils::getInstance()->getFileData(fullpath, "r", &size);; - std::string content =(char*)pByte // xml parse tinyxml2::XMLDocument* document = new tinyxml2::XMLDocument(); - document->Parse(content.c_str()); + document->Parse((char*)pByte); free(pByte); diff --git a/cocos/scripting/lua-bindings/manual/CCLuaStack.cpp b/cocos/scripting/lua-bindings/manual/CCLuaStack.cpp index 1933041efc..e9cc6052e2 100644 --- a/cocos/scripting/lua-bindings/manual/CCLuaStack.cpp +++ b/cocos/scripting/lua-bindings/manual/CCLuaStack.cpp @@ -797,7 +797,7 @@ int LuaStack::luaLoadChunksFromZIP(lua_State *L) lua_setfield(L, -2, filename.c_str()); ++count; } - delete []zbuffer; + free(zbuffer); } filename = zip->getNextFilename(); } @@ -812,7 +812,7 @@ int LuaStack::luaLoadChunksFromZIP(lua_State *L) } if (zipFileData) { - delete []zipFileData; + free(zipFileData); } if (buffer) { diff --git a/cocos/scripting/lua-bindings/manual/Cocos2dxLuaLoader.cpp b/cocos/scripting/lua-bindings/manual/Cocos2dxLuaLoader.cpp index 732eed5a57..956e9b0cd7 100644 --- a/cocos/scripting/lua-bindings/manual/Cocos2dxLuaLoader.cpp +++ b/cocos/scripting/lua-bindings/manual/Cocos2dxLuaLoader.cpp @@ -108,7 +108,7 @@ extern "C" { LuaStack* stack = LuaEngine::getInstance()->getLuaStack(); stack->luaLoadBuffer(L, (char*)chunk, (int)chunkSize, chunkName.c_str()); - delete []chunk; + free(chunk); } else { From 29779a460490298ebb34537a031be11375cd5a16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B3=B0=E3=80=80=E6=AD=A3=E5=8D=9A?= Date: Tue, 4 Nov 2014 10:21:57 +0900 Subject: [PATCH 13/48] modiry document->Parse((char*)pByte); to document->Parse((const char*)pByte); --- .../cocostudio/ActionTimeline/CCActionTimelineCache.cpp | 3 +-- cocos/editor-support/cocostudio/ActionTimeline/CSLoader.cpp | 5 ++--- cocos/scripting/lua-bindings/manual/CCLuaStack.cpp | 6 +++--- cocos/scripting/lua-bindings/manual/Cocos2dxLuaLoader.cpp | 2 +- 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimelineCache.cpp b/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimelineCache.cpp index 721edc1d77..6f04804ceb 100644 --- a/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimelineCache.cpp +++ b/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimelineCache.cpp @@ -736,11 +736,10 @@ ActionTimeline* ActionTimelineCache::loadAnimationActionWithFileFromXML(const st //fix memory leak for v3.3 unsigned char* pByte = FileUtils::getInstance()->getFileData(fullpath, "r", &size);; - std::string content =(char*)pByte; // xml parse tinyxml2::XMLDocument* document = new tinyxml2::XMLDocument(); - document->Parse(content.c_str()); + document->Parse((const char*)pByte); free(pByte); diff --git a/cocos/editor-support/cocostudio/ActionTimeline/CSLoader.cpp b/cocos/editor-support/cocostudio/ActionTimeline/CSLoader.cpp index e9636b934d..206847d592 100644 --- a/cocos/editor-support/cocostudio/ActionTimeline/CSLoader.cpp +++ b/cocos/editor-support/cocostudio/ActionTimeline/CSLoader.cpp @@ -1256,12 +1256,11 @@ Node* CSLoader::nodeFromXMLFile(const std::string &fileName) ssize_t size; //fix memory leak for v3.3 - unsigned char* pByte = FileUtils::getInstance()->getFileData(fullpath, "r", &size);; - std::string content =(char*)pByte + unsigned char* pByte = FileUtils::getInstance()->getFileData(fullpath, "r", &size); // xml parse tinyxml2::XMLDocument* document = new tinyxml2::XMLDocument(); - document->Parse(content.c_str()); + document->Parse((const char*)pByte); free(pByte); diff --git a/cocos/scripting/lua-bindings/manual/CCLuaStack.cpp b/cocos/scripting/lua-bindings/manual/CCLuaStack.cpp index 1933041efc..5a918d57eb 100644 --- a/cocos/scripting/lua-bindings/manual/CCLuaStack.cpp +++ b/cocos/scripting/lua-bindings/manual/CCLuaStack.cpp @@ -773,7 +773,7 @@ int LuaStack::luaLoadChunksFromZIP(lua_State *L) (unsigned char*)stack->_xxteaKey, (xxtea_long)stack->_xxteaKeyLen, &len); - delete []zipFileData; + free(zipFileData); zipFileData = nullptr; zip = ZipFile::createWithBuffer(buffer, len); } else { @@ -797,7 +797,7 @@ int LuaStack::luaLoadChunksFromZIP(lua_State *L) lua_setfield(L, -2, filename.c_str()); ++count; } - delete []zbuffer; + free(zbuffer); } filename = zip->getNextFilename(); } @@ -812,7 +812,7 @@ int LuaStack::luaLoadChunksFromZIP(lua_State *L) } if (zipFileData) { - delete []zipFileData; + free(zipFileData); } if (buffer) { diff --git a/cocos/scripting/lua-bindings/manual/Cocos2dxLuaLoader.cpp b/cocos/scripting/lua-bindings/manual/Cocos2dxLuaLoader.cpp index 732eed5a57..956e9b0cd7 100644 --- a/cocos/scripting/lua-bindings/manual/Cocos2dxLuaLoader.cpp +++ b/cocos/scripting/lua-bindings/manual/Cocos2dxLuaLoader.cpp @@ -108,7 +108,7 @@ extern "C" { LuaStack* stack = LuaEngine::getInstance()->getLuaStack(); stack->luaLoadBuffer(L, (char*)chunk, (int)chunkSize, chunkName.c_str()); - delete []chunk; + free(chunk); } else { From 828715ab8b997986692f8129817594f788e75a9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B3=B0=E3=80=80=E6=AD=A3=E5=8D=9A?= Date: Tue, 4 Nov 2014 11:54:48 +0900 Subject: [PATCH 14/48] ;; -> ; --- .../cocostudio/ActionTimeline/CCActionTimelineCache.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimelineCache.cpp b/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimelineCache.cpp index 6f04804ceb..cb38bab2fd 100644 --- a/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimelineCache.cpp +++ b/cocos/editor-support/cocostudio/ActionTimeline/CCActionTimelineCache.cpp @@ -735,7 +735,7 @@ ActionTimeline* ActionTimelineCache::loadAnimationActionWithFileFromXML(const st ssize_t size; //fix memory leak for v3.3 - unsigned char* pByte = FileUtils::getInstance()->getFileData(fullpath, "r", &size);; + unsigned char* pByte = FileUtils::getInstance()->getFileData(fullpath, "r", &size); // xml parse tinyxml2::XMLDocument* document = new tinyxml2::XMLDocument(); From 6e35e91642798a1327ffdd019ee1fe9b10da5de8 Mon Sep 17 00:00:00 2001 From: Jialong Zhai Date: Tue, 4 Nov 2014 18:23:12 +0800 Subject: [PATCH 15/48] Update CCFileUtils-linux.cpp --- cocos/platform/linux/CCFileUtils-linux.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cocos/platform/linux/CCFileUtils-linux.cpp b/cocos/platform/linux/CCFileUtils-linux.cpp index a1c047b5bd..70136decd9 100644 --- a/cocos/platform/linux/CCFileUtils-linux.cpp +++ b/cocos/platform/linux/CCFileUtils-linux.cpp @@ -36,6 +36,10 @@ THE SOFTWARE. #include #include +#ifndef CC_RESOURCE_FOLDER_LINUX +#define CC_RESOURCE_FOLDER_LINUX ("/Resources/") +#endif + using namespace std; NS_CC_BEGIN @@ -71,7 +75,7 @@ bool FileUtilsLinux::init() fullpath[length] = '\0'; std::string appPath = fullpath; _defaultResRootPath = appPath.substr(0, appPath.find_last_of("/")); - _defaultResRootPath += "/Resources/"; + _defaultResRootPath += CC_RESOURCE_FOLDER_LINUX; // Set writable path to $XDG_CONFIG_HOME or ~/.config// if $XDG_CONFIG_HOME not exists. const char* xdg_config_path = getenv("XDG_CONFIG_HOME"); From 2ec11709431eaf979a0999083c4f1a50ccb4a5f8 Mon Sep 17 00:00:00 2001 From: Ricardo Quesada Date: Tue, 4 Nov 2014 15:42:29 -0800 Subject: [PATCH 16/48] treat warnings as errors in samples --- build/cocos2d_libs.xcodeproj/project.pbxproj | 4 ---- build/cocos2d_tests.xcodeproj/project.pbxproj | 2 ++ tests/cpp-tests/Classes/ShaderTest/ShaderTest2.cpp | 4 ++-- .../lua-tests/project/proj.ios_mac/mac/LuaObjectCBridgeTest.h | 2 +- .../project/proj.ios_mac/mac/LuaObjectCBridgeTest.mm | 3 ++- 5 files changed, 7 insertions(+), 8 deletions(-) diff --git a/build/cocos2d_libs.xcodeproj/project.pbxproj b/build/cocos2d_libs.xcodeproj/project.pbxproj index 51b3dddc11..452e52b591 100644 --- a/build/cocos2d_libs.xcodeproj/project.pbxproj +++ b/build/cocos2d_libs.xcodeproj/project.pbxproj @@ -7231,7 +7231,6 @@ CC_KEYBOARD_SUPPORT, _USRDLL, ); - GCC_TREAT_WARNINGS_AS_ERRORS = NO; HEADER_SEARCH_PATHS = ""; LD_DYLIB_INSTALL_NAME = ""; LIBRARY_SEARCH_PATHS = ( @@ -7266,7 +7265,6 @@ CC_TARGET_OS_MAC, _USRDLL, ); - GCC_TREAT_WARNINGS_AS_ERRORS = NO; HEADER_SEARCH_PATHS = ""; LD_DYLIB_INSTALL_NAME = ""; LIBRARY_SEARCH_PATHS = ( @@ -7296,7 +7294,6 @@ "$(inherited)", CC_TARGET_OS_IPHONE, ); - GCC_TREAT_WARNINGS_AS_ERRORS = NO; GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES; HEADER_SEARCH_PATHS = ""; IPHONEOS_DEPLOYMENT_TARGET = 5.1.1; @@ -7329,7 +7326,6 @@ "$(inherited)", CC_TARGET_OS_IPHONE, ); - GCC_TREAT_WARNINGS_AS_ERRORS = NO; GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES; HEADER_SEARCH_PATHS = ""; IPHONEOS_DEPLOYMENT_TARGET = 5.1.1; diff --git a/build/cocos2d_tests.xcodeproj/project.pbxproj b/build/cocos2d_tests.xcodeproj/project.pbxproj index fbccd74fa9..d06e3d4818 100644 --- a/build/cocos2d_tests.xcodeproj/project.pbxproj +++ b/build/cocos2d_tests.xcodeproj/project.pbxproj @@ -5706,6 +5706,7 @@ "CC_ENABLE_CHIPMUNK_INTEGRATION=1", ); GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_TREAT_WARNINGS_AS_ERRORS = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES; GCC_WARN_UNUSED_VARIABLE = YES; @@ -5733,6 +5734,7 @@ "CC_ENABLE_CHIPMUNK_INTEGRATION=1", ); GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_TREAT_WARNINGS_AS_ERRORS = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES; GCC_WARN_UNUSED_VARIABLE = YES; diff --git a/tests/cpp-tests/Classes/ShaderTest/ShaderTest2.cpp b/tests/cpp-tests/Classes/ShaderTest/ShaderTest2.cpp index 262d97c73b..30c62d2eac 100644 --- a/tests/cpp-tests/Classes/ShaderTest/ShaderTest2.cpp +++ b/tests/cpp-tests/Classes/ShaderTest/ShaderTest2.cpp @@ -470,9 +470,9 @@ bool EffectNormalMapped::init() _kBump = 2; return true; } -bool EffectNormalMapped::initNormalMap(const std::string&normalMapFileName) +bool EffectNormalMapped::initNormalMap(const std::string& normalMapFileName) { - auto normalMapTextrue = TextureCache::getInstance()->addImage(normalMapFileName.c_str()); + auto normalMapTextrue = Director::getInstance()->getTextureCache()->addImage(normalMapFileName); getGLProgramState()->setUniformTexture("u_normalMap", normalMapTextrue); return true; } diff --git a/tests/lua-tests/project/proj.ios_mac/mac/LuaObjectCBridgeTest.h b/tests/lua-tests/project/proj.ios_mac/mac/LuaObjectCBridgeTest.h index 882dab3ed7..bcc1051da0 100644 --- a/tests/lua-tests/project/proj.ios_mac/mac/LuaObjectCBridgeTest.h +++ b/tests/lua-tests/project/proj.ios_mac/mac/LuaObjectCBridgeTest.h @@ -14,7 +14,7 @@ + (int) addTwoNumbers:(NSDictionary *)dict; + (void) callbackScriptHandler; -- (void) init; +- (id) init; @end #endif // COCOS2DX_SAMPLES_TESTLUA_PROJ_IOS_LUAOBJECTCBRIDGETEST_H diff --git a/tests/lua-tests/project/proj.ios_mac/mac/LuaObjectCBridgeTest.mm b/tests/lua-tests/project/proj.ios_mac/mac/LuaObjectCBridgeTest.mm index 624e338206..c54e97ca1a 100644 --- a/tests/lua-tests/project/proj.ios_mac/mac/LuaObjectCBridgeTest.mm +++ b/tests/lua-tests/project/proj.ios_mac/mac/LuaObjectCBridgeTest.mm @@ -73,9 +73,10 @@ static LuaObjectCBridgeTest* s_instance = nil; } } -- (void)init +- (id)init { _scriptHandler = 0; + return self; } @end From 3a34d6eb9dfbd1145acea857d85c27551ecd754b Mon Sep 17 00:00:00 2001 From: Ricardo Quesada Date: Tue, 4 Nov 2014 16:46:14 -0800 Subject: [PATCH 17/48] Performance improvements `Director::getMatrix()` returns `const Mat4` --- cocos/2d/CCRenderTexture.cpp | 4 +- cocos/base/CCDirector.cpp | 47 +++++++------------ cocos/base/CCDirector.h | 29 ++++++------ cocos/editor-support/cocostudio/CCSkin.cpp | 2 +- cocos/renderer/CCGLProgram.cpp | 5 +- .../cpp-tests/Classes/Box2DTest/Box2dTest.cpp | 5 +- .../Classes/Sprite3DTest/Sprite3DTest.cpp | 2 +- 7 files changed, 38 insertions(+), 56 deletions(-) diff --git a/cocos/2d/CCRenderTexture.cpp b/cocos/2d/CCRenderTexture.cpp index 201cf0cfc1..ca75c01269 100644 --- a/cocos/2d/CCRenderTexture.cpp +++ b/cocos/2d/CCRenderTexture.cpp @@ -553,7 +553,7 @@ void RenderTexture::onBegin() director->setProjection(director->getProjection()); #if CC_TARGET_PLATFORM == CC_PLATFORM_WP8 - Mat4 modifiedProjection = director->getMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_PROJECTION); + auto modifiedProjection = director->getMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_PROJECTION); modifiedProjection = GLViewImpl::sharedOpenGLView()->getReverseOrientationMatrix() * modifiedProjection; director->loadMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_PROJECTION,modifiedProjection); #endif @@ -572,7 +572,7 @@ void RenderTexture::onBegin() else { #if CC_TARGET_PLATFORM == CC_PLATFORM_WP8 - Mat4 modifiedProjection = director->getMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_PROJECTION); + auto modifiedProjection = director->getMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_PROJECTION); modifiedProjection = GLViewImpl::sharedOpenGLView()->getReverseOrientationMatrix() * modifiedProjection; director->loadMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_PROJECTION, modifiedProjection); #endif diff --git a/cocos/base/CCDirector.cpp b/cocos/base/CCDirector.cpp index 227dfe2796..be72136274 100644 --- a/cocos/base/CCDirector.cpp +++ b/cocos/base/CCDirector.cpp @@ -540,15 +540,15 @@ void Director::multiplyMatrix(MATRIX_STACK_TYPE type, const Mat4& mat) void Director::pushMatrix(MATRIX_STACK_TYPE type) { - if(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW == type) + if(type == MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW) { _modelViewMatrixStack.push(_modelViewMatrixStack.top()); } - else if(MATRIX_STACK_TYPE::MATRIX_STACK_PROJECTION == type) + else if(type == MATRIX_STACK_TYPE::MATRIX_STACK_PROJECTION) { _projectionMatrixStack.push(_projectionMatrixStack.top()); } - else if(MATRIX_STACK_TYPE::MATRIX_STACK_TEXTURE == type) + else if(type == MATRIX_STACK_TYPE::MATRIX_STACK_TEXTURE) { _textureMatrixStack.push(_textureMatrixStack.top()); } @@ -558,36 +558,23 @@ void Director::pushMatrix(MATRIX_STACK_TYPE type) } } -Mat4 Director::getMatrix(MATRIX_STACK_TYPE type) +const Mat4& Director::getMatrix(MATRIX_STACK_TYPE type) { - Mat4 result; - if(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW == type) + if(type == MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW) { - result = _modelViewMatrixStack.top(); + return _modelViewMatrixStack.top(); } - else if(MATRIX_STACK_TYPE::MATRIX_STACK_PROJECTION == type) + else if(type == MATRIX_STACK_TYPE::MATRIX_STACK_PROJECTION) { - result = _projectionMatrixStack.top(); + return _projectionMatrixStack.top(); } - else if(MATRIX_STACK_TYPE::MATRIX_STACK_TEXTURE == type) + else if(type == MATRIX_STACK_TYPE::MATRIX_STACK_TEXTURE) { - result = _textureMatrixStack.top(); + return _textureMatrixStack.top(); } - else - { - CCASSERT(false, "unknow matrix stack type, will return modelview matrix instead"); - result = _modelViewMatrixStack.top(); - } -// float diffResult(0); -// for (int index = 0; index <16; ++index) -// { -// diffResult += abs(result2.mat[index] - result.mat[index]); -// } -// if(diffResult > 1e-30) -// { -// CCASSERT(false, "Error in director matrix stack"); -// } - return result; + + CCASSERT(false, "unknow matrix stack type, will return modelview matrix instead"); + return _modelViewMatrixStack.top(); } void Director::setProjection(Projection projection) @@ -717,17 +704,15 @@ static void GLToClipTransform(Mat4 *transformOut) Director* director = Director::getInstance(); CCASSERT(nullptr != director, "Director is null when seting matrix stack"); - - Mat4 projection; - projection = director->getMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_PROJECTION); + + auto projection = director->getMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_PROJECTION); #if CC_TARGET_PLATFORM == CC_PLATFORM_WP8 //if needed, we need to undo the rotation for Landscape orientation in order to get the correct positions projection = Director::getInstance()->getOpenGLView()->getReverseOrientationMatrix() * projection; #endif - Mat4 modelview; - modelview = director->getMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW); + auto modelview = director->getMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW); *transformOut = projection * modelview; } diff --git a/cocos/base/CCDirector.h b/cocos/base/CCDirector.h index d84464a994..c9baba964a 100644 --- a/cocos/base/CCDirector.h +++ b/cocos/base/CCDirector.h @@ -90,27 +90,12 @@ enum class MATRIX_STACK_TYPE class CC_DLL Director : public Ref { -private: - std::stack _modelViewMatrixStack; - std::stack _projectionMatrixStack; - std::stack _textureMatrixStack; -protected: - void initMatrixStack(); -public: - void pushMatrix(MATRIX_STACK_TYPE type); - void popMatrix(MATRIX_STACK_TYPE type); - void loadIdentityMatrix(MATRIX_STACK_TYPE type); - void loadMatrix(MATRIX_STACK_TYPE type, const Mat4& mat); - void multiplyMatrix(MATRIX_STACK_TYPE type, const Mat4& mat); - Mat4 getMatrix(MATRIX_STACK_TYPE type); - void resetMatrixStack(); public: static const char *EVENT_PROJECTION_CHANGED; static const char* EVENT_AFTER_UPDATE; static const char* EVENT_AFTER_VISIT; static const char* EVENT_AFTER_DRAW; - /** @typedef ccDirectorProjection Possible OpenGL projections used by director */ @@ -399,6 +384,14 @@ public: */ float getFrameRate() const { return _frameRate; } + void pushMatrix(MATRIX_STACK_TYPE type); + void popMatrix(MATRIX_STACK_TYPE type); + void loadIdentityMatrix(MATRIX_STACK_TYPE type); + void loadMatrix(MATRIX_STACK_TYPE type, const Mat4& mat); + void multiplyMatrix(MATRIX_STACK_TYPE type, const Mat4& mat); + const Mat4& getMatrix(MATRIX_STACK_TYPE type); + void resetMatrixStack(); + protected: void purgeDirector(); bool _purgeDirectorInNextLoop; // this flag will be set to true in end() @@ -417,6 +410,12 @@ protected: void initTextureCache(); void destroyTextureCache(); + void initMatrixStack(); + + std::stack _modelViewMatrixStack; + std::stack _projectionMatrixStack; + std::stack _textureMatrixStack; + /** Scheduler associated with this director @since v2.0 */ diff --git a/cocos/editor-support/cocostudio/CCSkin.cpp b/cocos/editor-support/cocostudio/CCSkin.cpp index c1a9ddda72..f83cdc0296 100644 --- a/cocos/editor-support/cocostudio/CCSkin.cpp +++ b/cocos/editor-support/cocostudio/CCSkin.cpp @@ -222,7 +222,7 @@ Mat4 Skin::getNodeToWorldTransformAR() const void Skin::draw(Renderer *renderer, const Mat4 &transform, uint32_t flags) { - Mat4 mv = Director::getInstance()->getMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW); + auto mv = Director::getInstance()->getMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW); //TODO: implement z order _quadCommand.init(_globalZOrder, _texture->getName(), getGLProgramState(), _blendFunc, &_quad, 1, mv); diff --git a/cocos/renderer/CCGLProgram.cpp b/cocos/renderer/CCGLProgram.cpp index 6aa05848ca..f1c59731f4 100644 --- a/cocos/renderer/CCGLProgram.cpp +++ b/cocos/renderer/CCGLProgram.cpp @@ -844,15 +844,14 @@ void GLProgram::setUniformsForBuiltins() Director* director = Director::getInstance(); CCASSERT(nullptr != director, "Director is null when seting matrix stack"); - Mat4 matrixMV; - matrixMV = director->getMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW); + auto matrixMV = director->getMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW); setUniformsForBuiltins(matrixMV); } void GLProgram::setUniformsForBuiltins(const Mat4 &matrixMV) { - Mat4 matrixP = Director::getInstance()->getMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_PROJECTION); + auto matrixP = Director::getInstance()->getMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_PROJECTION); if(_flags.usesP) setUniformLocationWithMatrix4fv(_builtInUniforms[UNIFORM_P_MATRIX], matrixP.m, 1); diff --git a/tests/cpp-tests/Classes/Box2DTest/Box2dTest.cpp b/tests/cpp-tests/Classes/Box2DTest/Box2dTest.cpp index 6e7bedf0a9..ad5c79d204 100644 --- a/tests/cpp-tests/Classes/Box2DTest/Box2dTest.cpp +++ b/tests/cpp-tests/Classes/Box2DTest/Box2dTest.cpp @@ -167,9 +167,8 @@ void Box2DTestLayer::onDraw() { Director* director = Director::getInstance(); CCASSERT(nullptr != director, "Director is null when seting matrix stack"); - - Mat4 oldMV; - oldMV = director->getMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW); + + auto oldMV = director->getMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW); director->loadMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW, _modelViewMV); world->DrawDebugData(); director->loadMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_MODELVIEW, oldMV); diff --git a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp index a282f2c15c..516f714fdc 100644 --- a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp +++ b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp @@ -1447,7 +1447,7 @@ void Sprite3DWithOBBPerfromanceTest::calculateRayByLocationInView(Ray* ray, cons { auto dir = Director::getInstance(); auto view = dir->getWinSize(); - Mat4 mat = dir->getMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_PROJECTION); + auto mat = dir->getMatrix(MATRIX_STACK_TYPE::MATRIX_STACK_PROJECTION); Vec3 src = Vec3(location.x, location.y, -1); Vec3 nearPoint; From 767437969fad030b5e653041183e18ac10160e1e Mon Sep 17 00:00:00 2001 From: CocosRobot Date: Wed, 5 Nov 2014 00:52:05 +0000 Subject: [PATCH 18/48] [AUTO]: updating luabinding automatically --- .../lua-bindings/auto/api/Director.lua | 98 ++-- .../lua-bindings/auto/lua_cocos2dx_auto.cpp | 550 +++++++++--------- 2 files changed, 324 insertions(+), 324 deletions(-) diff --git a/cocos/scripting/lua-bindings/auto/api/Director.lua b/cocos/scripting/lua-bindings/auto/api/Director.lua index e7b3350567..6373be31ec 100644 --- a/cocos/scripting/lua-bindings/auto/api/Director.lua +++ b/cocos/scripting/lua-bindings/auto/api/Director.lua @@ -18,19 +18,13 @@ -- @param #cc.EventDispatcher dispatcher -------------------------------- --- Suspends the execution of the running scene, pushing it on the stack of suspended scenes.
--- The new scene will be executed.
--- Try to avoid big stacks of pushed scenes to reduce memory allocation.
--- ONLY call it if there is a running scene. --- @function [parent=#Director] pushScene +-- The size in pixels of the surface. It could be different than the screen size.
+-- High-res devices might have a higher surface size than the screen size.
+-- Only available when compiled using SDK >= 4.0.
+-- since v0.99.4 +-- @function [parent=#Director] setContentScaleFactor -- @param self --- @param #cc.Scene scene - --------------------------------- --- --- @function [parent=#Director] getDeltaTime --- @param self --- @return float#float ret (return value: float) +-- @param #float scaleFactor -------------------------------- -- @@ -44,18 +38,11 @@ -- @param self -- @return size_table#size_table ret (return value: size_table) --------------------------------- --- Returns the Console
--- since v3.0 --- @function [parent=#Director] getConsole --- @param self --- @return Console#Console ret (return value: cc.Console) - -------------------------------- -- --- @function [parent=#Director] pushMatrix +-- @function [parent=#Director] getDeltaTime -- @param self --- @param #int type +-- @return float#float ret (return value: float) -------------------------------- -- sets the OpenGL default values @@ -148,6 +135,11 @@ -- @param self -- @return float#float ret (return value: float) +-------------------------------- +-- +-- @function [parent=#Director] resetMatrixStack +-- @param self + -------------------------------- -- converts an OpenGL coordinate to a UIKit coordinate
-- Useful to convert node points to window points for calls such as glScissor @@ -156,6 +148,12 @@ -- @param #vec2_table point -- @return vec2_table#vec2_table ret (return value: vec2_table) +-------------------------------- +-- +-- @function [parent=#Director] pushMatrix +-- @param self +-- @param #int type + -------------------------------- -- sets the default values based on the Configuration info -- @function [parent=#Director] setDefaultValues @@ -206,15 +204,6 @@ -- @function [parent=#Director] stopAnimation -- @param self --------------------------------- --- The size in pixels of the surface. It could be different than the screen size.
--- High-res devices might have a higher surface size than the screen size.
--- Only available when compiled using SDK >= 4.0.
--- since v0.99.4 --- @function [parent=#Director] setContentScaleFactor --- @param self --- @param #float scaleFactor - -------------------------------- -- Pops out all scenes from the stack until it reaches `level`.
-- If level is 0, it will end the director.
@@ -292,12 +281,6 @@ -- @function [parent=#Director] drawScene -- @param self --------------------------------- --- / FIXME: missing description --- @function [parent=#Director] getZEye --- @param self --- @return float#float ret (return value: float) - -------------------------------- -- -- @function [parent=#Director] getMatrix @@ -313,6 +296,12 @@ -- @function [parent=#Director] popScene -- @param self +-------------------------------- +-- +-- @function [parent=#Director] loadIdentityMatrix +-- @param self +-- @param #int type + -------------------------------- -- Whether or not to display the FPS on the bottom-left corner -- @function [parent=#Director] isDisplayStats @@ -325,11 +314,25 @@ -- @param self -- @param #int projection +-------------------------------- +-- Returns the Console
+-- since v3.0 +-- @function [parent=#Director] getConsole +-- @param self +-- @return Console#Console ret (return value: cc.Console) + -------------------------------- -- --- @function [parent=#Director] loadIdentityMatrix +-- @function [parent=#Director] multiplyMatrix -- @param self -- @param #int type +-- @param #mat4_table mat + +-------------------------------- +-- / FIXME: missing description +-- @function [parent=#Director] getZEye +-- @param self +-- @return float#float ret (return value: float) -------------------------------- -- @@ -337,11 +340,6 @@ -- @param self -- @param #bool nextDeltaTimeZero --------------------------------- --- --- @function [parent=#Director] resetMatrixStack --- @param self - -------------------------------- -- -- @function [parent=#Director] popMatrix @@ -364,10 +362,13 @@ -- @return Scheduler#Scheduler ret (return value: cc.Scheduler) -------------------------------- --- Set the FPS value. --- @function [parent=#Director] setAnimationInterval +-- Suspends the execution of the running scene, pushing it on the stack of suspended scenes.
+-- The new scene will be executed.
+-- Try to avoid big stacks of pushed scenes to reduce memory allocation.
+-- ONLY call it if there is a running scene. +-- @function [parent=#Director] pushScene -- @param self --- @param #double interval +-- @param #cc.Scene scene -------------------------------- -- Get the FPS value @@ -402,11 +403,10 @@ -- @param #cc.Scene scene -------------------------------- --- --- @function [parent=#Director] multiplyMatrix +-- Set the FPS value. +-- @function [parent=#Director] setAnimationInterval -- @param self --- @param #int type --- @param #mat4_table mat +-- @param #double interval -------------------------------- -- Gets the ActionManager associated with this director
diff --git a/cocos/scripting/lua-bindings/auto/lua_cocos2dx_auto.cpp b/cocos/scripting/lua-bindings/auto/lua_cocos2dx_auto.cpp index e6baedae6c..d795a814d0 100644 --- a/cocos/scripting/lua-bindings/auto/lua_cocos2dx_auto.cpp +++ b/cocos/scripting/lua-bindings/auto/lua_cocos2dx_auto.cpp @@ -10763,7 +10763,7 @@ int lua_cocos2dx_Director_setEventDispatcher(lua_State* tolua_S) return 0; } -int lua_cocos2dx_Director_pushScene(lua_State* tolua_S) +int lua_cocos2dx_Director_setContentScaleFactor(lua_State* tolua_S) { int argc = 0; cocos2d::Director* cobj = nullptr; @@ -10783,7 +10783,7 @@ int lua_cocos2dx_Director_pushScene(lua_State* tolua_S) #if COCOS2D_DEBUG >= 1 if (!cobj) { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_pushScene'", nullptr); + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_setContentScaleFactor'", nullptr); return 0; } #endif @@ -10791,64 +10791,20 @@ int lua_cocos2dx_Director_pushScene(lua_State* tolua_S) argc = lua_gettop(tolua_S)-1; if (argc == 1) { - cocos2d::Scene* arg0; + double arg0; - ok &= luaval_to_object(tolua_S, 2, "cc.Scene",&arg0); + ok &= luaval_to_number(tolua_S, 2,&arg0, "cc.Director:setContentScaleFactor"); if(!ok) return 0; - cobj->pushScene(arg0); + cobj->setContentScaleFactor(arg0); return 0; } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:pushScene",argc, 1); + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:setContentScaleFactor",argc, 1); return 0; #if COCOS2D_DEBUG >= 1 tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_pushScene'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_Director_getDeltaTime(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::Director* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.Director",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::Director*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_getDeltaTime'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - double ret = cobj->getDeltaTime(); - tolua_pushnumber(tolua_S,(lua_Number)ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:getDeltaTime",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_getDeltaTime'.",&tolua_err); + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_setContentScaleFactor'.",&tolua_err); #endif return 0; @@ -10941,7 +10897,7 @@ int lua_cocos2dx_Director_getWinSizeInPixels(lua_State* tolua_S) return 0; } -int lua_cocos2dx_Director_getConsole(lua_State* tolua_S) +int lua_cocos2dx_Director_getDeltaTime(lua_State* tolua_S) { int argc = 0; cocos2d::Director* cobj = nullptr; @@ -10961,7 +10917,7 @@ int lua_cocos2dx_Director_getConsole(lua_State* tolua_S) #if COCOS2D_DEBUG >= 1 if (!cobj) { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_getConsole'", nullptr); + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_getDeltaTime'", nullptr); return 0; } #endif @@ -10971,62 +10927,16 @@ int lua_cocos2dx_Director_getConsole(lua_State* tolua_S) { if(!ok) return 0; - cocos2d::Console* ret = cobj->getConsole(); - object_to_luaval(tolua_S, "cc.Console",(cocos2d::Console*)ret); + double ret = cobj->getDeltaTime(); + tolua_pushnumber(tolua_S,(lua_Number)ret); return 1; } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:getConsole",argc, 0); + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:getDeltaTime",argc, 0); return 0; #if COCOS2D_DEBUG >= 1 tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_getConsole'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_Director_pushMatrix(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::Director* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.Director",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::Director*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_pushMatrix'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 1) - { - cocos2d::MATRIX_STACK_TYPE arg0; - - ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.Director:pushMatrix"); - if(!ok) - return 0; - cobj->pushMatrix(arg0); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:pushMatrix",argc, 1); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_pushMatrix'.",&tolua_err); + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_getDeltaTime'.",&tolua_err); #endif return 0; @@ -11655,6 +11565,49 @@ int lua_cocos2dx_Director_getSecondsPerFrame(lua_State* tolua_S) return 0; } +int lua_cocos2dx_Director_resetMatrixStack(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::Director* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.Director",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::Director*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_resetMatrixStack'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + cobj->resetMatrixStack(); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:resetMatrixStack",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_resetMatrixStack'.",&tolua_err); +#endif + + return 0; +} int lua_cocos2dx_Director_convertToUI(lua_State* tolua_S) { int argc = 0; @@ -11702,6 +11655,52 @@ int lua_cocos2dx_Director_convertToUI(lua_State* tolua_S) return 0; } +int lua_cocos2dx_Director_pushMatrix(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::Director* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.Director",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::Director*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_pushMatrix'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 1) + { + cocos2d::MATRIX_STACK_TYPE arg0; + + ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.Director:pushMatrix"); + if(!ok) + return 0; + cobj->pushMatrix(arg0); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:pushMatrix",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_pushMatrix'.",&tolua_err); +#endif + + return 0; +} int lua_cocos2dx_Director_setDefaultValues(lua_State* tolua_S) { int argc = 0; @@ -12052,52 +12051,6 @@ int lua_cocos2dx_Director_stopAnimation(lua_State* tolua_S) return 0; } -int lua_cocos2dx_Director_setContentScaleFactor(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::Director* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.Director",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::Director*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_setContentScaleFactor'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 1) - { - double arg0; - - ok &= luaval_to_number(tolua_S, 2,&arg0, "cc.Director:setContentScaleFactor"); - if(!ok) - return 0; - cobj->setContentScaleFactor(arg0); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:setContentScaleFactor",argc, 1); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_setContentScaleFactor'.",&tolua_err); -#endif - - return 0; -} int lua_cocos2dx_Director_popToSceneStackLevel(lua_State* tolua_S) { int argc = 0; @@ -12589,50 +12542,6 @@ int lua_cocos2dx_Director_drawScene(lua_State* tolua_S) return 0; } -int lua_cocos2dx_Director_getZEye(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::Director* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.Director",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::Director*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_getZEye'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - double ret = cobj->getZEye(); - tolua_pushnumber(tolua_S,(lua_Number)ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:getZEye",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_getZEye'.",&tolua_err); -#endif - - return 0; -} int lua_cocos2dx_Director_getMatrix(lua_State* tolua_S) { int argc = 0; @@ -12666,7 +12575,7 @@ int lua_cocos2dx_Director_getMatrix(lua_State* tolua_S) ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.Director:getMatrix"); if(!ok) return 0; - cocos2d::Mat4 ret = cobj->getMatrix(arg0); + const cocos2d::Mat4& ret = cobj->getMatrix(arg0); mat4_to_luaval(tolua_S, ret); return 1; } @@ -12723,6 +12632,52 @@ int lua_cocos2dx_Director_popScene(lua_State* tolua_S) return 0; } +int lua_cocos2dx_Director_loadIdentityMatrix(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::Director* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.Director",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::Director*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_loadIdentityMatrix'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 1) + { + cocos2d::MATRIX_STACK_TYPE arg0; + + ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.Director:loadIdentityMatrix"); + if(!ok) + return 0; + cobj->loadIdentityMatrix(arg0); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:loadIdentityMatrix",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_loadIdentityMatrix'.",&tolua_err); +#endif + + return 0; +} int lua_cocos2dx_Director_isDisplayStats(lua_State* tolua_S) { int argc = 0; @@ -12813,7 +12768,7 @@ int lua_cocos2dx_Director_setProjection(lua_State* tolua_S) return 0; } -int lua_cocos2dx_Director_loadIdentityMatrix(lua_State* tolua_S) +int lua_cocos2dx_Director_getConsole(lua_State* tolua_S) { int argc = 0; cocos2d::Director* cobj = nullptr; @@ -12833,28 +12788,119 @@ int lua_cocos2dx_Director_loadIdentityMatrix(lua_State* tolua_S) #if COCOS2D_DEBUG >= 1 if (!cobj) { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_loadIdentityMatrix'", nullptr); + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_getConsole'", nullptr); return 0; } #endif argc = lua_gettop(tolua_S)-1; - if (argc == 1) + if (argc == 0) { - cocos2d::MATRIX_STACK_TYPE arg0; - - ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.Director:loadIdentityMatrix"); if(!ok) return 0; - cobj->loadIdentityMatrix(arg0); - return 0; + cocos2d::Console* ret = cobj->getConsole(); + object_to_luaval(tolua_S, "cc.Console",(cocos2d::Console*)ret); + return 1; } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:loadIdentityMatrix",argc, 1); + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:getConsole",argc, 0); return 0; #if COCOS2D_DEBUG >= 1 tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_loadIdentityMatrix'.",&tolua_err); + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_getConsole'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_Director_multiplyMatrix(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::Director* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.Director",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::Director*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_multiplyMatrix'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 2) + { + cocos2d::MATRIX_STACK_TYPE arg0; + cocos2d::Mat4 arg1; + + ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.Director:multiplyMatrix"); + + ok &= luaval_to_mat4(tolua_S, 3, &arg1, "cc.Director:multiplyMatrix"); + if(!ok) + return 0; + cobj->multiplyMatrix(arg0, arg1); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:multiplyMatrix",argc, 2); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_multiplyMatrix'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_Director_getZEye(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::Director* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.Director",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::Director*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_getZEye'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + double ret = cobj->getZEye(); + tolua_pushnumber(tolua_S,(lua_Number)ret); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:getZEye",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_getZEye'.",&tolua_err); #endif return 0; @@ -12905,49 +12951,6 @@ int lua_cocos2dx_Director_setNextDeltaTimeZero(lua_State* tolua_S) return 0; } -int lua_cocos2dx_Director_resetMatrixStack(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::Director* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.Director",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::Director*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_resetMatrixStack'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - cobj->resetMatrixStack(); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:resetMatrixStack",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_resetMatrixStack'.",&tolua_err); -#endif - - return 0; -} int lua_cocos2dx_Director_popMatrix(lua_State* tolua_S) { int argc = 0; @@ -13082,7 +13085,7 @@ int lua_cocos2dx_Director_getScheduler(lua_State* tolua_S) return 0; } -int lua_cocos2dx_Director_setAnimationInterval(lua_State* tolua_S) +int lua_cocos2dx_Director_pushScene(lua_State* tolua_S) { int argc = 0; cocos2d::Director* cobj = nullptr; @@ -13102,7 +13105,7 @@ int lua_cocos2dx_Director_setAnimationInterval(lua_State* tolua_S) #if COCOS2D_DEBUG >= 1 if (!cobj) { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_setAnimationInterval'", nullptr); + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_pushScene'", nullptr); return 0; } #endif @@ -13110,20 +13113,20 @@ int lua_cocos2dx_Director_setAnimationInterval(lua_State* tolua_S) argc = lua_gettop(tolua_S)-1; if (argc == 1) { - double arg0; + cocos2d::Scene* arg0; - ok &= luaval_to_number(tolua_S, 2,&arg0, "cc.Director:setAnimationInterval"); + ok &= luaval_to_object(tolua_S, 2, "cc.Scene",&arg0); if(!ok) return 0; - cobj->setAnimationInterval(arg0); + cobj->pushScene(arg0); return 0; } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:setAnimationInterval",argc, 1); + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:pushScene",argc, 1); return 0; #if COCOS2D_DEBUG >= 1 tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_setAnimationInterval'.",&tolua_err); + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_pushScene'.",&tolua_err); #endif return 0; @@ -13352,7 +13355,7 @@ int lua_cocos2dx_Director_replaceScene(lua_State* tolua_S) return 0; } -int lua_cocos2dx_Director_multiplyMatrix(lua_State* tolua_S) +int lua_cocos2dx_Director_setAnimationInterval(lua_State* tolua_S) { int argc = 0; cocos2d::Director* cobj = nullptr; @@ -13372,31 +13375,28 @@ int lua_cocos2dx_Director_multiplyMatrix(lua_State* tolua_S) #if COCOS2D_DEBUG >= 1 if (!cobj) { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_multiplyMatrix'", nullptr); + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_setAnimationInterval'", nullptr); return 0; } #endif argc = lua_gettop(tolua_S)-1; - if (argc == 2) + if (argc == 1) { - cocos2d::MATRIX_STACK_TYPE arg0; - cocos2d::Mat4 arg1; + double arg0; - ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.Director:multiplyMatrix"); - - ok &= luaval_to_mat4(tolua_S, 3, &arg1, "cc.Director:multiplyMatrix"); + ok &= luaval_to_number(tolua_S, 2,&arg0, "cc.Director:setAnimationInterval"); if(!ok) return 0; - cobj->multiplyMatrix(arg0, arg1); + cobj->setAnimationInterval(arg0); return 0; } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:multiplyMatrix",argc, 2); + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:setAnimationInterval",argc, 1); return 0; #if COCOS2D_DEBUG >= 1 tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_multiplyMatrix'.",&tolua_err); + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_setAnimationInterval'.",&tolua_err); #endif return 0; @@ -13490,12 +13490,10 @@ int lua_register_cocos2dx_Director(lua_State* tolua_S) tolua_beginmodule(tolua_S,"Director"); tolua_function(tolua_S,"pause",lua_cocos2dx_Director_pause); tolua_function(tolua_S,"setEventDispatcher",lua_cocos2dx_Director_setEventDispatcher); - tolua_function(tolua_S,"pushScene",lua_cocos2dx_Director_pushScene); - tolua_function(tolua_S,"getDeltaTime",lua_cocos2dx_Director_getDeltaTime); + tolua_function(tolua_S,"setContentScaleFactor",lua_cocos2dx_Director_setContentScaleFactor); tolua_function(tolua_S,"getContentScaleFactor",lua_cocos2dx_Director_getContentScaleFactor); tolua_function(tolua_S,"getWinSizeInPixels",lua_cocos2dx_Director_getWinSizeInPixels); - tolua_function(tolua_S,"getConsole",lua_cocos2dx_Director_getConsole); - tolua_function(tolua_S,"pushMatrix",lua_cocos2dx_Director_pushMatrix); + tolua_function(tolua_S,"getDeltaTime",lua_cocos2dx_Director_getDeltaTime); tolua_function(tolua_S,"setGLDefaultValues",lua_cocos2dx_Director_setGLDefaultValues); tolua_function(tolua_S,"setActionManager",lua_cocos2dx_Director_setActionManager); tolua_function(tolua_S,"setAlphaBlending",lua_cocos2dx_Director_setAlphaBlending); @@ -13510,7 +13508,9 @@ int lua_register_cocos2dx_Director(lua_State* tolua_S) tolua_function(tolua_S,"setDepthTest",lua_cocos2dx_Director_setDepthTest); tolua_function(tolua_S,"getFrameRate",lua_cocos2dx_Director_getFrameRate); tolua_function(tolua_S,"getSecondsPerFrame",lua_cocos2dx_Director_getSecondsPerFrame); + tolua_function(tolua_S,"resetMatrixStack",lua_cocos2dx_Director_resetMatrixStack); tolua_function(tolua_S,"convertToUI",lua_cocos2dx_Director_convertToUI); + tolua_function(tolua_S,"pushMatrix",lua_cocos2dx_Director_pushMatrix); tolua_function(tolua_S,"setDefaultValues",lua_cocos2dx_Director_setDefaultValues); tolua_function(tolua_S,"init",lua_cocos2dx_Director_init); tolua_function(tolua_S,"setScheduler",lua_cocos2dx_Director_setScheduler); @@ -13519,7 +13519,6 @@ int lua_register_cocos2dx_Director(lua_State* tolua_S) tolua_function(tolua_S,"getRunningScene",lua_cocos2dx_Director_getRunningScene); tolua_function(tolua_S,"setViewport",lua_cocos2dx_Director_setViewport); tolua_function(tolua_S,"stopAnimation",lua_cocos2dx_Director_stopAnimation); - tolua_function(tolua_S,"setContentScaleFactor",lua_cocos2dx_Director_setContentScaleFactor); tolua_function(tolua_S,"popToSceneStackLevel",lua_cocos2dx_Director_popToSceneStackLevel); tolua_function(tolua_S,"resume",lua_cocos2dx_Director_resume); tolua_function(tolua_S,"isNextDeltaTimeZero",lua_cocos2dx_Director_isNextDeltaTimeZero); @@ -13531,24 +13530,25 @@ int lua_register_cocos2dx_Director(lua_State* tolua_S) tolua_function(tolua_S,"runWithScene",lua_cocos2dx_Director_runWithScene); tolua_function(tolua_S,"setNotificationNode",lua_cocos2dx_Director_setNotificationNode); tolua_function(tolua_S,"drawScene",lua_cocos2dx_Director_drawScene); - tolua_function(tolua_S,"getZEye",lua_cocos2dx_Director_getZEye); tolua_function(tolua_S,"getMatrix",lua_cocos2dx_Director_getMatrix); tolua_function(tolua_S,"popScene",lua_cocos2dx_Director_popScene); + tolua_function(tolua_S,"loadIdentityMatrix",lua_cocos2dx_Director_loadIdentityMatrix); tolua_function(tolua_S,"isDisplayStats",lua_cocos2dx_Director_isDisplayStats); tolua_function(tolua_S,"setProjection",lua_cocos2dx_Director_setProjection); - tolua_function(tolua_S,"loadIdentityMatrix",lua_cocos2dx_Director_loadIdentityMatrix); + tolua_function(tolua_S,"getConsole",lua_cocos2dx_Director_getConsole); + tolua_function(tolua_S,"multiplyMatrix",lua_cocos2dx_Director_multiplyMatrix); + tolua_function(tolua_S,"getZEye",lua_cocos2dx_Director_getZEye); tolua_function(tolua_S,"setNextDeltaTimeZero",lua_cocos2dx_Director_setNextDeltaTimeZero); - tolua_function(tolua_S,"resetMatrixStack",lua_cocos2dx_Director_resetMatrixStack); tolua_function(tolua_S,"popMatrix",lua_cocos2dx_Director_popMatrix); tolua_function(tolua_S,"getVisibleSize",lua_cocos2dx_Director_getVisibleSize); tolua_function(tolua_S,"getScheduler",lua_cocos2dx_Director_getScheduler); - tolua_function(tolua_S,"setAnimationInterval",lua_cocos2dx_Director_setAnimationInterval); + tolua_function(tolua_S,"pushScene",lua_cocos2dx_Director_pushScene); tolua_function(tolua_S,"getAnimationInterval",lua_cocos2dx_Director_getAnimationInterval); tolua_function(tolua_S,"isPaused",lua_cocos2dx_Director_isPaused); tolua_function(tolua_S,"setDisplayStats",lua_cocos2dx_Director_setDisplayStats); tolua_function(tolua_S,"getEventDispatcher",lua_cocos2dx_Director_getEventDispatcher); tolua_function(tolua_S,"replaceScene",lua_cocos2dx_Director_replaceScene); - tolua_function(tolua_S,"multiplyMatrix",lua_cocos2dx_Director_multiplyMatrix); + tolua_function(tolua_S,"setAnimationInterval",lua_cocos2dx_Director_setAnimationInterval); tolua_function(tolua_S,"getActionManager",lua_cocos2dx_Director_getActionManager); tolua_function(tolua_S,"getInstance", lua_cocos2dx_Director_getInstance); tolua_endmodule(tolua_S); From 13f9073e22e074ab8af6523869a8267fc34c1990 Mon Sep 17 00:00:00 2001 From: CocosRobot Date: Wed, 5 Nov 2014 05:44:02 +0000 Subject: [PATCH 19/48] [AUTO]: updating luabinding automatically --- .../lua-bindings/auto/api/Director.lua | 98 ++-- .../lua-bindings/auto/lua_cocos2dx_auto.cpp | 550 +++++++++--------- 2 files changed, 324 insertions(+), 324 deletions(-) diff --git a/cocos/scripting/lua-bindings/auto/api/Director.lua b/cocos/scripting/lua-bindings/auto/api/Director.lua index e7b3350567..6373be31ec 100644 --- a/cocos/scripting/lua-bindings/auto/api/Director.lua +++ b/cocos/scripting/lua-bindings/auto/api/Director.lua @@ -18,19 +18,13 @@ -- @param #cc.EventDispatcher dispatcher -------------------------------- --- Suspends the execution of the running scene, pushing it on the stack of suspended scenes.
--- The new scene will be executed.
--- Try to avoid big stacks of pushed scenes to reduce memory allocation.
--- ONLY call it if there is a running scene. --- @function [parent=#Director] pushScene +-- The size in pixels of the surface. It could be different than the screen size.
+-- High-res devices might have a higher surface size than the screen size.
+-- Only available when compiled using SDK >= 4.0.
+-- since v0.99.4 +-- @function [parent=#Director] setContentScaleFactor -- @param self --- @param #cc.Scene scene - --------------------------------- --- --- @function [parent=#Director] getDeltaTime --- @param self --- @return float#float ret (return value: float) +-- @param #float scaleFactor -------------------------------- -- @@ -44,18 +38,11 @@ -- @param self -- @return size_table#size_table ret (return value: size_table) --------------------------------- --- Returns the Console
--- since v3.0 --- @function [parent=#Director] getConsole --- @param self --- @return Console#Console ret (return value: cc.Console) - -------------------------------- -- --- @function [parent=#Director] pushMatrix +-- @function [parent=#Director] getDeltaTime -- @param self --- @param #int type +-- @return float#float ret (return value: float) -------------------------------- -- sets the OpenGL default values @@ -148,6 +135,11 @@ -- @param self -- @return float#float ret (return value: float) +-------------------------------- +-- +-- @function [parent=#Director] resetMatrixStack +-- @param self + -------------------------------- -- converts an OpenGL coordinate to a UIKit coordinate
-- Useful to convert node points to window points for calls such as glScissor @@ -156,6 +148,12 @@ -- @param #vec2_table point -- @return vec2_table#vec2_table ret (return value: vec2_table) +-------------------------------- +-- +-- @function [parent=#Director] pushMatrix +-- @param self +-- @param #int type + -------------------------------- -- sets the default values based on the Configuration info -- @function [parent=#Director] setDefaultValues @@ -206,15 +204,6 @@ -- @function [parent=#Director] stopAnimation -- @param self --------------------------------- --- The size in pixels of the surface. It could be different than the screen size.
--- High-res devices might have a higher surface size than the screen size.
--- Only available when compiled using SDK >= 4.0.
--- since v0.99.4 --- @function [parent=#Director] setContentScaleFactor --- @param self --- @param #float scaleFactor - -------------------------------- -- Pops out all scenes from the stack until it reaches `level`.
-- If level is 0, it will end the director.
@@ -292,12 +281,6 @@ -- @function [parent=#Director] drawScene -- @param self --------------------------------- --- / FIXME: missing description --- @function [parent=#Director] getZEye --- @param self --- @return float#float ret (return value: float) - -------------------------------- -- -- @function [parent=#Director] getMatrix @@ -313,6 +296,12 @@ -- @function [parent=#Director] popScene -- @param self +-------------------------------- +-- +-- @function [parent=#Director] loadIdentityMatrix +-- @param self +-- @param #int type + -------------------------------- -- Whether or not to display the FPS on the bottom-left corner -- @function [parent=#Director] isDisplayStats @@ -325,11 +314,25 @@ -- @param self -- @param #int projection +-------------------------------- +-- Returns the Console
+-- since v3.0 +-- @function [parent=#Director] getConsole +-- @param self +-- @return Console#Console ret (return value: cc.Console) + -------------------------------- -- --- @function [parent=#Director] loadIdentityMatrix +-- @function [parent=#Director] multiplyMatrix -- @param self -- @param #int type +-- @param #mat4_table mat + +-------------------------------- +-- / FIXME: missing description +-- @function [parent=#Director] getZEye +-- @param self +-- @return float#float ret (return value: float) -------------------------------- -- @@ -337,11 +340,6 @@ -- @param self -- @param #bool nextDeltaTimeZero --------------------------------- --- --- @function [parent=#Director] resetMatrixStack --- @param self - -------------------------------- -- -- @function [parent=#Director] popMatrix @@ -364,10 +362,13 @@ -- @return Scheduler#Scheduler ret (return value: cc.Scheduler) -------------------------------- --- Set the FPS value. --- @function [parent=#Director] setAnimationInterval +-- Suspends the execution of the running scene, pushing it on the stack of suspended scenes.
+-- The new scene will be executed.
+-- Try to avoid big stacks of pushed scenes to reduce memory allocation.
+-- ONLY call it if there is a running scene. +-- @function [parent=#Director] pushScene -- @param self --- @param #double interval +-- @param #cc.Scene scene -------------------------------- -- Get the FPS value @@ -402,11 +403,10 @@ -- @param #cc.Scene scene -------------------------------- --- --- @function [parent=#Director] multiplyMatrix +-- Set the FPS value. +-- @function [parent=#Director] setAnimationInterval -- @param self --- @param #int type --- @param #mat4_table mat +-- @param #double interval -------------------------------- -- Gets the ActionManager associated with this director
diff --git a/cocos/scripting/lua-bindings/auto/lua_cocos2dx_auto.cpp b/cocos/scripting/lua-bindings/auto/lua_cocos2dx_auto.cpp index e6baedae6c..d795a814d0 100644 --- a/cocos/scripting/lua-bindings/auto/lua_cocos2dx_auto.cpp +++ b/cocos/scripting/lua-bindings/auto/lua_cocos2dx_auto.cpp @@ -10763,7 +10763,7 @@ int lua_cocos2dx_Director_setEventDispatcher(lua_State* tolua_S) return 0; } -int lua_cocos2dx_Director_pushScene(lua_State* tolua_S) +int lua_cocos2dx_Director_setContentScaleFactor(lua_State* tolua_S) { int argc = 0; cocos2d::Director* cobj = nullptr; @@ -10783,7 +10783,7 @@ int lua_cocos2dx_Director_pushScene(lua_State* tolua_S) #if COCOS2D_DEBUG >= 1 if (!cobj) { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_pushScene'", nullptr); + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_setContentScaleFactor'", nullptr); return 0; } #endif @@ -10791,64 +10791,20 @@ int lua_cocos2dx_Director_pushScene(lua_State* tolua_S) argc = lua_gettop(tolua_S)-1; if (argc == 1) { - cocos2d::Scene* arg0; + double arg0; - ok &= luaval_to_object(tolua_S, 2, "cc.Scene",&arg0); + ok &= luaval_to_number(tolua_S, 2,&arg0, "cc.Director:setContentScaleFactor"); if(!ok) return 0; - cobj->pushScene(arg0); + cobj->setContentScaleFactor(arg0); return 0; } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:pushScene",argc, 1); + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:setContentScaleFactor",argc, 1); return 0; #if COCOS2D_DEBUG >= 1 tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_pushScene'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_Director_getDeltaTime(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::Director* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.Director",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::Director*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_getDeltaTime'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - double ret = cobj->getDeltaTime(); - tolua_pushnumber(tolua_S,(lua_Number)ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:getDeltaTime",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_getDeltaTime'.",&tolua_err); + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_setContentScaleFactor'.",&tolua_err); #endif return 0; @@ -10941,7 +10897,7 @@ int lua_cocos2dx_Director_getWinSizeInPixels(lua_State* tolua_S) return 0; } -int lua_cocos2dx_Director_getConsole(lua_State* tolua_S) +int lua_cocos2dx_Director_getDeltaTime(lua_State* tolua_S) { int argc = 0; cocos2d::Director* cobj = nullptr; @@ -10961,7 +10917,7 @@ int lua_cocos2dx_Director_getConsole(lua_State* tolua_S) #if COCOS2D_DEBUG >= 1 if (!cobj) { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_getConsole'", nullptr); + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_getDeltaTime'", nullptr); return 0; } #endif @@ -10971,62 +10927,16 @@ int lua_cocos2dx_Director_getConsole(lua_State* tolua_S) { if(!ok) return 0; - cocos2d::Console* ret = cobj->getConsole(); - object_to_luaval(tolua_S, "cc.Console",(cocos2d::Console*)ret); + double ret = cobj->getDeltaTime(); + tolua_pushnumber(tolua_S,(lua_Number)ret); return 1; } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:getConsole",argc, 0); + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:getDeltaTime",argc, 0); return 0; #if COCOS2D_DEBUG >= 1 tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_getConsole'.",&tolua_err); -#endif - - return 0; -} -int lua_cocos2dx_Director_pushMatrix(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::Director* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.Director",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::Director*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_pushMatrix'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 1) - { - cocos2d::MATRIX_STACK_TYPE arg0; - - ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.Director:pushMatrix"); - if(!ok) - return 0; - cobj->pushMatrix(arg0); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:pushMatrix",argc, 1); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_pushMatrix'.",&tolua_err); + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_getDeltaTime'.",&tolua_err); #endif return 0; @@ -11655,6 +11565,49 @@ int lua_cocos2dx_Director_getSecondsPerFrame(lua_State* tolua_S) return 0; } +int lua_cocos2dx_Director_resetMatrixStack(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::Director* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.Director",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::Director*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_resetMatrixStack'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + cobj->resetMatrixStack(); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:resetMatrixStack",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_resetMatrixStack'.",&tolua_err); +#endif + + return 0; +} int lua_cocos2dx_Director_convertToUI(lua_State* tolua_S) { int argc = 0; @@ -11702,6 +11655,52 @@ int lua_cocos2dx_Director_convertToUI(lua_State* tolua_S) return 0; } +int lua_cocos2dx_Director_pushMatrix(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::Director* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.Director",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::Director*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_pushMatrix'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 1) + { + cocos2d::MATRIX_STACK_TYPE arg0; + + ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.Director:pushMatrix"); + if(!ok) + return 0; + cobj->pushMatrix(arg0); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:pushMatrix",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_pushMatrix'.",&tolua_err); +#endif + + return 0; +} int lua_cocos2dx_Director_setDefaultValues(lua_State* tolua_S) { int argc = 0; @@ -12052,52 +12051,6 @@ int lua_cocos2dx_Director_stopAnimation(lua_State* tolua_S) return 0; } -int lua_cocos2dx_Director_setContentScaleFactor(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::Director* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.Director",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::Director*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_setContentScaleFactor'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 1) - { - double arg0; - - ok &= luaval_to_number(tolua_S, 2,&arg0, "cc.Director:setContentScaleFactor"); - if(!ok) - return 0; - cobj->setContentScaleFactor(arg0); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:setContentScaleFactor",argc, 1); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_setContentScaleFactor'.",&tolua_err); -#endif - - return 0; -} int lua_cocos2dx_Director_popToSceneStackLevel(lua_State* tolua_S) { int argc = 0; @@ -12589,50 +12542,6 @@ int lua_cocos2dx_Director_drawScene(lua_State* tolua_S) return 0; } -int lua_cocos2dx_Director_getZEye(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::Director* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.Director",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::Director*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_getZEye'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - double ret = cobj->getZEye(); - tolua_pushnumber(tolua_S,(lua_Number)ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:getZEye",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_getZEye'.",&tolua_err); -#endif - - return 0; -} int lua_cocos2dx_Director_getMatrix(lua_State* tolua_S) { int argc = 0; @@ -12666,7 +12575,7 @@ int lua_cocos2dx_Director_getMatrix(lua_State* tolua_S) ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.Director:getMatrix"); if(!ok) return 0; - cocos2d::Mat4 ret = cobj->getMatrix(arg0); + const cocos2d::Mat4& ret = cobj->getMatrix(arg0); mat4_to_luaval(tolua_S, ret); return 1; } @@ -12723,6 +12632,52 @@ int lua_cocos2dx_Director_popScene(lua_State* tolua_S) return 0; } +int lua_cocos2dx_Director_loadIdentityMatrix(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::Director* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.Director",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::Director*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_loadIdentityMatrix'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 1) + { + cocos2d::MATRIX_STACK_TYPE arg0; + + ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.Director:loadIdentityMatrix"); + if(!ok) + return 0; + cobj->loadIdentityMatrix(arg0); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:loadIdentityMatrix",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_loadIdentityMatrix'.",&tolua_err); +#endif + + return 0; +} int lua_cocos2dx_Director_isDisplayStats(lua_State* tolua_S) { int argc = 0; @@ -12813,7 +12768,7 @@ int lua_cocos2dx_Director_setProjection(lua_State* tolua_S) return 0; } -int lua_cocos2dx_Director_loadIdentityMatrix(lua_State* tolua_S) +int lua_cocos2dx_Director_getConsole(lua_State* tolua_S) { int argc = 0; cocos2d::Director* cobj = nullptr; @@ -12833,28 +12788,119 @@ int lua_cocos2dx_Director_loadIdentityMatrix(lua_State* tolua_S) #if COCOS2D_DEBUG >= 1 if (!cobj) { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_loadIdentityMatrix'", nullptr); + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_getConsole'", nullptr); return 0; } #endif argc = lua_gettop(tolua_S)-1; - if (argc == 1) + if (argc == 0) { - cocos2d::MATRIX_STACK_TYPE arg0; - - ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.Director:loadIdentityMatrix"); if(!ok) return 0; - cobj->loadIdentityMatrix(arg0); - return 0; + cocos2d::Console* ret = cobj->getConsole(); + object_to_luaval(tolua_S, "cc.Console",(cocos2d::Console*)ret); + return 1; } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:loadIdentityMatrix",argc, 1); + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:getConsole",argc, 0); return 0; #if COCOS2D_DEBUG >= 1 tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_loadIdentityMatrix'.",&tolua_err); + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_getConsole'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_Director_multiplyMatrix(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::Director* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.Director",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::Director*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_multiplyMatrix'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 2) + { + cocos2d::MATRIX_STACK_TYPE arg0; + cocos2d::Mat4 arg1; + + ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.Director:multiplyMatrix"); + + ok &= luaval_to_mat4(tolua_S, 3, &arg1, "cc.Director:multiplyMatrix"); + if(!ok) + return 0; + cobj->multiplyMatrix(arg0, arg1); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:multiplyMatrix",argc, 2); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_multiplyMatrix'.",&tolua_err); +#endif + + return 0; +} +int lua_cocos2dx_Director_getZEye(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::Director* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.Director",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::Director*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_getZEye'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 0) + { + if(!ok) + return 0; + double ret = cobj->getZEye(); + tolua_pushnumber(tolua_S,(lua_Number)ret); + return 1; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:getZEye",argc, 0); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_getZEye'.",&tolua_err); #endif return 0; @@ -12905,49 +12951,6 @@ int lua_cocos2dx_Director_setNextDeltaTimeZero(lua_State* tolua_S) return 0; } -int lua_cocos2dx_Director_resetMatrixStack(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::Director* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.Director",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::Director*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_resetMatrixStack'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - cobj->resetMatrixStack(); - return 0; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:resetMatrixStack",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_resetMatrixStack'.",&tolua_err); -#endif - - return 0; -} int lua_cocos2dx_Director_popMatrix(lua_State* tolua_S) { int argc = 0; @@ -13082,7 +13085,7 @@ int lua_cocos2dx_Director_getScheduler(lua_State* tolua_S) return 0; } -int lua_cocos2dx_Director_setAnimationInterval(lua_State* tolua_S) +int lua_cocos2dx_Director_pushScene(lua_State* tolua_S) { int argc = 0; cocos2d::Director* cobj = nullptr; @@ -13102,7 +13105,7 @@ int lua_cocos2dx_Director_setAnimationInterval(lua_State* tolua_S) #if COCOS2D_DEBUG >= 1 if (!cobj) { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_setAnimationInterval'", nullptr); + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_pushScene'", nullptr); return 0; } #endif @@ -13110,20 +13113,20 @@ int lua_cocos2dx_Director_setAnimationInterval(lua_State* tolua_S) argc = lua_gettop(tolua_S)-1; if (argc == 1) { - double arg0; + cocos2d::Scene* arg0; - ok &= luaval_to_number(tolua_S, 2,&arg0, "cc.Director:setAnimationInterval"); + ok &= luaval_to_object(tolua_S, 2, "cc.Scene",&arg0); if(!ok) return 0; - cobj->setAnimationInterval(arg0); + cobj->pushScene(arg0); return 0; } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:setAnimationInterval",argc, 1); + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:pushScene",argc, 1); return 0; #if COCOS2D_DEBUG >= 1 tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_setAnimationInterval'.",&tolua_err); + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_pushScene'.",&tolua_err); #endif return 0; @@ -13352,7 +13355,7 @@ int lua_cocos2dx_Director_replaceScene(lua_State* tolua_S) return 0; } -int lua_cocos2dx_Director_multiplyMatrix(lua_State* tolua_S) +int lua_cocos2dx_Director_setAnimationInterval(lua_State* tolua_S) { int argc = 0; cocos2d::Director* cobj = nullptr; @@ -13372,31 +13375,28 @@ int lua_cocos2dx_Director_multiplyMatrix(lua_State* tolua_S) #if COCOS2D_DEBUG >= 1 if (!cobj) { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_multiplyMatrix'", nullptr); + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_Director_setAnimationInterval'", nullptr); return 0; } #endif argc = lua_gettop(tolua_S)-1; - if (argc == 2) + if (argc == 1) { - cocos2d::MATRIX_STACK_TYPE arg0; - cocos2d::Mat4 arg1; + double arg0; - ok &= luaval_to_int32(tolua_S, 2,(int *)&arg0, "cc.Director:multiplyMatrix"); - - ok &= luaval_to_mat4(tolua_S, 3, &arg1, "cc.Director:multiplyMatrix"); + ok &= luaval_to_number(tolua_S, 2,&arg0, "cc.Director:setAnimationInterval"); if(!ok) return 0; - cobj->multiplyMatrix(arg0, arg1); + cobj->setAnimationInterval(arg0); return 0; } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:multiplyMatrix",argc, 2); + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Director:setAnimationInterval",argc, 1); return 0; #if COCOS2D_DEBUG >= 1 tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_multiplyMatrix'.",&tolua_err); + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_Director_setAnimationInterval'.",&tolua_err); #endif return 0; @@ -13490,12 +13490,10 @@ int lua_register_cocos2dx_Director(lua_State* tolua_S) tolua_beginmodule(tolua_S,"Director"); tolua_function(tolua_S,"pause",lua_cocos2dx_Director_pause); tolua_function(tolua_S,"setEventDispatcher",lua_cocos2dx_Director_setEventDispatcher); - tolua_function(tolua_S,"pushScene",lua_cocos2dx_Director_pushScene); - tolua_function(tolua_S,"getDeltaTime",lua_cocos2dx_Director_getDeltaTime); + tolua_function(tolua_S,"setContentScaleFactor",lua_cocos2dx_Director_setContentScaleFactor); tolua_function(tolua_S,"getContentScaleFactor",lua_cocos2dx_Director_getContentScaleFactor); tolua_function(tolua_S,"getWinSizeInPixels",lua_cocos2dx_Director_getWinSizeInPixels); - tolua_function(tolua_S,"getConsole",lua_cocos2dx_Director_getConsole); - tolua_function(tolua_S,"pushMatrix",lua_cocos2dx_Director_pushMatrix); + tolua_function(tolua_S,"getDeltaTime",lua_cocos2dx_Director_getDeltaTime); tolua_function(tolua_S,"setGLDefaultValues",lua_cocos2dx_Director_setGLDefaultValues); tolua_function(tolua_S,"setActionManager",lua_cocos2dx_Director_setActionManager); tolua_function(tolua_S,"setAlphaBlending",lua_cocos2dx_Director_setAlphaBlending); @@ -13510,7 +13508,9 @@ int lua_register_cocos2dx_Director(lua_State* tolua_S) tolua_function(tolua_S,"setDepthTest",lua_cocos2dx_Director_setDepthTest); tolua_function(tolua_S,"getFrameRate",lua_cocos2dx_Director_getFrameRate); tolua_function(tolua_S,"getSecondsPerFrame",lua_cocos2dx_Director_getSecondsPerFrame); + tolua_function(tolua_S,"resetMatrixStack",lua_cocos2dx_Director_resetMatrixStack); tolua_function(tolua_S,"convertToUI",lua_cocos2dx_Director_convertToUI); + tolua_function(tolua_S,"pushMatrix",lua_cocos2dx_Director_pushMatrix); tolua_function(tolua_S,"setDefaultValues",lua_cocos2dx_Director_setDefaultValues); tolua_function(tolua_S,"init",lua_cocos2dx_Director_init); tolua_function(tolua_S,"setScheduler",lua_cocos2dx_Director_setScheduler); @@ -13519,7 +13519,6 @@ int lua_register_cocos2dx_Director(lua_State* tolua_S) tolua_function(tolua_S,"getRunningScene",lua_cocos2dx_Director_getRunningScene); tolua_function(tolua_S,"setViewport",lua_cocos2dx_Director_setViewport); tolua_function(tolua_S,"stopAnimation",lua_cocos2dx_Director_stopAnimation); - tolua_function(tolua_S,"setContentScaleFactor",lua_cocos2dx_Director_setContentScaleFactor); tolua_function(tolua_S,"popToSceneStackLevel",lua_cocos2dx_Director_popToSceneStackLevel); tolua_function(tolua_S,"resume",lua_cocos2dx_Director_resume); tolua_function(tolua_S,"isNextDeltaTimeZero",lua_cocos2dx_Director_isNextDeltaTimeZero); @@ -13531,24 +13530,25 @@ int lua_register_cocos2dx_Director(lua_State* tolua_S) tolua_function(tolua_S,"runWithScene",lua_cocos2dx_Director_runWithScene); tolua_function(tolua_S,"setNotificationNode",lua_cocos2dx_Director_setNotificationNode); tolua_function(tolua_S,"drawScene",lua_cocos2dx_Director_drawScene); - tolua_function(tolua_S,"getZEye",lua_cocos2dx_Director_getZEye); tolua_function(tolua_S,"getMatrix",lua_cocos2dx_Director_getMatrix); tolua_function(tolua_S,"popScene",lua_cocos2dx_Director_popScene); + tolua_function(tolua_S,"loadIdentityMatrix",lua_cocos2dx_Director_loadIdentityMatrix); tolua_function(tolua_S,"isDisplayStats",lua_cocos2dx_Director_isDisplayStats); tolua_function(tolua_S,"setProjection",lua_cocos2dx_Director_setProjection); - tolua_function(tolua_S,"loadIdentityMatrix",lua_cocos2dx_Director_loadIdentityMatrix); + tolua_function(tolua_S,"getConsole",lua_cocos2dx_Director_getConsole); + tolua_function(tolua_S,"multiplyMatrix",lua_cocos2dx_Director_multiplyMatrix); + tolua_function(tolua_S,"getZEye",lua_cocos2dx_Director_getZEye); tolua_function(tolua_S,"setNextDeltaTimeZero",lua_cocos2dx_Director_setNextDeltaTimeZero); - tolua_function(tolua_S,"resetMatrixStack",lua_cocos2dx_Director_resetMatrixStack); tolua_function(tolua_S,"popMatrix",lua_cocos2dx_Director_popMatrix); tolua_function(tolua_S,"getVisibleSize",lua_cocos2dx_Director_getVisibleSize); tolua_function(tolua_S,"getScheduler",lua_cocos2dx_Director_getScheduler); - tolua_function(tolua_S,"setAnimationInterval",lua_cocos2dx_Director_setAnimationInterval); + tolua_function(tolua_S,"pushScene",lua_cocos2dx_Director_pushScene); tolua_function(tolua_S,"getAnimationInterval",lua_cocos2dx_Director_getAnimationInterval); tolua_function(tolua_S,"isPaused",lua_cocos2dx_Director_isPaused); tolua_function(tolua_S,"setDisplayStats",lua_cocos2dx_Director_setDisplayStats); tolua_function(tolua_S,"getEventDispatcher",lua_cocos2dx_Director_getEventDispatcher); tolua_function(tolua_S,"replaceScene",lua_cocos2dx_Director_replaceScene); - tolua_function(tolua_S,"multiplyMatrix",lua_cocos2dx_Director_multiplyMatrix); + tolua_function(tolua_S,"setAnimationInterval",lua_cocos2dx_Director_setAnimationInterval); tolua_function(tolua_S,"getActionManager",lua_cocos2dx_Director_getActionManager); tolua_function(tolua_S,"getInstance", lua_cocos2dx_Director_getInstance); tolua_endmodule(tolua_S); From 7123902f117c32570c462ee4f6857b086561cee5 Mon Sep 17 00:00:00 2001 From: minggo Date: Wed, 5 Nov 2014 17:51:35 +0800 Subject: [PATCH 20/48] [ci skip] Update CHANGELOG --- CHANGELOG | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 4e79ba17c7..64cfb52102 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,8 @@ cocos2d-x-3.3 ?? [NEW] Vec2: added greater than operator + [FIX] Button: when the dimension of button title is larger than the button, button will scale to fit the dimension of the button title + [FIX] Camera: does not work correctly when the up is not (0, 1, 0) [FIX] Cocos console: compile failure on windows if using VS express version [FIX] GrawNode: drawPoint() may cause crash [FIX] GLProgramCache: doesn't release old program with the same key before adding a new one From 46972eb4771d89f2e14eaa4c6ffe6e06e79c0ac3 Mon Sep 17 00:00:00 2001 From: minggo Date: Wed, 5 Nov 2014 17:53:38 +0800 Subject: [PATCH 21/48] [ci skip]Update Authors --- AUTHORS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/AUTHORS b/AUTHORS index 23bb7b5b6b..9c43864ffb 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1049,6 +1049,9 @@ Developers: liamcindy update ui button size changed logic + + vovkasm + Fix warnings for Xcode6.1 Retired Core Developers: WenSheng Yang From e83de40592a7d0609e62daa70c0326887fb9ac67 Mon Sep 17 00:00:00 2001 From: Ricardo Quesada Date: Wed, 5 Nov 2014 10:26:46 -0800 Subject: [PATCH 22/48] fixes types in readme thanks @kidproquo --- README.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.cmake b/README.cmake index 3df615997e..edbe073c19 100644 --- a/README.cmake +++ b/README.cmake @@ -23,7 +23,7 @@ mac build Instructions cd cocos2d-x mkdir macbuild && cd macbuild -cmake -G "Unix Makefile" -DBUILD_CPP_TESTS=OFF -DBUILD_LUA_LIBS=OFF .. +cmake -G "Unix Makefiles" -DBUILD_CPP_TESTS=OFF -DBUILD_LUA_LIBS=OFF .. Android Build Instructions @@ -35,6 +35,6 @@ mingw64 with msys2 build Instructions cd cocos2d-x mkdir mingwbuild && cd mingwbuild -cmake -G "MSYS Makefile" -DBUILD_CPP_TESTS=OFF -DBUILD_LUA_LIBS=OFF .. +cmake -G "MSYS Makefiles" -DBUILD_CPP_TESTS=OFF -DBUILD_LUA_LIBS=OFF .. -todo: structure this document in markdown with better examples and more details \ No newline at end of file +todo: structure this document in markdown with better examples and more details From 3109b40df9238398a9bd77e59e54459d90e32494 Mon Sep 17 00:00:00 2001 From: Summoner Date: Thu, 6 Nov 2014 09:13:47 +0800 Subject: [PATCH 23/48] Update CHANGELOG fix typo --- CHANGELOG | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 64cfb52102..30d52eb293 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -4,7 +4,7 @@ cocos2d-x-3.3 ?? [FIX] Button: when the dimension of button title is larger than the button, button will scale to fit the dimension of the button title [FIX] Camera: does not work correctly when the up is not (0, 1, 0) [FIX] Cocos console: compile failure on windows if using VS express version - [FIX] GrawNode: drawPoint() may cause crash + [FIX] DrawNode: drawPoint() may cause crash [FIX] GLProgramCache: doesn't release old program with the same key before adding a new one [FIX] GLProgramState: enabled GLProgramState restoring on render recreated on WP8 [FIX] Label: label shifting when outline feature enabled @@ -36,7 +36,7 @@ cocos2d-x-3.3-rc0 Oct.21 2014 [FIX] C++: remove armv7s in VALID_ARCHS for Xcode projects [FIX] Cocos Studio reader: UI animation playing crash if GUI JSON file is loaded again [FIX] Cocos Studio reader: improvement ImageViewReader don't necessary loadTexture when imageFilePath is empty - [FIX] EditBox: view rendereed in wrong position if click EditBox on iOS 8 + [FIX] EditBox: view rendered in wrong position if click EditBox on iOS 8 [FIX] FileUtils: can not remove files/directory on iOS devices [FIX] GLProgram: crashed on some Android devices that do not support more than 8 attributes [FIX] Label: getStringNumLines() may returns wrong result if label is dirty @@ -106,7 +106,7 @@ cocos2d-x-3.3alpha0 Aug.28 2014 [NEW] Sprite3D: added getBoundingBox() and getAABB() [NEW] SpriteFrameCache: load from plist file content data [NEW] utils: added gettime() - [NEW] UI: Added Added UIScale9Sprite + [NEW] UI: Added UIScale9Sprite [NEW] UI: ui::Button: support customize how much zoom scale is when pressing a button [NEW] UI: ui::PageView: added `customScrollThreshold`, could determine the swipe distance to trigger a PageView scroll event [NEW] UI: ui::TextField: support utf8 From 8af00cdb068202ab22b5c8211476a74d71bf015d Mon Sep 17 00:00:00 2001 From: honghui Date: Thu, 6 Nov 2014 11:30:01 +0800 Subject: [PATCH 24/48] runtime demo is ugly when screen orientation is portrait --- templates/lua-template-runtime/src/main.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/lua-template-runtime/src/main.lua b/templates/lua-template-runtime/src/main.lua index e814028a2d..8b980f63b5 100644 --- a/templates/lua-template-runtime/src/main.lua +++ b/templates/lua-template-runtime/src/main.lua @@ -34,7 +34,7 @@ local function main() --set FPS. the default value is 1.0/60 if you don't call this director:setAnimationInterval(1.0 / 60) - cc.Director:getInstance():getOpenGLView():setDesignResolutionSize(480, 320, 0) + cc.Director:getInstance():getOpenGLView():setDesignResolutionSize(480, 320, 1) --create scene local scene = require("GameScene") From 3d448e86efe0be83fb3fd5d9ba7a7bdb365fe33c Mon Sep 17 00:00:00 2001 From: Ricardo Quesada Date: Thu, 6 Nov 2014 12:25:55 -0800 Subject: [PATCH 25/48] fixes some compiler warnings don't call deprecated functions --- cocos/renderer/CCGLProgramCache.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/cocos/renderer/CCGLProgramCache.cpp b/cocos/renderer/CCGLProgramCache.cpp index f8bb1a3d55..1626bc30d9 100644 --- a/cocos/renderer/CCGLProgramCache.cpp +++ b/cocos/renderer/CCGLProgramCache.cpp @@ -439,7 +439,7 @@ GLProgram* GLProgramCache::getGLProgram(const std::string &key) void GLProgramCache::addGLProgram(GLProgram* program, const std::string &key) { // release old one - auto prev = getProgram(key); + auto prev = getGLProgram(key); if( prev == program ) return; @@ -447,17 +447,21 @@ void GLProgramCache::addGLProgram(GLProgram* program, const std::string &key) CC_SAFE_RELEASE_NULL(prev); if (program) - program->retain(); + program->retain(); _programs[key] = program; } std::string GLProgramCache::getShaderMacrosForLight() const { GLchar def[256]; - sprintf(def, "\n#define MAX_DIRECTIONAL_LIGHT_NUM %d \n" + auto conf = Configuration::getInstance(); + + snprintf(def, sizeof(def)-1, "\n#define MAX_DIRECTIONAL_LIGHT_NUM %d \n" "\n#define MAX_POINT_LIGHT_NUM %d \n" - "\n#define MAX_SPOT_LIGHT_NUM %d \n" - , Configuration::getInstance()->getMaxSupportDirLightInShader(), Configuration::getInstance()->getMaxSupportPointLightInShader(), Configuration::getInstance()->getMaxSupportSpotLightInShader()); + "\n#define MAX_SPOT_LIGHT_NUM %d \n", + conf->getMaxSupportDirLightInShader(), + conf->getMaxSupportPointLightInShader(), + conf->getMaxSupportSpotLightInShader()); return std::string(def); } From 8926e115cdafa360dfe216420ef4b8b008c08592 Mon Sep 17 00:00:00 2001 From: Ricardo Quesada Date: Thu, 6 Nov 2014 14:16:39 -0800 Subject: [PATCH 26/48] How to contribute to cocos2d-x --- docs/CONTRIBUTE.md | 197 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 197 insertions(+) create mode 100644 docs/CONTRIBUTE.md diff --git a/docs/CONTRIBUTE.md b/docs/CONTRIBUTE.md new file mode 100644 index 0000000000..6c4b8884ec --- /dev/null +++ b/docs/CONTRIBUTE.md @@ -0,0 +1,197 @@ +# Contributing to cocos2d-x + + +## For general questions + + +You can ask general questions by using: + +- Forum (preferred way): http://discuss.cocos2d-x.org/ +- IRC: https://webchat.freenode.net/ (Use the *cocos2d* or *cocos2d-x* channels) +- Weibo: http://t.sina.com.cn/cocos2dx +- Twitter: http://www.twitter.com/cocos2dx + +## Reporting bugs + +To report bugs, please use the [Issue Tracker](https://github.com/cocos2d/cocos2d-x/issues) + +Steps to report a bug: +* Open the [url](https://github.com/cocos2d/cocos2d-x/issues/new) +* Add all the needed information to reproduce the bug + + +## Submitting patches + +If you want to contribute code, please follow these steps: + +(If you are new to git and/or GitHub, you should read [Pro Git](http://progit.org/book/) , especially the section on [Contributing to a project:Small/Large Public Project](http://progit.org/book/ch5-2.html#public_small_project) ) + +- Download the latest cocos2d-x develop branch from github: + +``` +$ git clone git://github.com/cocos2d/cocos2d-x.git +$ cd cocos2d-x +$ git checkout v3 +$ ./download-deps.py +$ git submodule update --init +``` + +- Apply your changes in the recently downloaded repository +- Commit your changes in your own repository +- Create a new branch with your patch: `$ git checkout -b my_fix_branch` +- Push your new branch to your public repository +- Send a “pull request” to user “cocos2d” +- It must be _complete_. See the definition below +- It must follow the _Releases_ rules. See the definition below + +## Only _complete_ patches will be merged + +The patch must be _complete_. And by that, we mean: + +- Follow the [Cocos2d C++ Coding Style][1] +- Describe what the patch does +- Include test cases +- Include unit tests if applicable +- Must be tested in all supported platforms [*] +- Must NOT degrade the performance +- Must NOT break existing tests cases +- Must NOT break the Continuous Integration build +- Must NOT break backward compatibility +- Must compile WITHOUT warnings +- New APIs MUST be **easy to use**, **familiar** to cocos2d-x users +- Code MUST be **easy to extend** +- Must be efficient (fast / low memory needs) +- It must not duplicate existing code, unless the new code deprecates the old one +- Patches that refactor key components will only be merged in the next major versions. + +[*]: If you don't have access to test your code in all the supported platforms, let us know. + +## Releases Rules + +### Backward compatibility + +- Minor versions MUST be backward compatible with previous minor versions. eg: v3.2 must be backward compatible with v3.1 and v3.0. +- Major versions SHOULD be backward compatible with previous major versions. Breaking backward compatibility in Major versions is acceptable only if it is extremely well justified + +### Deprecated APIs + +- APIs introduced in a Major version MUST NOT be deprecated in the same Major version. eg: An API introduce in v3.1 MUST NOT be deprecated the following v3.x releases. +- Deprecated APIs can be removed only after being deprecated for more than one complete Major cycle. eg: An API deprecated in v2.2 can only be removed in v4.0, but not before. +- Deprecated APIs MUST give a compile-time warning. And MUST tell the user which is the new API that superceeds it. + +### Performance tests + +- Performance tests MUST be run before releasing a Release Candidate +- If performance is worse than previous version, then the Release Candidate MUST NOT be released (See Naming Conventions below) +- Results of the performance tests must be documented in the [spreadsheet](https://docs.google.com/spreadsheet/ccc?key=0AvvkdgVbWvpZdHFudzdDT3NuYTRNTHlZZzRGZWYzMmc#gid=8) + + +### Samples and tests + +**BEFORE** releasing a new Minor or Major stable release, the following tasks MUST be done: + +- All the samples and tests must be updated to use the new version. This includes: + - The samples in [cocos2d-x-samples](https://github.com/cocos2d/cocos2d-x-samples) repository + - The demo games [EarthWarrior3D](https://github.com/chukong/EarthWarrior3D) and [FantasyWarrior3D](https://github.com/chukong/FantasyWarrior3D) + - All the tests bundled in cocos2d-x + - All the templates bundled in cocos2d-x + +### Documentation + +**BEFORE** releasing a new Minor or Major stable release, the following tasks MUST be done: + +- All documentation MUST be updated to the new version. This includes: + - API Reference + - Programmers Guide + + +### Naming conventions + +#### Alpha + +The product is unstable. It could have memory leaks, or crashes, or the API is unstable. The product contains little QA. +Although the product is not ready for production, the product should be testable. +Alpha versions might have Core functionality that has just been refactored, meaning that Core functionality might be unstable, but should work Ok. + +As an example, for cocos2d-x, an _Alpha_ version means: + +* Basic functionality works Ok (not great, but OK), like Sprites, Scenes, actions, etc. +_* But it might have memory leaks, or crashes, or the recently added features might be unfinished. The documentation might not be updated. +* As an example, the Renderer refactoring must be done in "alpha" versions (but not Beta versions). + +Alpha versions are NOT feature freeze. New features might be added in future alpha and beta versions. + + +#### Beta + +The product is more stable than _Alpha_. The product might crash, but not frequently. No major changes were made in core components. +Smaller features could be refactored in _Beta_ versions, but the core functionality is stable. +The product has more QA. +The only difference between _Alpha_ and _Beta_, is that _Beta_ is more stable than _Alpha_. And that in _Beta_ versions no new major features will be added. + +As an example, for cocos2d-x it means: + +* All the Core features (Sprites, Menu, Labels, Director, Transitions) are stable. Bug fixes could have been added into the Core functionality, but no major refactoring were done in the Core. +* But perhaps new features like the new Particle Engine could be unfinished, or the Cocos Studio reader might crash. +* Some cocos2d-x users might want to use a beta version for real games. + +Beta versions are NOT feature freeze. __Small__ new features might be added in future _Beta_ versions. New __BIG__ features that might affect the Core functionality must only be added in _Alpha_ versions, and not in _Beta_ versions. + + +#### Release Candidate +Release candidate means that, unless major bugs are found, the product is ready for release. +The difference between _Release Candidate__ and _Final_ is that RC has less testing than the final version. + +Many cocos2d-x users might want to try and use the RC releases for production. + +RC versions ARE feature freeze. No new features, no matter how small they are, MUST be added in RC versions, because as the name implies, it is a _Release Candiate_. + + +#### Final + +It is the new stable version. + +### Number conventions + +major.minor [revision | status] + +#### Major +The major number is increased when there are significant jumps in functionality such as changing the framework which could cause incompatibility with interfacing systems + +#### Minor: +The minor number is incremented when only minor features or significant fixes have been added. + +#### Revision: +The revision number is incremented when minor bugs are fixed. + +#### Status: +The status could be: alphaN, betaN or rcN. + +'N' is a number, and the first MUST always be 0. + +#### Examples + +v2.0-alpha0: + - New major version of cocos2d-x. + - Unstable + +v2.1.3: + - Stable version of cocos2d-x. It is the same as v2.1 plus some bug fixes. + +v2.2-beta0: + - Similar to v2.1.3, but some new features were added, but are not stable yet. + +v2.2: + - Similar to v2.1.3, but some small features were added. The new features are stable. + + + +# Promoting cocos2d + +Help us promote cocos2d-x by using the cocos2d logo in your game, or by mentioning cocos2d in the credits. + +[Logo Resources of Cocos2d-x][2] + + +[1]: https://github.com/cocos2d/cocos2d-x/blob/v3/docs/CODING_STYLE.md +[2]: http://www.cocos2d-x.org/wiki/Logo_Resources_of_Cocos2d-x From 738deddd42114767f9223f938f15f3ac96c2d9df Mon Sep 17 00:00:00 2001 From: Ricardo Quesada Date: Thu, 6 Nov 2014 14:30:00 -0800 Subject: [PATCH 27/48] Update CONTRIBUTE.md --- docs/CONTRIBUTE.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/CONTRIBUTE.md b/docs/CONTRIBUTE.md index 6c4b8884ec..d3a1b3d886 100644 --- a/docs/CONTRIBUTE.md +++ b/docs/CONTRIBUTE.md @@ -59,6 +59,7 @@ The patch must be _complete_. And by that, we mean: - Must NOT break backward compatibility - Must compile WITHOUT warnings - New APIs MUST be **easy to use**, **familiar** to cocos2d-x users +- New APIs MUST be documented using Doxgen strings - Code MUST be **easy to extend** - Must be efficient (fast / low memory needs) - It must not duplicate existing code, unless the new code deprecates the old one From 120e31f4fe63e0f7098f393a3273022a41615663 Mon Sep 17 00:00:00 2001 From: Ricardo Quesada Date: Thu, 6 Nov 2014 14:43:45 -0800 Subject: [PATCH 28/48] Adds releasing rules --- docs/CONTRIBUTE.md | 119 ------------------------------ docs/RELEASING_RULES.md | 156 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 156 insertions(+), 119 deletions(-) create mode 100644 docs/RELEASING_RULES.md diff --git a/docs/CONTRIBUTE.md b/docs/CONTRIBUTE.md index 6c4b8884ec..467649fded 100644 --- a/docs/CONTRIBUTE.md +++ b/docs/CONTRIBUTE.md @@ -66,125 +66,6 @@ The patch must be _complete_. And by that, we mean: [*]: If you don't have access to test your code in all the supported platforms, let us know. -## Releases Rules - -### Backward compatibility - -- Minor versions MUST be backward compatible with previous minor versions. eg: v3.2 must be backward compatible with v3.1 and v3.0. -- Major versions SHOULD be backward compatible with previous major versions. Breaking backward compatibility in Major versions is acceptable only if it is extremely well justified - -### Deprecated APIs - -- APIs introduced in a Major version MUST NOT be deprecated in the same Major version. eg: An API introduce in v3.1 MUST NOT be deprecated the following v3.x releases. -- Deprecated APIs can be removed only after being deprecated for more than one complete Major cycle. eg: An API deprecated in v2.2 can only be removed in v4.0, but not before. -- Deprecated APIs MUST give a compile-time warning. And MUST tell the user which is the new API that superceeds it. - -### Performance tests - -- Performance tests MUST be run before releasing a Release Candidate -- If performance is worse than previous version, then the Release Candidate MUST NOT be released (See Naming Conventions below) -- Results of the performance tests must be documented in the [spreadsheet](https://docs.google.com/spreadsheet/ccc?key=0AvvkdgVbWvpZdHFudzdDT3NuYTRNTHlZZzRGZWYzMmc#gid=8) - - -### Samples and tests - -**BEFORE** releasing a new Minor or Major stable release, the following tasks MUST be done: - -- All the samples and tests must be updated to use the new version. This includes: - - The samples in [cocos2d-x-samples](https://github.com/cocos2d/cocos2d-x-samples) repository - - The demo games [EarthWarrior3D](https://github.com/chukong/EarthWarrior3D) and [FantasyWarrior3D](https://github.com/chukong/FantasyWarrior3D) - - All the tests bundled in cocos2d-x - - All the templates bundled in cocos2d-x - -### Documentation - -**BEFORE** releasing a new Minor or Major stable release, the following tasks MUST be done: - -- All documentation MUST be updated to the new version. This includes: - - API Reference - - Programmers Guide - - -### Naming conventions - -#### Alpha - -The product is unstable. It could have memory leaks, or crashes, or the API is unstable. The product contains little QA. -Although the product is not ready for production, the product should be testable. -Alpha versions might have Core functionality that has just been refactored, meaning that Core functionality might be unstable, but should work Ok. - -As an example, for cocos2d-x, an _Alpha_ version means: - -* Basic functionality works Ok (not great, but OK), like Sprites, Scenes, actions, etc. -_* But it might have memory leaks, or crashes, or the recently added features might be unfinished. The documentation might not be updated. -* As an example, the Renderer refactoring must be done in "alpha" versions (but not Beta versions). - -Alpha versions are NOT feature freeze. New features might be added in future alpha and beta versions. - - -#### Beta - -The product is more stable than _Alpha_. The product might crash, but not frequently. No major changes were made in core components. -Smaller features could be refactored in _Beta_ versions, but the core functionality is stable. -The product has more QA. -The only difference between _Alpha_ and _Beta_, is that _Beta_ is more stable than _Alpha_. And that in _Beta_ versions no new major features will be added. - -As an example, for cocos2d-x it means: - -* All the Core features (Sprites, Menu, Labels, Director, Transitions) are stable. Bug fixes could have been added into the Core functionality, but no major refactoring were done in the Core. -* But perhaps new features like the new Particle Engine could be unfinished, or the Cocos Studio reader might crash. -* Some cocos2d-x users might want to use a beta version for real games. - -Beta versions are NOT feature freeze. __Small__ new features might be added in future _Beta_ versions. New __BIG__ features that might affect the Core functionality must only be added in _Alpha_ versions, and not in _Beta_ versions. - - -#### Release Candidate -Release candidate means that, unless major bugs are found, the product is ready for release. -The difference between _Release Candidate__ and _Final_ is that RC has less testing than the final version. - -Many cocos2d-x users might want to try and use the RC releases for production. - -RC versions ARE feature freeze. No new features, no matter how small they are, MUST be added in RC versions, because as the name implies, it is a _Release Candiate_. - - -#### Final - -It is the new stable version. - -### Number conventions - -major.minor [revision | status] - -#### Major -The major number is increased when there are significant jumps in functionality such as changing the framework which could cause incompatibility with interfacing systems - -#### Minor: -The minor number is incremented when only minor features or significant fixes have been added. - -#### Revision: -The revision number is incremented when minor bugs are fixed. - -#### Status: -The status could be: alphaN, betaN or rcN. - -'N' is a number, and the first MUST always be 0. - -#### Examples - -v2.0-alpha0: - - New major version of cocos2d-x. - - Unstable - -v2.1.3: - - Stable version of cocos2d-x. It is the same as v2.1 plus some bug fixes. - -v2.2-beta0: - - Similar to v2.1.3, but some new features were added, but are not stable yet. - -v2.2: - - Similar to v2.1.3, but some small features were added. The new features are stable. - - # Promoting cocos2d diff --git a/docs/RELEASING_RULES.md b/docs/RELEASING_RULES.md new file mode 100644 index 0000000000..37cef81b6c --- /dev/null +++ b/docs/RELEASING_RULES.md @@ -0,0 +1,156 @@ +# How to release a new version of cocos2d-x + +## Releases Rules + +### Tagging + +New releases must be tagged in github. The tag name must follow these rules: + + cocos2d-x-Major.Minor[.Status] + +or + + cocos2d-x-Major.Minor.Revision[.Status] + +Example of valid names: + +* cocos2d-x-3.0rc0 +* cocos2d-x-3.0 +* cocos2d-x-2.1.1 +* cocos2d-x-2.1.1rc0 + +See "Naming Conventions" below + + +### Announcing + +Only stable releases must be announced on: + +* [Blog](http://www.cocos2d-x.org/news) + +All kind of releases (alpha,beta,rc, final) must be announced on: +* [Twitter](https://twitter.com/cocos2dx) +* [Forum](http://discuss.cocos2d-x.org/) + + +### Release Notes and Changelog + +**BEFORE** releasing a new version (either stable or unstable), the following documents must be updated: + +* [CHANGELOG](https://github.com/cocos2d/cocos2d-x/blob/v3/CHANGELOG) +* [Release Notes](https://github.com/cocos2d/cocos2d-x/blob/v3/docs/RELEASE_NOTES.md) + +### Documentation + +**BEFORE** releasing a new Minor or Major stable release, the following tasks MUST be done: + +- All documentation MUST be updated to the new version. This includes: + - API Reference + - Programmers Guide + +### Backward compatibility + +- Minor versions MUST be backward compatible with previous minor versions. eg: v3.2 must be backward compatible with v3.1 and v3.0. +- Major versions SHOULD be backward compatible with previous major versions. Breaking backward compatibility in Major versions is acceptable only if it is extremely well justified + +### Deprecated APIs + +- APIs introduced in a Major version MUST NOT be deprecated in the same Major version. eg: An API introduce in v3.1 MUST NOT be deprecated the following v3.x releases. +- Deprecated APIs can be removed only after being deprecated for more than one complete Major cycle. eg: An API deprecated in v2.2 can only be removed in v4.0, but not before. +- Deprecated APIs MUST give a compile-time warning. And MUST tell the user which is the new API that superceeds it. + +### Performance tests + +- Performance tests MUST be run before releasing a Release Candidate +- If performance is worse than previous stable version, then the Release Candidate MUST NOT be released (See Naming Conventions below) +- Results of the performance tests must be documented in this [spreadsheet](https://docs.google.com/spreadsheet/ccc?key=0AvvkdgVbWvpZdHFudzdDT3NuYTRNTHlZZzRGZWYzMmc#gid=8) + + +### Samples and tests + +**BEFORE** releasing a new Minor or Major stable release, the following tasks MUST be done: + +- All the samples and tests must be updated to use the new version. This includes: + - The samples in [cocos2d-x-samples](https://github.com/cocos2d/cocos2d-x-samples) repository + - The demo games [EarthWarrior3D](https://github.com/chukong/EarthWarrior3D) and [FantasyWarrior3D](https://github.com/chukong/FantasyWarrior3D) + - All the tests bundled in cocos2d-x + - All the templates bundled in cocos2d-x + +### Naming conventions + +#### Alpha + +The product is unstable. It could have memory leaks, or crashes, or the API is unstable. The product contains little QA. +Although the product is not ready for production, the product should be testable. +Alpha versions might have Core functionality that has just been refactored, meaning that Core functionality might be unstable, but should work Ok. + +As an example, for cocos2d-x, an _Alpha_ version means: + +* Basic functionality works Ok (not great, but OK), like Sprites, Scenes, actions, etc. +_* But it might have memory leaks, or crashes, or the recently added features might be unfinished. The documentation might not be updated. +* As an example, the Renderer refactoring must be done in "alpha" versions (but not Beta versions). + +Alpha versions are NOT feature freeze. New features might be added in future alpha and beta versions. + + +#### Beta + +The product is more stable than _Alpha_. The product might crash, but not frequently. No major changes were made in core components. +Smaller features could be refactored in _Beta_ versions, but the core functionality is stable. +The product has more QA. +The only difference between _Alpha_ and _Beta_, is that _Beta_ is more stable than _Alpha_. And that in _Beta_ versions no new major features will be added. + +As an example, for cocos2d-x it means: + +* All the Core features (Sprites, Menu, Labels, Director, Transitions) are stable. Bug fixes could have been added into the Core functionality, but no major refactoring were done in the Core. +* But perhaps new features like the new Particle Engine could be unfinished, or the Cocos Studio reader might crash. +* Some cocos2d-x users might want to use a beta version for real games. + +Beta versions are NOT feature freeze. __Small__ new features might be added in future _Beta_ versions. New __BIG__ features that might affect the Core functionality must only be added in _Alpha_ versions, and not in _Beta_ versions. + + +#### Release Candidate +Release candidate means that, unless major bugs are found, the product is ready for release. +The difference between _Release Candidate__ and _Final_ is that RC has less testing than the final version. + +Many cocos2d-x users might want to try and use the RC releases for production. + +RC versions ARE feature freeze. No new features, no matter how small they are, MUST be added in RC versions, because as the name implies, it is a _Release Candiate_. + + +#### Final + +It is the new stable version. + +### Number conventions + +major.minor [revision | status] + +#### Major +The major number is increased when there are significant jumps in functionality such as changing the framework which could cause incompatibility with interfacing systems + +#### Minor: +The minor number is incremented when only minor features or significant fixes have been added. + +#### Revision: +The revision number is incremented when minor bugs are fixed. + +#### Status: +The status could be: alphaN, betaN or rcN. + +'N' is a number, and the first MUST always be 0. + +#### Examples + +v2.0-alpha0: + - New major version of cocos2d-x. + - Unstable + +v2.1.3: + - Stable version of cocos2d-x. It is the same as v2.1 plus some bug fixes. + +v2.2-beta0: + - Similar to v2.1.3, but some new features were added, but are not stable yet. + +v2.2: + - Similar to v2.1.3, but some small features were added. The new features are stable. From ace9933d72aa1c3574418ab50af8c009cefcbde8 Mon Sep 17 00:00:00 2001 From: huangshiwu Date: Fri, 7 Nov 2014 10:05:29 +0800 Subject: [PATCH 29/48] fix ui crash bug caused by DrawNode --- cocos/2d/CCDrawNode.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cocos/2d/CCDrawNode.cpp b/cocos/2d/CCDrawNode.cpp index 3edbe0bbac..7093a6b4e5 100644 --- a/cocos/2d/CCDrawNode.cpp +++ b/cocos/2d/CCDrawNode.cpp @@ -348,6 +348,7 @@ void DrawNode::onDraw(const Mat4 &transform, uint32_t flags) } glDrawArrays(GL_TRIANGLES, 0, _bufferCount); + glBindBuffer(GL_ARRAY_BUFFER, 0); CC_INCREMENT_GL_DRAWN_BATCHES_AND_VERTICES(1, _bufferCount); CHECK_GL_ERROR_DEBUG(); @@ -382,6 +383,7 @@ void DrawNode::onDrawGLLine(const Mat4 &transform, uint32_t flags) } glLineWidth(2); glDrawArrays(GL_LINES, 0, _bufferCountGLLine); + glBindBuffer(GL_ARRAY_BUFFER, 0); CC_INCREMENT_GL_DRAWN_BATCHES_AND_VERTICES(1,_bufferCountGLLine); CHECK_GL_ERROR_DEBUG(); @@ -418,6 +420,7 @@ void DrawNode::onDrawGLPoint(const Mat4 &transform, uint32_t flags) } glDrawArrays(GL_POINTS, 0, _bufferCountGLPoint); + glBindBuffer(GL_ARRAY_BUFFER, 0); CC_INCREMENT_GL_DRAWN_BATCHES_AND_VERTICES(1,_bufferCountGLPoint); CHECK_GL_ERROR_DEBUG(); From 80ce1537e7364e8c0be0dd1d38a00cbbc9d941bd Mon Sep 17 00:00:00 2001 From: CocosRobot Date: Fri, 7 Nov 2014 02:34:46 +0000 Subject: [PATCH 30/48] [AUTO][ci skip]: updating cocos2dx_files.json --- templates/cocos2dx_files.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/templates/cocos2dx_files.json b/templates/cocos2dx_files.json index 93c78241af..d0fe91b595 100644 --- a/templates/cocos2dx_files.json +++ b/templates/cocos2dx_files.json @@ -1154,9 +1154,11 @@ "cocos/ui/proj.win32/libui.vcxproj", "cocos/ui/proj.win32/libui.vcxproj.filters", "docs/CODING_STYLE.md", + "docs/CONTRIBUTE.md", "docs/Groups.h", "docs/MainPage.h", "docs/RELEASE_NOTES.md", + "docs/RELEASING_RULES.md", "docs/cocos2dx_portrait.png", "docs/doxygen.config", "download-deps.py", From aae2fd9e2a359f46c20ba2def7b1e484d4078c7a Mon Sep 17 00:00:00 2001 From: CocosRobot Date: Fri, 7 Nov 2014 02:38:01 +0000 Subject: [PATCH 31/48] [AUTO]: updating luabinding automatically --- .../lua-bindings/auto/api/Sprite3D.lua | 20 ++-- .../auto/lua_cocos2dx_3d_auto.cpp | 112 +++++++++--------- 2 files changed, 66 insertions(+), 66 deletions(-) diff --git a/cocos/scripting/lua-bindings/auto/api/Sprite3D.lua b/cocos/scripting/lua-bindings/auto/api/Sprite3D.lua index 9af5be0a63..b1e8971886 100644 --- a/cocos/scripting/lua-bindings/auto/api/Sprite3D.lua +++ b/cocos/scripting/lua-bindings/auto/api/Sprite3D.lua @@ -34,6 +34,12 @@ -- @param self -- @return Mesh#Mesh ret (return value: cc.Mesh) +-------------------------------- +-- +-- @function [parent=#Sprite3D] setCullFace +-- @param self +-- @param #unsigned int cullFace + -------------------------------- -- light mask getter & setter, light works only when _lightmask & light's flag is true, default value of _lightmask is 0xffff -- @function [parent=#Sprite3D] setLightMask @@ -60,30 +66,24 @@ -------------------------------- -- --- @function [parent=#Sprite3D] setCullFace +-- @function [parent=#Sprite3D] getSkeleton -- @param self --- @param #unsigned int cullFace +-- @return Skeleton3D#Skeleton3D ret (return value: cc.Skeleton3D) -------------------------------- --- get SubMeshState by index +-- get Mesh by index -- @function [parent=#Sprite3D] getMeshByIndex -- @param self -- @param #int index -- @return Mesh#Mesh ret (return value: cc.Mesh) -------------------------------- --- get SubMeshState by Name +-- get Mesh by Name, it returns the first one if there are more than one mesh with the same name -- @function [parent=#Sprite3D] getMeshByName -- @param self -- @param #string name -- @return Mesh#Mesh ret (return value: cc.Mesh) --------------------------------- --- --- @function [parent=#Sprite3D] getSkeleton --- @param self --- @return Skeleton3D#Skeleton3D ret (return value: cc.Skeleton3D) - -------------------------------- -- get AttachNode by bone name, return nullptr if not exist -- @function [parent=#Sprite3D] getAttachNode diff --git a/cocos/scripting/lua-bindings/auto/lua_cocos2dx_3d_auto.cpp b/cocos/scripting/lua-bindings/auto/lua_cocos2dx_3d_auto.cpp index 4e5e2095a1..98cc4521d1 100644 --- a/cocos/scripting/lua-bindings/auto/lua_cocos2dx_3d_auto.cpp +++ b/cocos/scripting/lua-bindings/auto/lua_cocos2dx_3d_auto.cpp @@ -580,6 +580,52 @@ int lua_cocos2dx_3d_Sprite3D_getMesh(lua_State* tolua_S) return 0; } +int lua_cocos2dx_3d_Sprite3D_setCullFace(lua_State* tolua_S) +{ + int argc = 0; + cocos2d::Sprite3D* cobj = nullptr; + bool ok = true; + +#if COCOS2D_DEBUG >= 1 + tolua_Error tolua_err; +#endif + + +#if COCOS2D_DEBUG >= 1 + if (!tolua_isusertype(tolua_S,1,"cc.Sprite3D",0,&tolua_err)) goto tolua_lerror; +#endif + + cobj = (cocos2d::Sprite3D*)tolua_tousertype(tolua_S,1,0); + +#if COCOS2D_DEBUG >= 1 + if (!cobj) + { + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_3d_Sprite3D_setCullFace'", nullptr); + return 0; + } +#endif + + argc = lua_gettop(tolua_S)-1; + if (argc == 1) + { + unsigned int arg0; + + ok &= luaval_to_uint32(tolua_S, 2,&arg0, "cc.Sprite3D:setCullFace"); + if(!ok) + return 0; + cobj->setCullFace(arg0); + return 0; + } + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Sprite3D:setCullFace",argc, 1); + return 0; + +#if COCOS2D_DEBUG >= 1 + tolua_lerror: + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_3d_Sprite3D_setCullFace'.",&tolua_err); +#endif + + return 0; +} int lua_cocos2dx_3d_Sprite3D_setLightMask(lua_State* tolua_S) { int argc = 0; @@ -760,7 +806,7 @@ int lua_cocos2dx_3d_Sprite3D_removeAttachNode(lua_State* tolua_S) return 0; } -int lua_cocos2dx_3d_Sprite3D_setCullFace(lua_State* tolua_S) +int lua_cocos2dx_3d_Sprite3D_getSkeleton(lua_State* tolua_S) { int argc = 0; cocos2d::Sprite3D* cobj = nullptr; @@ -780,28 +826,26 @@ int lua_cocos2dx_3d_Sprite3D_setCullFace(lua_State* tolua_S) #if COCOS2D_DEBUG >= 1 if (!cobj) { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_3d_Sprite3D_setCullFace'", nullptr); + tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_3d_Sprite3D_getSkeleton'", nullptr); return 0; } #endif argc = lua_gettop(tolua_S)-1; - if (argc == 1) + if (argc == 0) { - unsigned int arg0; - - ok &= luaval_to_uint32(tolua_S, 2,&arg0, "cc.Sprite3D:setCullFace"); if(!ok) return 0; - cobj->setCullFace(arg0); - return 0; + cocos2d::Skeleton3D* ret = cobj->getSkeleton(); + object_to_luaval(tolua_S, "cc.Skeleton3D",(cocos2d::Skeleton3D*)ret); + return 1; } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Sprite3D:setCullFace",argc, 1); + CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Sprite3D:getSkeleton",argc, 0); return 0; #if COCOS2D_DEBUG >= 1 tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_3d_Sprite3D_setCullFace'.",&tolua_err); + tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_3d_Sprite3D_getSkeleton'.",&tolua_err); #endif return 0; @@ -900,50 +944,6 @@ int lua_cocos2dx_3d_Sprite3D_getMeshByName(lua_State* tolua_S) return 0; } -int lua_cocos2dx_3d_Sprite3D_getSkeleton(lua_State* tolua_S) -{ - int argc = 0; - cocos2d::Sprite3D* cobj = nullptr; - bool ok = true; - -#if COCOS2D_DEBUG >= 1 - tolua_Error tolua_err; -#endif - - -#if COCOS2D_DEBUG >= 1 - if (!tolua_isusertype(tolua_S,1,"cc.Sprite3D",0,&tolua_err)) goto tolua_lerror; -#endif - - cobj = (cocos2d::Sprite3D*)tolua_tousertype(tolua_S,1,0); - -#if COCOS2D_DEBUG >= 1 - if (!cobj) - { - tolua_error(tolua_S,"invalid 'cobj' in function 'lua_cocos2dx_3d_Sprite3D_getSkeleton'", nullptr); - return 0; - } -#endif - - argc = lua_gettop(tolua_S)-1; - if (argc == 0) - { - if(!ok) - return 0; - cocos2d::Skeleton3D* ret = cobj->getSkeleton(); - object_to_luaval(tolua_S, "cc.Skeleton3D",(cocos2d::Skeleton3D*)ret); - return 1; - } - CCLOG("%s has wrong number of arguments: %d, was expecting %d \n", "cc.Sprite3D:getSkeleton",argc, 0); - return 0; - -#if COCOS2D_DEBUG >= 1 - tolua_lerror: - tolua_error(tolua_S,"#ferror in function 'lua_cocos2dx_3d_Sprite3D_getSkeleton'.",&tolua_err); -#endif - - return 0; -} int lua_cocos2dx_3d_Sprite3D_getAttachNode(lua_State* tolua_S) { int argc = 0; @@ -1059,14 +1059,14 @@ int lua_register_cocos2dx_3d_Sprite3D(lua_State* tolua_S) tolua_function(tolua_S,"getLightMask",lua_cocos2dx_3d_Sprite3D_getLightMask); tolua_function(tolua_S,"removeAllAttachNode",lua_cocos2dx_3d_Sprite3D_removeAllAttachNode); tolua_function(tolua_S,"getMesh",lua_cocos2dx_3d_Sprite3D_getMesh); + tolua_function(tolua_S,"setCullFace",lua_cocos2dx_3d_Sprite3D_setCullFace); tolua_function(tolua_S,"setLightMask",lua_cocos2dx_3d_Sprite3D_setLightMask); tolua_function(tolua_S,"getBlendFunc",lua_cocos2dx_3d_Sprite3D_getBlendFunc); tolua_function(tolua_S,"getMeshCount",lua_cocos2dx_3d_Sprite3D_getMeshCount); tolua_function(tolua_S,"removeAttachNode",lua_cocos2dx_3d_Sprite3D_removeAttachNode); - tolua_function(tolua_S,"setCullFace",lua_cocos2dx_3d_Sprite3D_setCullFace); + tolua_function(tolua_S,"getSkeleton",lua_cocos2dx_3d_Sprite3D_getSkeleton); tolua_function(tolua_S,"getMeshByIndex",lua_cocos2dx_3d_Sprite3D_getMeshByIndex); tolua_function(tolua_S,"getMeshByName",lua_cocos2dx_3d_Sprite3D_getMeshByName); - tolua_function(tolua_S,"getSkeleton",lua_cocos2dx_3d_Sprite3D_getSkeleton); tolua_function(tolua_S,"getAttachNode",lua_cocos2dx_3d_Sprite3D_getAttachNode); tolua_function(tolua_S,"create", lua_cocos2dx_3d_Sprite3D_create); tolua_endmodule(tolua_S); From 5483bc834d5bdd74eda681751482e15de6ae5c6f Mon Sep 17 00:00:00 2001 From: andyque Date: Fri, 7 Nov 2014 11:09:22 +0800 Subject: [PATCH 32/48] fix scale9sprite flip issue --- cocos/ui/UILoadingBar.cpp | 4 +- cocos/ui/UIScale9Sprite.cpp | 89 ++++++++++++----- cocos/ui/UIScale9Sprite.h | 10 ++ .../CocoStudioGUITest/UIScale9SpriteTest.cpp | 95 ++++++++++++++++--- 4 files changed, 162 insertions(+), 36 deletions(-) diff --git a/cocos/ui/UILoadingBar.cpp b/cocos/ui/UILoadingBar.cpp index c480b8537d..acca094563 100644 --- a/cocos/ui/UILoadingBar.cpp +++ b/cocos/ui/UILoadingBar.cpp @@ -102,14 +102,14 @@ void LoadingBar::setDirection(cocos2d::ui::LoadingBar::Direction direction) _barRenderer->setAnchorPoint(Vec2(0.0f,0.5f)); _barRenderer->setPosition(Vec2(0,_contentSize.height*0.5f)); if (!_scale9Enabled) { - _barRenderer->setFlippedX(false); + _barRenderer->getSprite()->setFlippedX(false); } break; case Direction::RIGHT: _barRenderer->setAnchorPoint(Vec2(1.0f,0.5f)); _barRenderer->setPosition(Vec2(_totalLength,_contentSize.height*0.5f)); if (!_scale9Enabled) { - _barRenderer->setFlippedX(true); + _barRenderer->getSprite()->setFlippedX(true); } break; } diff --git a/cocos/ui/UIScale9Sprite.cpp b/cocos/ui/UIScale9Sprite.cpp index 1882f907d1..0fe1510e6b 100644 --- a/cocos/ui/UIScale9Sprite.cpp +++ b/cocos/ui/UIScale9Sprite.cpp @@ -50,6 +50,9 @@ namespace ui { , _insetTop(0) , _insetRight(0) , _insetBottom(0) + ,_flippedX(false) + ,_flippedY(false) + { this->setAnchorPoint(Vec2(0.5,0.5)); } @@ -1021,6 +1024,9 @@ y+=ytranslate; \ this->cleanupSlicedSprites(); _protectedChildren.clear(); + //we must invalide the transform when toggling scale9enabled + _transformUpdated = _transformDirty = _inverseDirty = true; + if (_scale9Enabled) { if (_scale9Image) @@ -1208,34 +1214,17 @@ y+=ytranslate; \ void Scale9Sprite::setFlippedX(bool flippedX) { + + float realScale = this->getScaleX(); _flippedX = flippedX; - if (_scale9Enabled) - { - this->setScaleX(-1); - } - else - { - if (_scale9Image) - { - _scale9Image->setFlippedX(flippedX); - } - } + this->setScaleX(realScale); } void Scale9Sprite::setFlippedY(bool flippedY) { + float realScale = this->getScaleY(); _flippedY = flippedY; - if (_scale9Enabled) - { - this->setScaleY(-1); - } - else - { - if (_scale9Image) - { - _scale9Image->setFlippedY(flippedY); - } - } + this->setScaleY(realScale); } bool Scale9Sprite::isFlippedX()const @@ -1247,4 +1236,60 @@ y+=ytranslate; \ { return _flippedY; } + + void Scale9Sprite::setScaleX(float scaleX) + { + if (_flippedX) { + scaleX = scaleX * -1; + } + Node::setScaleX(scaleX); + } + + void Scale9Sprite::setScaleY(float scaleY) + { + if (_flippedY) { + scaleY = scaleY * -1; + } + Node::setScaleY(scaleY); + } + + void Scale9Sprite::setScale(float scale) + { + this->setScaleX(scale); + this->setScaleY(scale); + this->setScaleZ(scale); + } + + void Scale9Sprite::setScale(float scaleX, float scaleY) + { + this->setScaleX(scaleX); + this->setScaleY(scaleY); + } + + float Scale9Sprite::getScaleX()const + { + float originalScale = Node::getScaleX(); + if (_flippedX) + { + originalScale = originalScale * -1.0; + } + return originalScale; + } + + float Scale9Sprite::getScaleY()const + { + float originalScale = Node::getScaleY(); + if (_flippedY) + { + originalScale = originalScale * -1.0; + } + return originalScale; + } + + float Scale9Sprite::getScale()const + { + CCASSERT(this->getScaleX() == this->getScaleY(), "Scale9Sprite#scale. ScaleX != ScaleY. Don't know which one to return"); + return this->getScaleX(); + } + }} diff --git a/cocos/ui/UIScale9Sprite.h b/cocos/ui/UIScale9Sprite.h index 19976ffef9..0923fab540 100644 --- a/cocos/ui/UIScale9Sprite.h +++ b/cocos/ui/UIScale9Sprite.h @@ -354,6 +354,16 @@ namespace ui { */ virtual bool isFlippedY()const; + //override the setScale function of Node + virtual void setScaleX(float scaleX) override; + virtual void setScaleY(float scaleY) override; + virtual void setScale(float scale) override; + virtual void setScale(float scalex, float scaley) override; + using Node::setScaleZ; + virtual float getScaleX() const override; + virtual float getScaleY() const override; + virtual float getScale() const override; + using Node::getScaleZ; protected: void updateCapInset(); void updatePositions(); diff --git a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UIScale9SpriteTest.cpp b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UIScale9SpriteTest.cpp index b23723e311..68530ff885 100644 --- a/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UIScale9SpriteTest.cpp +++ b/tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UIScale9SpriteTest.cpp @@ -44,13 +44,14 @@ bool UIScale9SpriteTest::init() auto moveTo = MoveBy::create(1.0, Vec2(30,0)); auto moveBack = moveTo->reverse(); auto rotateBy = RotateBy::create(1.0, 180); - auto action = Sequence::create(moveTo,moveBack, rotateBy, NULL); + auto scaleBy = ScaleTo::create(1.0, -2.0); + auto action = Sequence::create(moveTo,moveBack, rotateBy,scaleBy, NULL); Sprite *normalSprite1 = Sprite::create("cocosui/animationbuttonnormal.png"); normalSprite1->setPosition(100, 270); -// normalSprite1->setAnchorPoint(Vec2(0.5,0.5)); -// normalSprite1->setContentSize(Size(100,100)); + normalSprite1->setFlippedY(true); + this->addChild(normalSprite1); normalSprite1->runAction((FiniteTimeAction*)action->clone()); @@ -107,7 +108,8 @@ bool UIScale9SpriteHierarchialTest::init() auto moveBack = moveTo->reverse(); auto rotateBy = RotateBy::create(1.0f, 180); auto fadeOut = FadeOut::create(2.0f); - auto action = Sequence::create(moveTo,moveBack, rotateBy,fadeOut, NULL); + auto scaleTo = ScaleTo::create(1.0, 2.0); + auto action = Sequence::create(moveTo,moveBack, rotateBy,fadeOut,scaleTo, NULL); Sprite *normalSprite1 = Sprite::create("cocosui/animationbuttonnormal.png"); normalSprite1->setPosition(100, 270); @@ -135,6 +137,7 @@ bool UIScale9SpriteHierarchialTest::init() cocos2d::ui::Scale9Sprite *sp2 = ui::Scale9Sprite::create("cocosui/animationbuttonnormal.png"); sp2->setPreferredSize(sp1->getContentSize() * 1.2f); sp2->setColor(Color3B::GREEN); + sp2->setFlippedX(true); sp2->setContentSize(Size(100,100)); sp1->addChild(sp2); @@ -163,15 +166,13 @@ bool UIScale9SpriteTouchTest::init() auto containerForSprite1 = Node::create(); auto sprite1 = cocos2d::ui::Scale9Sprite::create("Images/CyanSquare.png"); -// sprite1->setScale9Enabled(false); sprite1->setPosition(origin+Vec2(size.width/2, size.height/2) + Vec2(-80, 80)); containerForSprite1->addChild(sprite1); addChild(containerForSprite1, 10); auto sprite2 = ui::Scale9Sprite::create("Images/MagentaSquare.png"); sprite2->setPosition(origin+Vec2(size.width/2, size.height/2)); -// sprite2->setCascadeOpacityEnabled(false); -// sprite2->setScale9Enabled(false); + addChild(sprite2, 20); @@ -179,7 +180,6 @@ bool UIScale9SpriteTouchTest::init() sprite3->setPosition(Vec2(0, 0)); sprite3->setCascadeOpacityEnabled(false); sprite2->addChild(sprite3, 1); -// sprite3->setScale9Enabled(false); // Make sprite1 touchable @@ -647,6 +647,9 @@ bool UIS9Flip::init() float x = winSize.width / 2; float y = 0 + (winSize.height / 2); + auto statusLabel = Label::createWithSystemFont("Scale9Enabled", "Arial", 10); + statusLabel->setPosition(Vec2(x, winSize.height - statusLabel->getContentSize().height - 40)); + this->addChild(statusLabel); auto normalSprite = ui::Scale9Sprite::createWithSpriteFrameName("blocks9r.png"); @@ -663,11 +666,11 @@ bool UIS9Flip::init() auto flipXSprite = ui::Scale9Sprite::createWithSpriteFrameName("blocks9r.png"); flipXSprite->setPosition(Vec2(x - 120, y )); + flipXSprite->setScale(1.2); this->addChild(flipXSprite); + flipXSprite->setFlippedX(false); - flipXSprite->setFlippedX(true); - - auto flipXLabel = Label::createWithSystemFont("Sprite FlipX","Airal",10); + auto flipXLabel = Label::createWithSystemFont("sprite is not flipped!","Airal",10); flipXLabel->setPosition(flipXSprite->getPosition() + Vec2(0, flipXSprite->getContentSize().height/2 + 10)); this->addChild(flipXLabel); @@ -677,12 +680,80 @@ bool UIS9Flip::init() flipYSprite->setPosition(Vec2(x + 120, y)); this->addChild(flipYSprite); + flipYSprite->setScale(0.8); flipYSprite->setFlippedY(true); - auto flipYLabel = Label::createWithSystemFont("Sprite FlipY","Airal",10); + auto flipYLabel = Label::createWithSystemFont("sprite is flipped!","Airal",10); flipYLabel->setPosition(flipYSprite->getPosition() + Vec2(0, flipYSprite->getContentSize().height/2 + 10)); this->addChild(flipYLabel); + + auto toggleFlipXButton = Button::create(); + toggleFlipXButton->setTitleText("Toggle FlipX"); + toggleFlipXButton->setPosition(flipXSprite->getPosition() + Vec2(0, - 20 - flipXSprite->getContentSize().height/2)); + toggleFlipXButton->addClickEventListener([=](Ref*){ + flipXSprite->setFlippedX(! flipXSprite->isFlippedX()); + if (flipXSprite->isFlippedX()) { + flipXLabel->setString("sprite is flipped!"); + } + else{ + flipXLabel->setString("sprite is not flipped!"); + } + }); + this->addChild(toggleFlipXButton); + + auto toggleFlipYButton = Button::create(); + toggleFlipYButton->setTitleText("Toggle FlipY"); + toggleFlipYButton->setPosition(flipYSprite->getPosition() + Vec2(0, -20 - flipYSprite->getContentSize().height/2)); + toggleFlipYButton->addClickEventListener([=](Ref*){ + flipYSprite->setFlippedY(!flipYSprite->isFlippedY()); + if (flipYSprite->isFlippedY()) { + flipYLabel->setString("sprite is flipped!"); + } + else{ + flipYLabel->setString("sprpite is not flipped!"); + } + }); + this->addChild(toggleFlipYButton); + + auto toggleScale9Button = Button::create(); + toggleScale9Button->setTitleText("Toggle Scale9"); + toggleScale9Button->setPosition(normalSprite->getPosition() + Vec2(0, -20 - normalSprite->getContentSize().height/2)); + toggleScale9Button->addClickEventListener([=](Ref*){ + flipXSprite->setScale9Enabled(!flipXSprite->isScale9Enabled()); + flipYSprite->setScale9Enabled(!flipYSprite->isScale9Enabled()); + if (flipXSprite->isScale9Enabled()) { + statusLabel->setString("Scale9Enabled"); + }else{ + statusLabel->setString("Scale9Disabled"); + } + + CCLOG("scaleX = %f", flipXSprite->getScaleX()); + CCLOG("scaleY = %f", flipYSprite->getScale()); + if (flipXSprite->isFlippedX()) { + CCLOG("xxxxxxx"); + } + if (flipYSprite->isFlippedY()) { + CCLOG("YYYYYY"); + } + + if (flipXSprite->isFlippedX()) { + flipXLabel->setString("sprite is flipped!"); + } + else{ + flipXLabel->setString("sprite is not flipped!"); + } + + if (flipYSprite->isFlippedY()) { + flipYLabel->setString("sprite is flipped!"); + } + else{ + flipYLabel->setString("sprpite is not flipped!"); + } + + }); + this->addChild(toggleScale9Button); + return true; } return false; From d2fd1a1152870b0665b98cbd16bdbb4a72e187f9 Mon Sep 17 00:00:00 2001 From: minggo Date: Sun, 9 Nov 2014 23:27:13 +0800 Subject: [PATCH 33/48] [ci skip]Update Authors --- AUTHORS | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS b/AUTHORS index 9c43864ffb..0f9ee1b0bf 100644 --- a/AUTHORS +++ b/AUTHORS @@ -820,6 +820,7 @@ Developers: aeonmine Fixed ActionObject memory leak in ActionManagerEx::initWithDictionary + Fixed memory leak in cocos studiov2.0 reader LoungeKatt Corrected a mistake of building android project in README.md From 6ac6e07a4d67e3a33b21efea10860ebec064c16c Mon Sep 17 00:00:00 2001 From: minggo Date: Sun, 9 Nov 2014 23:30:39 +0800 Subject: [PATCH 34/48] [ci skip] Update CHANGELOG --- CHANGELOG | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index 30d52eb293..8945ad62b6 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ cocos2d-x-3.3 ?? [NEW] Vec2: added greater than operator + [FIX] Button: when the dimension of button title is larger than the button, button will scale to fit the dimension of the button title [FIX] Button: when the dimension of button title is larger than the button, button will scale to fit the dimension of the button title [FIX] Camera: does not work correctly when the up is not (0, 1, 0) [FIX] Cocos console: compile failure on windows if using VS express version @@ -9,7 +10,8 @@ cocos2d-x-3.3 ?? [FIX] GLProgramState: enabled GLProgramState restoring on render recreated on WP8 [FIX] Label: label shifting when outline feature enabled [FIX] Label: when applying additionalKerning to a Label that displays a string with only 1 character, the character is shifted - [FIX] Button: when the dimension of button title is larger than the button, button will scale to fit the dimension of the button title + [FIX] Scale9Sprite: will be flipped if both flipX and flipY are false + [FIX] Scale9Sprite: if scale and flip property are set at the same time, the result would be wrong. [FIX] Sprite3D: did not create attached sprite from cache [FIX] WP/WinRT: Windows 8.1 universal app support; `UIEditBox` support From a908c391b0116a4e653ffc28f9b1b2219ef976d8 Mon Sep 17 00:00:00 2001 From: CocosRobot Date: Sun, 9 Nov 2014 15:33:08 +0000 Subject: [PATCH 35/48] [AUTO]: updating luabinding automatically --- .../lua-bindings/auto/api/Scale9Sprite.lua | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/cocos/scripting/lua-bindings/auto/api/Scale9Sprite.lua b/cocos/scripting/lua-bindings/auto/api/Scale9Sprite.lua index c261634a7d..428fd4194d 100644 --- a/cocos/scripting/lua-bindings/auto/api/Scale9Sprite.lua +++ b/cocos/scripting/lua-bindings/auto/api/Scale9Sprite.lua @@ -259,6 +259,30 @@ -- @param self -- @param #vec2_table anchorPoint +-------------------------------- +-- +-- @function [parent=#Scale9Sprite] setScaleY +-- @param self +-- @param #float scaleY + +-------------------------------- +-- +-- @function [parent=#Scale9Sprite] setScaleX +-- @param self +-- @param #float scaleX + +-------------------------------- +-- +-- @function [parent=#Scale9Sprite] getScaleY +-- @param self +-- @return float#float ret (return value: float) + +-------------------------------- +-- +-- @function [parent=#Scale9Sprite] getScaleX +-- @param self +-- @return float#float ret (return value: float) + -------------------------------- -- -- @function [parent=#Scale9Sprite] updateDisplayedOpacity @@ -270,6 +294,14 @@ -- @function [parent=#Scale9Sprite] cleanup -- @param self +-------------------------------- +-- @overload self, float, float +-- @overload self, float +-- @function [parent=#Scale9Sprite] setScale +-- @param self +-- @param #float scalex +-- @param #float scaley + -------------------------------- -- -- @function [parent=#Scale9Sprite] updateDisplayedColor @@ -282,6 +314,12 @@ -- @param self -- @param #size_table size +-------------------------------- +-- +-- @function [parent=#Scale9Sprite] getScale +-- @param self +-- @return float#float ret (return value: float) + -------------------------------- -- js ctor -- @function [parent=#Scale9Sprite] Scale9Sprite From 16d0419136d94e549de5581b6d668a7ed1bb301c Mon Sep 17 00:00:00 2001 From: andyque Date: Mon, 10 Nov 2014 16:02:06 +0800 Subject: [PATCH 36/48] fix compile error --- tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp index 935ce3fbe3..71965a0bc3 100644 --- a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp +++ b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp @@ -1114,7 +1114,7 @@ void Sprite3DReskinTest::onTouchesEnded(const std::vector& touches, Even void Sprite3DReskinTest::applyCurSkin() { for (ssize_t i = 0; i < _sprite->getMeshCount(); i++) { - auto mesh = _sprite->getMeshByIndex(i); + auto mesh = _sprite->getMeshByIndex(static_cast(i)); bool isVisible = false; for (auto& it : _curSkin) { if (mesh->getName() == it.second) @@ -1123,7 +1123,7 @@ void Sprite3DReskinTest::applyCurSkin() break; } } - _sprite->getMeshByIndex(i)->setVisible(isVisible); + _sprite->getMeshByIndex(static_cast(i))->setVisible(isVisible); } } From 4d2752e84fa95c0127ffb1cd52be1f1b3967a442 Mon Sep 17 00:00:00 2001 From: Ricardo Quesada Date: Mon, 10 Nov 2014 16:08:12 -0800 Subject: [PATCH 37/48] fixes how to check for CPU in android-build --- build/android-build.py | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/build/android-build.py b/build/android-build.py index 3465d37d8c..0376e02b65 100755 --- a/build/android-build.py +++ b/build/android-build.py @@ -15,15 +15,8 @@ def get_num_of_cpu(): ''' The build process can be accelerated by running multiple concurrent job processes using the -j-option. ''' try: - platform = sys.platform - if platform == 'win32': - if 'NUMBER_OF_PROCESSORS' in os.environ: - return int(os.environ['NUMBER_OF_PROCESSORS']) - else: - return 1 - else: - from numpy.distutils import cpuinfo - return cpuinfo.cpu._getNCPUs() + import multiprocessing + return multiprocessing.cpu_count() except Exception: print "Can't know cpuinfo, use default 1 cpu" return 1 From 9da8188012a2daf810d02de236d4fc471815fbc6 Mon Sep 17 00:00:00 2001 From: Ricardo Quesada Date: Mon, 10 Nov 2014 19:29:44 -0800 Subject: [PATCH 38/48] fixes for releasing --- docs/RELEASING_RULES.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/docs/RELEASING_RULES.md b/docs/RELEASING_RULES.md index 37cef81b6c..9da09c82c9 100644 --- a/docs/RELEASING_RULES.md +++ b/docs/RELEASING_RULES.md @@ -33,6 +33,12 @@ All kind of releases (alpha,beta,rc, final) must be announced on: * [Forum](http://discuss.cocos2d-x.org/) +### Download package + +A download package must be available for each released version. +The package shall include the source code of cocos2d-x, and the needed scripts to download and install the 3rd party binaries. + + ### Release Notes and Changelog **BEFORE** releasing a new version (either stable or unstable), the following documents must be updated: @@ -55,9 +61,10 @@ All kind of releases (alpha,beta,rc, final) must be announced on: ### Deprecated APIs -- APIs introduced in a Major version MUST NOT be deprecated in the same Major version. eg: An API introduce in v3.1 MUST NOT be deprecated the following v3.x releases. -- Deprecated APIs can be removed only after being deprecated for more than one complete Major cycle. eg: An API deprecated in v2.2 can only be removed in v4.0, but not before. -- Deprecated APIs MUST give a compile-time warning. And MUST tell the user which is the new API that superceeds it. +- Only Major versions (eg: 4.0, 5.0) can introduce deprecated APIs. Deprecated APIs cannot be introduced in Point releases (eg: 3.5, 4.2). +- Only Major versions can remove deprecated APIs. They cannot be removed in Point versions. +- A deprecated API must live at least for the whole cycle of a Major version. Eg: if an API was deprecated in 4.0, it can be removed in 5.0, but not before. It can be removed in 6.0 or future Major releases, but it cannot be removed in Point releases, like 5.1. + ### Performance tests From 3d4b477fc46687211a0345ad21d46b847d1fe1cf Mon Sep 17 00:00:00 2001 From: Ricardo Quesada Date: Tue, 11 Nov 2014 14:08:21 -0800 Subject: [PATCH 39/48] more RELEASING_RULES.md fixes --- docs/RELEASING_RULES.md | 54 +++++++++++++++++++++++------------------ 1 file changed, 31 insertions(+), 23 deletions(-) diff --git a/docs/RELEASING_RULES.md b/docs/RELEASING_RULES.md index 9da09c82c9..2fba92ad35 100644 --- a/docs/RELEASING_RULES.md +++ b/docs/RELEASING_RULES.md @@ -1,8 +1,7 @@ -# How to release a new version of cocos2d-x +# Cocos2d-x Release Engineering -## Releases Rules -### Tagging +## Tagging New releases must be tagged in github. The tag name must follow these rules: @@ -21,8 +20,18 @@ Example of valid names: See "Naming Conventions" below +## Branching -### Announcing +Each Major version will have 2 branches, `master` and `develop`. +For cocos2d-x v3, the branches names will be `v3-master` and `v3-develop`, for v4 the branches names will be `v4-master` and `v4-develop`, and so on. + +* `master` is the stable branch. +* `develop` is the unstable branch. All new features, bug fixes, etc, are applied first to `develop`. + +Once a new version is released (either Major, Minor or Revision), then `develop` branch must be merged into `master` branch. To be more specific, `master` only contains _stable_ releases. _Alpha_, _Beta_, and _RC_ versions MUST NOT be merged into `master`. + + +## Announcing Only stable releases must be announced on: @@ -33,20 +42,20 @@ All kind of releases (alpha,beta,rc, final) must be announced on: * [Forum](http://discuss.cocos2d-x.org/) -### Download package +## Download package A download package must be available for each released version. The package shall include the source code of cocos2d-x, and the needed scripts to download and install the 3rd party binaries. -### Release Notes and Changelog +## Release Notes and Changelog **BEFORE** releasing a new version (either stable or unstable), the following documents must be updated: * [CHANGELOG](https://github.com/cocos2d/cocos2d-x/blob/v3/CHANGELOG) * [Release Notes](https://github.com/cocos2d/cocos2d-x/blob/v3/docs/RELEASE_NOTES.md) -### Documentation +## Documentation **BEFORE** releasing a new Minor or Major stable release, the following tasks MUST be done: @@ -54,26 +63,26 @@ The package shall include the source code of cocos2d-x, and the needed scripts t - API Reference - Programmers Guide -### Backward compatibility +## Backward compatibility - Minor versions MUST be backward compatible with previous minor versions. eg: v3.2 must be backward compatible with v3.1 and v3.0. - Major versions SHOULD be backward compatible with previous major versions. Breaking backward compatibility in Major versions is acceptable only if it is extremely well justified -### Deprecated APIs +## Deprecated APIs - Only Major versions (eg: 4.0, 5.0) can introduce deprecated APIs. Deprecated APIs cannot be introduced in Point releases (eg: 3.5, 4.2). - Only Major versions can remove deprecated APIs. They cannot be removed in Point versions. - A deprecated API must live at least for the whole cycle of a Major version. Eg: if an API was deprecated in 4.0, it can be removed in 5.0, but not before. It can be removed in 6.0 or future Major releases, but it cannot be removed in Point releases, like 5.1. -### Performance tests +## Performance tests - Performance tests MUST be run before releasing a Release Candidate - If performance is worse than previous stable version, then the Release Candidate MUST NOT be released (See Naming Conventions below) - Results of the performance tests must be documented in this [spreadsheet](https://docs.google.com/spreadsheet/ccc?key=0AvvkdgVbWvpZdHFudzdDT3NuYTRNTHlZZzRGZWYzMmc#gid=8) -### Samples and tests +## Samples and tests **BEFORE** releasing a new Minor or Major stable release, the following tasks MUST be done: @@ -83,9 +92,9 @@ The package shall include the source code of cocos2d-x, and the needed scripts t - All the tests bundled in cocos2d-x - All the templates bundled in cocos2d-x -### Naming conventions +## Naming conventions -#### Alpha +### Alpha The product is unstable. It could have memory leaks, or crashes, or the API is unstable. The product contains little QA. Although the product is not ready for production, the product should be testable. @@ -99,8 +108,7 @@ _* But it might have memory leaks, or crashes, or the recently added features mi Alpha versions are NOT feature freeze. New features might be added in future alpha and beta versions. - -#### Beta +### Beta The product is more stable than _Alpha_. The product might crash, but not frequently. No major changes were made in core components. Smaller features could be refactored in _Beta_ versions, but the core functionality is stable. @@ -116,7 +124,7 @@ As an example, for cocos2d-x it means: Beta versions are NOT feature freeze. __Small__ new features might be added in future _Beta_ versions. New __BIG__ features that might affect the Core functionality must only be added in _Alpha_ versions, and not in _Beta_ versions. -#### Release Candidate +### Release Candidate Release candidate means that, unless major bugs are found, the product is ready for release. The difference between _Release Candidate__ and _Final_ is that RC has less testing than the final version. @@ -125,29 +133,29 @@ Many cocos2d-x users might want to try and use the RC releases for production. RC versions ARE feature freeze. No new features, no matter how small they are, MUST be added in RC versions, because as the name implies, it is a _Release Candiate_. -#### Final +### Final It is the new stable version. -### Number conventions +## Number conventions major.minor [revision | status] -#### Major +### Major The major number is increased when there are significant jumps in functionality such as changing the framework which could cause incompatibility with interfacing systems -#### Minor: +### Minor The minor number is incremented when only minor features or significant fixes have been added. -#### Revision: +### Revision The revision number is incremented when minor bugs are fixed. -#### Status: +### Status The status could be: alphaN, betaN or rcN. 'N' is a number, and the first MUST always be 0. -#### Examples +### Examples v2.0-alpha0: - New major version of cocos2d-x. From 46004f3d7e4ce21cac60123178aed30d89257d8a Mon Sep 17 00:00:00 2001 From: Ricardo Quesada Date: Tue, 11 Nov 2014 14:09:08 -0800 Subject: [PATCH 40/48] renamed RELEASING_RULES to RELEASE ENGINEERING --- docs/{RELEASING_RULES.md => RELEASE_ENGINEERING.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/{RELEASING_RULES.md => RELEASE_ENGINEERING.md} (100%) diff --git a/docs/RELEASING_RULES.md b/docs/RELEASE_ENGINEERING.md similarity index 100% rename from docs/RELEASING_RULES.md rename to docs/RELEASE_ENGINEERING.md From 8101b6a94e5a52dbcaf6bb1526ce444887279916 Mon Sep 17 00:00:00 2001 From: tangziwen Date: Wed, 12 Nov 2014 17:42:45 +0800 Subject: [PATCH 41/48] add UV Animation Test & it's resource --- .../Classes/Sprite3DTest/Sprite3DTest.cpp | 101 ++++++++++++++++++ .../Classes/Sprite3DTest/Sprite3DTest.h | 13 +++ 2 files changed, 114 insertions(+) diff --git a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp index 71965a0bc3..dd92cc70ac 100644 --- a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp +++ b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp @@ -52,6 +52,7 @@ static std::function createFunctions[] = #if (CC_TARGET_PLATFORM != CC_PLATFORM_WP8) && (CC_TARGET_PLATFORM != CC_PLATFORM_WINRT) // 3DEffect use custom shader which is not supported on WP8/WinRT yet. CL(Sprite3DEffectTest), + CL(Sprite3DUVAnimationTest), #endif CL(Sprite3DWithSkinTest), #if (CC_TARGET_PLATFORM != CC_PLATFORM_WP8) && (CC_TARGET_PLATFORM != CC_PLATFORM_WINRT) @@ -225,6 +226,104 @@ std::string Sprite3DBasicTest::subtitle() const return "Tap screen to add more sprites"; } +//------------------------------------------------------------------ +// +// Sprite3DUVAnimationTest +// +//------------------------------------------------------------------ + +Sprite3DUVAnimationTest::Sprite3DUVAnimationTest() +{ + CCLOG("hehehe dadadad"); + //the offset use to translating texture + this->cylinder_texture_offset = 0; + this->shining_duraion = 0; + Size visibleSize = Director::getInstance()->getVisibleSize(); + + //use custom camera + auto camera = Camera::createPerspective(60,visibleSize.width/visibleSize.height,0.1,200); + camera->setCameraFlag(CameraFlag::USER1); + + //create cylinder + auto cylinder = Sprite3D::create("Sprite3DTest/cylinder.c3b"); + + //create and set our custom shader + auto shader =GLProgram::createWithFilenames("Sprite3DTest/cylinder.vert","Sprite3DTest/cylinder.frag"); + state = GLProgramState::create(shader); + cylinder->setGLProgramState(state); + + state->setUniformFloat("offset",cylinder_texture_offset); + state->setUniformFloat("duration",shining_duraion); + //pass mesh's attribute to shader + long offset = 0; + auto attributeCount = cylinder->getMesh()->getMeshVertexAttribCount(); + for (auto i = 0; i < attributeCount; i++) { + auto meshattribute = cylinder->getMesh()->getMeshVertexAttribute(i); + state->setVertexAttribPointer(s_attributeNames[meshattribute.vertexAttrib], + meshattribute.size, + meshattribute.type, + GL_FALSE, + cylinder->getMesh()->getVertexSizeInBytes(), + (GLvoid*)offset); + offset += meshattribute.attribSizeBytes; + } + + //create the second texture for cylinder + auto shining_texture = Director::getInstance()->getTextureCache()->addImage("Sprite3DTest/caustics.png"); + Texture2D::TexParams tRepeatParams;//set texture parameters + tRepeatParams.magFilter = GL_LINEAR_MIPMAP_LINEAR; + tRepeatParams.minFilter = GL_LINEAR; + tRepeatParams.wrapS = GL_REPEAT; + tRepeatParams.wrapT = GL_REPEAT; + shining_texture->setTexParameters(tRepeatParams); + //pass the texture sampler to our custom shader + state->setUniformTexture("caustics",shining_texture); + + + this->addChild(cylinder); + this->setCameraMask(2); + this->addChild(camera); + + //adjust cylinder's position & rotation + cylinder->setPosition3D(Vec3(0,-15,-50)); + cylinder->setRotation3D(Vec3(-90,0,0)); + + //the callback function update cylinder's texcoord + schedule(schedule_selector(Sprite3DUVAnimationTest::cylinderUpdate)); +} + +std::string Sprite3DUVAnimationTest::title() const +{ + return "The UV Animation of Sprite3D"; +} + +std::string Sprite3DUVAnimationTest::subtitle() const +{ + return " "; +} + +void Sprite3DUVAnimationTest::cylinderUpdate(float dt) +{ + //callback function to update cylinder's texcoord + static bool fade_in = true; + cylinder_texture_offset += 0.3*dt; + cylinder_texture_offset = (cylinder_texture_offset >1)?0:cylinder_texture_offset; + if(fade_in) + { + shining_duraion += 0.5*dt; + if(shining_duraion>1) fade_in = false; + } + else + { + shining_duraion -= 0.5*dt; + if(shining_duraion<0) fade_in = true; + } + + //pass the result to shader + state->setUniformFloat("offset",cylinder_texture_offset); + state->setUniformFloat("duration",shining_duraion); +} + //------------------------------------------------------------------ // // Sprite3DHitTest @@ -1445,3 +1544,5 @@ void Sprite3DMirrorTest::addNewSpriteWithCoords(Vec2 p) } _mirrorSprite = sprite; } + + diff --git a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.h b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.h index 721d1ee105..f624258c72 100644 --- a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.h +++ b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.h @@ -68,6 +68,19 @@ public: void onTouchesEnded(const std::vector& touches, Event* event); }; +class Sprite3DUVAnimationTest : public Sprite3DTestDemo +{ +public: + CREATE_FUNC(Sprite3DUVAnimationTest); + Sprite3DUVAnimationTest(); + virtual std::string title() const override; + virtual std::string subtitle() const override; +private: + void cylinderUpdate(float dt); + float cylinder_texture_offset; + float shining_duraion; + GLProgramState * state; +}; class EffectSprite3D; class Effect3D : public Ref From 85f0b0ec29f99a8d5453a2e976dc5ab9f62bcdb1 Mon Sep 17 00:00:00 2001 From: tangziwen Date: Wed, 12 Nov 2014 17:44:19 +0800 Subject: [PATCH 42/48] fix resource miss --- .../Resources/Sprite3DTest/caustics.png | Bin 0 -> 198568 bytes .../Resources/Sprite3DTest/cylinder.c3b | Bin 0 -> 6765 bytes .../Resources/Sprite3DTest/cylinder.frag | 16 ++++++++++++++++ .../Resources/Sprite3DTest/cylinder.vert | 10 ++++++++++ .../Resources/Sprite3DTest/dragon.png | Bin 0 -> 78928 bytes 5 files changed, 26 insertions(+) create mode 100644 tests/cpp-tests/Resources/Sprite3DTest/caustics.png create mode 100644 tests/cpp-tests/Resources/Sprite3DTest/cylinder.c3b create mode 100644 tests/cpp-tests/Resources/Sprite3DTest/cylinder.frag create mode 100644 tests/cpp-tests/Resources/Sprite3DTest/cylinder.vert create mode 100644 tests/cpp-tests/Resources/Sprite3DTest/dragon.png diff --git a/tests/cpp-tests/Resources/Sprite3DTest/caustics.png b/tests/cpp-tests/Resources/Sprite3DTest/caustics.png new file mode 100644 index 0000000000000000000000000000000000000000..edc158d9824b3ef46763aba79d9a84432fba68cc GIT binary patch literal 198568 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

l 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ξCB5iQ5 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%0AA7CP$HncZ8J0)DM4ym5*|1?J?xTww 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 Date: Thu, 13 Nov 2014 11:57:18 +0800 Subject: [PATCH 43/48] remove dummy log --- tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp index dd92cc70ac..1bf14a0e57 100644 --- a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp +++ b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp @@ -234,7 +234,6 @@ std::string Sprite3DBasicTest::subtitle() const Sprite3DUVAnimationTest::Sprite3DUVAnimationTest() { - CCLOG("hehehe dadadad"); //the offset use to translating texture this->cylinder_texture_offset = 0; this->shining_duraion = 0; From 3381400eecd14b666b4f280a1b83198c3f75ba3f Mon Sep 17 00:00:00 2001 From: tangziwen Date: Thu, 13 Nov 2014 12:06:52 +0800 Subject: [PATCH 44/48] trim uv_test texture's size --- .../Resources/Sprite3DTest/caustics.png | Bin 198568 -> 20582 bytes .../Resources/Sprite3DTest/dragon.png | Bin 78928 -> 21644 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/cpp-tests/Resources/Sprite3DTest/caustics.png b/tests/cpp-tests/Resources/Sprite3DTest/caustics.png index edc158d9824b3ef46763aba79d9a84432fba68cc..179f30dbc7744372171f99474f76fc1dcd9c2cd3 100644 GIT binary patch literal 20582 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

l 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ξCB5iQ5 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%0AA7CP$HncZ8J0)DM4ym5*|1?J?xTww zPZaw47PZlcXg3iycI^qlvl}*JM~A8i`QUmK(3KR|_1C%rh@0<&pw+!<83xS?$hFN( z9hGt$Oe$pupr_^`emVOQa;0DW#tRsF$#BkV_AO>lIWZnW1r{$w>I#&QnCf>fr<0i_ zz@=|EB-`NoQA~r>vU`YWm`IM1Nw(z6kMZ8KPg0v-id4#wQWxm_!e|_30h57Ud_t3p zar#|?a?4JlwjrLaw{FK}cie=-NB8218%83MpxL{hy#q^)2)K)~G2xYWFn{HGQ67kWIEV`l0HVw4YNMx`)J0&9nCsT@$P6$IjGqF*&E~|>h zP3od*?I_f5#7@2BH5mPElq&Z}K1oz=_ERWeNw@GgBBSZzvsZi>@d2Ga5~uc40Cv=; zEP<|qNsHFO5fn}{Lv)^sMvK?Y!@|#J;ppb=^ft<=f98}DrN(1o67WIX^Thj-nr1Q_FkSYlkxP)BtrP>RM>Hz2@WFomq2tOh&>SZ><=#9o3H++rk zEx8ylbQDHB`zFniXbF}hOc;hzLnTjup2 zTredu6QVjLW!Qo(X|*SEXnyApi72fo{X%B&&%U-21U%0nl;R7?1sl0IMB>VyyV7@` zzJqCRy?|=8?xQ<(LcD{WcUYZfB!G6POpk}Q?nL67w;;K9AVI1;)xAbl?MeNf0D98t zmngSMti4P@#_lR7uKE&6;fQGZ^KW7dR4gyeK`jXR@(^;~UyXnq6YhWQ9dx{W2q(Ox zsib8Ur=84v#Ul{FOoNOhERb_(T?DkFA_7palh^P)4yMecql~VYp#T@tiiz)G+{+Kc z)gls2UZzf8O&zK*rByg>9nvQ(MN+XJI&|rWF&|D+y=YjJr!))%Etjk2rln%c$PqZU zV;!!$q$h40dlxJ<*|nJA6B$Ry-nk!(znPDPo7Q4?egV8OMnu+#MlcO(aJ2-O!s#|M zP3RZMVk@aBpiZBTM$18$okI#&K^gWeor@d#Rm0f(?xmm!ITw<)QxzGSR6BK#IO6O+ z%ug)M-^GB)LQ|`Wi`zx4!6jULYaqEg5_*XtmZB=HGSEWsu$<4;K+i+3mzodCeA~kC z$ly<4$P7TBe@zUz^%3;BiQubRt30vbhD;YqMdP{qw2TV)8Fs1TL=*7YqX#31?tnU$zFy5Qryks1D_A6Z5b|4PzPeyQfEZ+F~ zJJkl=$A)7tnJxqS#QP?P*)wO>++t^gba0prXM9%s9Y^FtXIJTA`>LA7^u>6?%g8uwYTHN0KYY@%mn(xmZ zi!A2}dMq@~BHF>+f`_a=4-tH?f$=s=mi>+4w2LGYu?@OMEjGC_4K8~Mn7QKyv$lT~ zy&4ORP1}x*`NZv1TOx5t6o6<5?4ox-889pFDNqWF3Ij-^UVxn|PNKBHjDV0h3>b11 zhO#wRNCIOe-{GQR7l|>spaNs%_~RM8^PIWA{<2B~aGt}+`ZJ}+ZsJ1IS@l>sZ#Le$ z{|?lqi#f7GbJUStmkl<(B%&}F#oiJJ9^cQ#BJbUT6t06J)i^}TbhU_1bm7_8hSXsb z4sJaFJ6l2pR0&4)x>e|XGg{=1qmX&u?k|3Wp00I(l_1xv%VGNZ7_8+%_` zr&nim?AQu*>(qit+FG%wh#X83y(a5X|biGf(G_$g0ku)yYR95aTk|N zf}1X;TQ#YW=8i^WQM@ydv3;4d7*Wv?+~uX#TcI&~t5k*4J+poWgW^GzgaI`J~vjD7Lu>^}2ETA~&wTif6W7)Kh<-@J0mUPv% zH=}Eh-ZTt)tXaPavnZr8W5#T(Uc3VPcO5|Lk&|%c7QtMq=@;tdz4WMHV}O)bf-Q6B z(Sx`Lt-6Hc)sODt;?HH1mK25^EV-p?T~2b2n~Pg0#DN6s0_-)g_S>U)ZR`{zZ#;=h zucAe^(h=w1g;x%k=~uv)Q0DkA$u!^n{wSUO@_tGzOwPRuu;R z0}OzgVLpocFLi*fEC-g2h_Rx`=ljzF+$!H@bT#0gNT2dAwXw8%6&7|=Ly6UbdcdDl3QlFk^Zh=%5)#03(pETV-4lzy)GfHUy zf;mCI_~2E%`}xagxaoPEa#4hI%}JCz_&t&LV8*sm|DJ_+CccHJW=(Pb^>^X~g*qq9 zS%K)fb+KjD_qcKRFwFk)3p8xgo_8fNt(nD9+4N$lI3(ztl2&!0AS)HAM~~sa?!7q8 zYQxks$B}mW6fDy6o4ofBdIToPY7m&q&d-K_qCff$?TSG+wnw@rndQ%Hz@m0lmK^gM zfhw@_AUCxHs~N7W{PqAPy~P`F;HB5EM`9l~9QEXJ*Jo+7o}K}jh0l*2kE6S3G$`Z! z$hg<=J@0?ZwpGZUJ%Lk4imCVn)QYKt zA;WGa8S5GZ#UyD@L+TU+jFmL6(2FJXkp6xDfa82TfJy@(&yYK8IlnA40K31Rj~DN} z1@#zj-rAuh;w84{qV`CI7bk_DsieKscYAE#LBzf_5;+~MC=jl{?9!an4rvjl`uefK zrNhDyAQ>)Es|xYZZLH75#SlPn06GkM1?I_qp{W8J=>Y`IIe?PamaU1y8hv|zHH0;?8oA+!-7@3YW z62dWV=7-2QlZ~gYxeE^eYM3~0G0b7XxSbh*g3QzSh_d9TPNd>95|y?c*okXKU5nAT zKdb~mrL4)1z}o*m#PE5rcFvcW|MgcmynnB%Ux<&3K<6Hf(3I&_zgT()p=@9p!0?Bf z12*dImE;%UE7A$N?*tlcN!YsJFlJ1c zi&H7Zlcv# z&v?Ho8^(6&){|dd=#hjfe33IkTmQ=R3FynmqcO-e+xN#F)kQHMl?LE^hmm}6JIgpN zB&ke$<5?{Gcs!bfnsHOpMhI~fu^}TdaLPYR*I6$KFv(0)J-BlZLSAI2oL*tblc&!^ zgf=|{u>$E1ivp~4>@DI#61G}&LNrA;nB$i?*jGfO!U_pJXbm)Gpb53M7UJ}MpCQh{ zSeP{1;cQ8L<*oOT2S8mx=F)%nA!$G&*n(3?citJFyn!hbUqan=<0$oAhSQ_og=Kvq zMJ|?N>|;;Bap)xR&H`M1=P(Q!eLGIDWcA_uoVUYaOWuO+qMa{>ovfA zk3ENoh!9+QS#PY}aRjAycKJ0^x|`Q!VWdL8rG>d7MX5cVxIL-DBBNban2)_XcVhF( zWk@@?o%#ITd_QGIWl`}13v8f@oj7zR>H>J#j=Wvl9%$OK2|oMg1H?6;)b`{@2y7N3 zFDDP%S0!WFSG#a{M-Dxb7<3&l5JM@Jl2D_Ol1tYSw~*QcN&l%8EEi!2BHzn$(rEq~{qTSokp-L34W#?ck2`El0bKmUI$39xh0G#G-d@o5L`mz0CysA2R0d@jH z)U9KdAU89Y{pIsewMJE?v?D?`4(^6#5t-!n;1tk{zn1t^#3(DW03skE9f8}NGUD*9 zAEL2e4V*ldO@PsgcRrhjy3ITOu;XYHl8QN|zyt+8{V?Y${;2&);|56AW6p8m#EVAZ ztgpu7t*7rrleN#l#RehCH@*(bj(jX%y%h`QF2`rDzKsa>7j%*0{M>slAiiM(teZLu zFTe63Vw!Zu2Q%it%H7bGPfBr^uoN|rvJ)GVtlNKpm4bAKS)weBP6d1vg&awmogiT+ zflVeOtE(75U( zBMrgUZF6wvJwwTY^kCDbT}U~QiZV9aEVB9Gs_X8+)i;kqXnb{bZ>7W>tY*2Yur`(7 zr3|&6$iGI*)^6j6EIe!TWze*Z-AMH$Ry@)h@s|{iC?tzz6ERV>?#XJD?=&!aazg$I z7T|mgz#oK`&v%9WvtOs$h6}*QqnI`Q9#*^=SdHc=~JQOCvYE9m4?OE7&PySw^PY z#OL4S^_}Q6{1V)7Oq9uOhLmhuJnN8ZV&b&9xb4Xo5kO&- z68S6=;;})g5U~sl&%^)=&}ZUqEi!%*wreKAXD_v2o{x{OrDrITU*Z1#Y?jJrCxpu% z-lG+9>G@oVgc2wgFYO<&{h#NOt26*=+HxW&4K_+y(JhrVsj32mw4OO3zzYPz}>YxJnpore*F`{A15*Put=-iRd2@TI4pW<@TI2XBj*q2fSzxDy-w zSX9Fvg@eh*AKbYMdbMoI?!goUVe(Ssw(IL!%wY0B%X=kZ;{dumwf56Ks4S??<7#V*HTIZm;u34I9sOKw*9Z`zW zT2HIy-CV$WzE;rd{IoOFz2^j0JDq@g4n)OApmqB;WVl&bvBx~ODoLf;;JhuOQjdkz zb5e51B3We|v_p1nl4CiS3YoXA)}{-#v(~)q%}{yeazz1Nvjd?xVPT^uu`IsTYt&Ril^3 zJ*}3GkvN0dOwI(e94|jM79&WudFYX`*nZ#uBEv&4;;O;Qu$cIn!Yq0eoH>fYZJOhi z7oJ9swym)7yE*(jU2YPJl8>ekqYK2B()a>DEfCzm~aZPc{~R`6fp8XJ?vq zE0n*g58^f|A#}JAB@xnHm_~-bklkBKnT6aSlV7^iN{KG>7|K(SqaAnIz*Gu|Y&--9 z)o*MyL$H7QHr`tvT9N)-MuJoF;Uj3q#+~I|67ke4ui@D4W9l6DJo6B>1=|Rmj(ey& zJpc1a%5YqJ14Tth*y+@&1>Sz+Wh|#4$yKB7B#DSP35`*kONOFn?|zswV>-Tg=Os4z z2*rW5OVPM?4Om#MH+TCUv>$XOiqz9Do#hKjT<{)PYSnhm5=xD|a8j zpsR=D)*EkS5z;s^6pK}fZLuvM`}c2W>+Xek{-L`tq;q?W?A-+mro7Lvh}jOI{Hi@& zGr!tXsE}q8BT!L~|5q%(zyBJQX+Ym3P#v#1Gp=Y_8*yw(UpH8XyX!V$`F#!?>=)^b z8HgdVs7ft1o)nEr?l?+Ri?OhcthGQpGX)@Y z{llpXaWai)J`0lk{1PbpeG_uZ3$bARVx*)TM^ZV_YvKBZ1j10SIF7F;a#vKz z6AMM{3#Rj!!6)C}#Ei=gS6+%^2lpXDG!DoN{P5H1h_Bs1I`=8BOVjY>{broOz#d(Z zeI^Cnx^%(2^S<{PXKnGE*ts5~ZyJF}Qi&auL%U`42(<6q4u^K_V`gD54ksVMQ5Ni^ z=jOw}7=F~cJ{#eE_oPx_`H0FZLWh0e4aqtJBD@Zyk?>7ltF* z#5zic!oZfyU=6Tm7w0F@iYRF5$wUC!^zFN@$74_AU%h? zdrD-#{pn=3EN8oHH+Nj}0N7fDA&wYF(OYD791TGc7xufazKnVe>thJz%0-FS!;~PI z1KQe=u@TpWYtdPjhdsMDqh)()^8IkIxT+)v`*&=_Ox7ao-L{#mJt`!#n8!v?^7U6= zLc?y|L}3N?>>MmwvVvTN=_p`SR=06mjGsA=bs8)rVnw8ZSpY3P>C5$L0pP#>s5AiQ z`3UVq%)NA5t*kMB>w&wle%ZH(XDR8!Ejm!{+JF?2efOLx!1CRPiTayx*XaAOJ9!Vb zbN4Cb>*B}XisXh=lqbPQW39=qE-k=C-(9;25wkI|o?klaIr$H9`!%46uUDOAgy}}^ zI<@R=B5y^b(998xHDlgFKQ7o;@99Gg`V%~NBuv2#vH0uV_;mg{6tJg#c=s9z?@}9{ zdI=~BWMc|WBodS@+Pt8TIsPnGrto z4i@Z`AaD3&)J$xF_h!t;ee?j19odZN`+Fhtx~9y>2g16ZvHg=DqZI`_$G`U>{1YO$ z(@tMlBL0W=v;3d{0Ss}PHmr+kOuL3gP(7(;b;QQU5X21Q4$t;n z4CzedW#}oOntI>}9(>?Qq-K}ll@BJOeb+u516Cr+^HHXl_n~g{--F`++7z!e0Ox4{ zgsh@OD!3+6$b!55nn8#sAl56CB3A5Ww=XXfJM-9(vuSHQ@WSh;Qokj|B8K5Gk?26? z)RTKBAmXJ<*(<(;ZolOD$?B7G*mSnPpx{JO0v7>yXrcd>Gp#0_eIz!QU_k&nRSZNA z!=caN;-@mLht+U&(F0f$+q^J>`gkAVhD1Nyd_zlulr9Q>2H~d1W}vinO;o@4GL$q7 zM!u2Nif)QzvWP`0(8b+n<19p-a^t{*pCf6H9nXF`2X#AiVro%RlJs5z%80brg0+?f z)u-P{K~NiVhKxsKU@d&Ia5Xken~G=NdK9Q;MD+=`U_*E*YU;vKb$vFH$4x_6S}7i( zU`dnSt>ES^YoOFw5v%^DP5v6Im$9mm@kXnTT~M`AUAFU%MJ#2;Bg5jkotbh~5AHA=>1-FcS zO0m3LoUk`s+KZ_y7W#0arLmiC^yfFCxVj&*srxS6c9Ha6zhM{q>V>c)u0P`1Qy|h` z+IrCoU{2j2LXc|0X|?^Tf4mq7f>6>*OGHA0C_NTgPE{N(<&|Sz$LOSZ+&$_tZ2WX5 z-uQeyqCXgcqXSGNBC(Mv>kdM^#h_pvQ)xvAV>sa7Gy=Jjahy(7;OEz&!;lfU=egJE zYLl$Oux94FZ{pPnPoefh-C*GkucOzHJ?I0}O=yp|zgdbr#?3cU6vf|`0_%%?k#}hl z3Y|8D7$XpJ+<_BM&wzQ$NsMHlgzH%X3`e0V$2Iwf5R|i1k$5|HZP|@e$!w&VUxJj> zR3&{b+pTCWY8{hh>!kr?Cd0yPKztmv0wTi@!)n3^3b58~P={(gp@?Ey)yNp0V1&x5 zh@`l9SrTqZLryuVYTG7-Iijo2@hs({-?QTYHm}=;U7L5Ij447UAJL#~XS_uUvueXm zRUs+j&@pUME!(y1-~Yr>=>eSQV{{1NM{xl-u}Ha<%CnDOe*tS&E=4`MmZR8eE2=(= zUX=OElpju+lT-vBEb8SAmj z&vsOMdpM5tp_@yWKFL!9CF~t=_`_*PETR4$?=`Z2GgQ6$aun@KLC!miP(QIDp8syC z8kLPp7vk|zH^NrmfF7UUg_?Ayc)cuUXSF$zal&%@ysI@Esu z2BZbkNO9K;F|+M=78#Tim!ja)^=R9)K5l>LZd7g95MGLc3ggi%3s%MPg!PC5mM{aN zXOmGErNO*ZGghiNM&c`yso>%lE|y6;YWmcSRYz7a7z8kd;3QlD51VL;n{F2NpsK(W zS|z^|T+GSMLQZNn_U+z}-MjbU_^C6bQ?rJEwHv``|D=Y((736zrMsErl?1FuYqoTz%sRMAWLvMOn;BM&kN3Xd==ftnm2{dO}yWlhNtN za721C=oAM)3_v9YaGpy?dzosl^b2W*3p&x?^kRAJ$}Lx_z*?tQQF<|QcT#COzQ9F- zj*BxZh;ij(!v`a0;}Triw3gz&ixl^pTXtbPslp9jzYTlahT#O$dXd~p{J9l7Dceic zYHjD2gp&|ce1$O;41P%niiV$_=MuWQ7zydJ>*fwF6MoIfMu=uC^9q6NWzegpY33< z4e^g%f%5LvnLY3#hK)XtU-KDC4;SO}73+~0R-K`Yhv$3a%4A7#JJG<$?H+r zI0%`3WyocwL^2EE>=zJ|L-V!hAohGZmsOcI=P^Vo~<3^LPLm_wbxliY#Nl8Ix>$;7RFyHLG1 z12?s6LcIXeV)(*Tzi@oMatT)W6`|pK_u^R7aHNr|?=SP4lwbqNKcWPzss!cq=cocp zEGtZUad)L;NY4c-JVB`|*OZDSQ=sjdE=qORGF8FJ+o@Q~q8I;(!~w_~s7KxTtjE4a z_#!Iyjvk7-odem{`TzwyNf!=jhV-MvHr`o)qSL83Ktq-A(g+mysYmLL4mD2OuE1IXTS9Qk>rczMz% zsK-uCdP=HkLA-|QpPP56*we+oQj%=G*Qxcc{`0-T_w3Ji>im;mS7`vw_vxH#0MvU# zx>}>o%EXc7@1YwjX}#QxQ@E9Sfi+$ExUFLgRORmtY_aWOZ@nD8>9ft7u$Uo0n^*6K zqgyQ;EJ@>gNy1@%UM?eEhIR!mZ0>p$IDnaIG^*}Q#42eHyd)5*ejmI6p{_c)OIoE- z34d9}W*1dfQS<(RDQGh7A?&Y5%t036sdA*;HUYI$?YRGrL1@>eI{vS{vw)Agy#M$o z$;I8%ByH-hl$I6>w8h=s-C@|!KVxiz0mC+&;SL2_oMJ^<>h4W7jl1WP%jN(6K9@kZ zA;q@R=6Hp)>E-0P-}8OG@{tvJoAlv_E4AdS&C0`GJE(uE2LApS711EHfRiw*SS$ZF zNzLfzzxezo%I4(6zQhS%I(`J1xbYosJmplaTgph$)2t2MgEjP_^HrDv$p-Fx1SxbY z<2DoY42cLw8_*9(31uBH0xh{EIN}tmdS0$e;cGd?Yw7Y^hGS|wq1-D3w9fLm{BG4^RAcGnG0K24xRuB&|y z2R8LL}hTT`D2=MNW@X4+Ajg5(Q=a79!=0RAvvdC%4C1%7?zrv&UK!4#y*q2?t&D6%0 zrKB@asG~WUNjksm%==N$NmIXDPte-N&590BP`7!-`s%O$RNDF`b*Y5k9vQ6lOdq1K z0#84BcV+RK3d3rZLSwAx$!W@aezv;Q$7w|Op*r)%KdI}eF@aSeTp4B=R|I{4nC4KWctcdXI$s;-ES2}&ns8jQetgZ#e3^BG;&tzkeY)JgfeE}#9SBkSW6Z}0zYNBh5X z47ip1-(3bB2yizAYQGA;X$8@cYep`bnevJmpXr9PPga-6CY?QUxCYZ$3j@64<=hPC z0yHb|hV)c@Rk&HtPMf3rUUAAg{|JR1-WM2dt7gubrxM19{rdG*_lyjTBG^o|RVrLo zfaU;Qe+VyWIcZ8onyQW>$0Vo%k= zIP%jlOu$eh|GimCFQj(>Ii_`Bijs!)py5VugC0QM2XmBXm;iVOqk6|9o+e5lsJ*oXrAjRKse&yUtsZWOM#4!DqzAt?H4c+$pOR?r| z);S15j<)VGo8Q!YaFOJ+F%b#QGN`SqxgejNy+Dg=5VY6_mzs-D(t2#Qzg)9GNl8)a zg-S3OIw-7lT03_m^ZqDmToWku!U*gyeG&OKf+hxeBk)5{88haa3l6uftn6gSaLZ)ufkKcA-+FMXySm401!$^^!Jbn0Uh z(ASI6B^N!YI5_;KT~KACGv3C?aeL|nxC8@6jc%`*p%&vX{KRdLd|rMDjsqk-8iA#; zyuNM-p5mP3Ns3eyEWR$iX(C2PBEr##Z8@EJ6n=bc^44mU`)T$y^F0_JKz}(tf+c9~ zm9fdaY-LXUD4Lh%wAMyoFzU3IHI5)-O74=WgN{2*dmVJJ!g1eeB`6yUv4h&%4(I!& zKK0-H<8%gqU+^RJG9nCy9aq0LSLYl7NhZ8r#}DYOz2f5NY@;E^hO<7RqYU$36YxS` z9J12<{L9tL_0ih(DvFI%%Fz>*arQo1AKL(|xR|+k6DM|r$~U$se`O(!H%@)}06Bwt zD!OYDBq5UkfyGAvXyHVy04W&B#3Bx-+*VkLNdSe4u76%ZpRZAC_ayZnJV@aw32HX? zVR{DD8w%C5ra(;_HYZ$w!ctws}wdLYNuAN%s;lnf0T zF;czpW^n$9Rtgzih^)jg1g5I=HFC$&xQ^5R7yRshs}I!~0DhrQ&Sb;w+A^R}Yh{Vf zI&y!=HhDUzdxj3l0oqzqN$MGZ-#UqJ(pz)UY3AZ@g`i@7c=I@QKLw3e!1bEfFGdOH z?4i(!y;KC4OXhwBbQ93)DiiEK`@8)xI^<`!%Ayp8&N2GHCFeEsS@8a!ycF8KY8%El|2?NyUt$&Abro>c3FW(o8uPldPf*_MPc$+I!$)c zWG|O|E(Lhu^?euC+)=1+q*qq)p$^k$Hk!Ck0>!Yb_ z_5RcaDy$@+MZ}^1KT#L_-_43k?di-hLriLGi?P}_%ieJ$+nk?>XzRj#zxNgx)(1)s z2bc=X>&;WoL_*D%At1hKd)3xCC-Js(KPbR?bb<6aSggABBzsexmy@>wMNBgc}cluE?=$O(rSi;9;E_g z30_{J{4ZC)DUf>h$)U-JYibwq51z>S z5|NyI;iTL3{MQIO(TkRWHzh(9F+5JZN8LaM!Zg;$k4#tDCW6npCcQiPQ{8jdF(?(4 zIb~kAjSQ?~8xKtaQ!VlVi*EJTsozdrG;UlMy8o?OwJA>}o7ZT{b1yRyY=M}wi%aY4 ztO*CPr^Bo?&~|Ib`n$(Q(}(xNbkUXS&f?J4z8!b*wOzVnlx_TwHs%)Pw;FV zZ1V@&id!`BZ2h<9^W1^%^FziUodIAgE(Uio^S=-{?I=nsDK$m!z4RggAXH}2-W!BT zgoiq|%{F8JW5(Ey$pP%R+UR(Fmb*dE%v!*POwt+9QFj@>n`Ype6Nz?UD5y5iXDd{= zV1?3RQ`9TV1Th0@wZH?51rwqEqSe2E_UEr-K>&PVqj_6TH;{44y8(GN!vYu~Ri6DVr zZtwYb27xWE>COPK6&w7A?&2~_JK3?!YGF(lgZW%-QGr$>jM-FEq2cM-px}(%XWH_% zZ8!&M{xu?ZHEqp$y)tvDhMjh{Zhv}`a@hRchYr_=Z%$Toae)RVBxqz8tiab4Yc)QC zoAZm5+C2wTPI&eNoMv$T>sIGEu~9?kq>u?jH&c>O3wue6qv^QSvr#G#EsZpg5PzV>!H07n2lnh>=-^kqpXR=L93?6Pd z02|YUKx`IoY`ZpN{@H%D&F$Qg$ft-1&HTGH4?|7sFp&Mb;9(M7POZma(q@ltzI(#zhJu8 zRWuV<&6=S!PUurcjL^=Y;1WQ{HO^k8+^Mq}-$kf9He3w|mFBKmsQTJcrC_UF!F;Ti zPIovZMk14d5bE_-Jnfq(8d}?pMj|+c&4|Ns8we83)=1=;GZ8OgZ3rkdGRTMgaue$&}K*GPV;E4wf!wzhO_TRrRf}njh zdY4qD29+u+UI*u=N=pIh%=&Vg_Bm)@8g(&r_R%~te0@NM7j<7d>A?k<4nq4b4KN}D z>3rZTpsTy(?O)V(owtDfPT=DRD1F+327bf7Z6{3Lt+{Hq>OP$TU~87CBX?}SuS=sl zjuQKWW20G0Y7*W?)nzOP^tX4nu6iBwOEj)jP=s0!b$J`7;)d!vy*+oKK3u(CCxeuBq3&_SQ=@7wgrVW?gSm@SOk#4aE*D6k(1f)8}E&y%PEEoz-*D zFfakk=)*bjTS)m$>DMf`2{^T!@WwOnkS&;?Nib=DH1&1}dA-N=Bm&f9+gN_nGCi@a%ab%}#Au~-gCvESr%|h$(GV~hFt_0e zN`a;Q*Z(?1wf}YVe{-L&(}J%*7kiMv=hAWOtpES>V($z9TN41>9`8Vl1(f{1!Qr=G zXKY-H1J>!cL^Oz#w@dGS>er{QUYs-uX|OgeM#1*0^&9jRjj}}*H9Fv|^L5D`|8QFT zK2EPtj(3P$pFSG^9(s6BvnOlkU=^uLj2?t7swSm+ws@(+x-G zei&q!RwZ%jTcfSPo^SC|73UVJA|GgPe2U=DIAW5~XL;6Y*Mslt!Fx`{9hi1x)n-gW8Wjn%sSWg= zL6>d(=4I00A@%RkBU$@_23)paK1{wkO(qDWrDUn^h~c=ZGwt9x4Gn1IreN12=)C>6 zR-iKge9KDz`=YoCz`;TTN550(ai>)KN!1Q1wV&DMx2m*>jS$8On%QrF_B!|w$^g{% zV&YYY8ct}p9=hs|yLHIvm%C@L#|k^fMrB<4ObG+o1=<27ix+79Qt<6$w!JXojKG!F z3kom@d91F8RqlfwcT`oQ)_gu&>u1bYFSzXuh>Fxw?drsXVk>V{kp+JG#pl41JGIz;S7<(>9X(InODU&L z(59GH73D#rUA6)3y97pbO&Tyd8)+^25Cp6?tG}IN5uJB8OM^{F7E;fgAH1LS(zy>E ze=>%?xal@C87TPOTMDN!dEIHFG-3DAr0|;%4Jk$(#i!`cWmucu#5_FV zDC^K*^bxqi!_v7=Z$0$)$(lZ&ac5hS`ivN>yPtU(sXoG{O-Z2iS_tR}0G3H~-hQ1G z*cu$b4jBM!xt%Gb>o{A}E6^k}qe}DXZ8MBHx^lJoxfo+CN0NGplH-%no8MEZeFnR{ zz+kMVVquq%*>_VB(Sq(-{odMq3OqgUov7=qBrN%^AmO$rqn0i;F)cA`~6L z28~NdWxR)4O;nrWV#AdJ#5fMpOR$Z+AmS9jE0{cIk>-?u%-f^4vMxPBtwXc5sk#iq z%|gXy#KIz^`Db;uy{7gWAkfcn@5=QqVocbC*I8wN8a8k;P~2M6$Y)|Pa3RJZH{PWa zxWBOmou$in-|6_|DxdP}(0k-Oc`_1$b^$Y$m^uqrd#=DXrO9 zkDXU2sJ~&l_t6&>mYU$a670h4IGIdzrStadtUzY~_>OfoWSMoR-Hf^YKCbz1b7?Me zZ*`HLf9UUe?fGYb%~nBgjmE&zl>EcA|6xbz(rf=uVM&-`QVX{kFvtc3M&hw_+fLi| zn|ti`C-IS%dpJSgdGuaAao6pt>qc-$k5nkoS@YH_!9y>&k+K5S-)NJxg3%XGx}C$u z>>HnoSxFL^LbTpovrxq--0UZw>R`t|w+^0t5B%KVrkkn1 zE3xv5Lhn8erddo%tlob4Sv`qfUQuJQ!eF;$c0t&SOf%%4H3ukipMhi& zP0YdhJ^1-iHEiHoj4TSPRlcbRoInM{0lwDe!{)1GD}^Z@P*5-`KVDMl;+AqH?>j)r zXN^~F*C<6)VNJGnvl>AimNK8OMjkshB}tidn7vB+%4A`(@&(Tg+h zSE{P6Rlh;KHE3uLB_v`Pf}Gg8b(=MJ-U=;Tuz`jle1()g`t!4|DZ6`5dItcT_^d(+ zimoJ}L@}_1BMW_3YrjLG<(Jzd+w~*uFaf}_Y`eL=Z2+-$J0!c9T<6{fS2VDqAlU?i zv48E6hcxr0S5%b0L6vyU$J3B&rbFM-FIlVBuTVb|v^;RILJk_DsI+(#ZkiNb$>}^5 z#NM-CKw(9SD=ACQy!O7L;xp7llg|@vq?driw~r`O4=T-Zn#!e zv2^UO-bW$F48v)t#--6!1g9u=LkuUX*I=;B^Q}gYrS}lc#%Qj<0HX}o-^C?rT34W| zd2193Pu{~uE~~3k=77FR%1PIXbxUZtH7kzI?#YZt@DeC+NsTJlh)wh_BF5%u_(9_p z-9K9!ebtDC*n*kfAVwi%MXfwu9X<%j1ey%MKZ~wd_Zp zRbro^0p1bswbkhjkWC>X62e+p01ey%!XaPZ?8Dqn^!olAk!Obq09%gn?b5M2v;Fc3 zWC4!EDugC;b^R%)%U77M{1hy*`liVP!>pmYN+F4yubGL;-fgg&C-zZcERO*d)=Vvf z2`GsOUz#~+YF>+0-u$AX7FEON-${4kn(IgYI@lO%225*LmTmQ!Mu0WFqV&(#AJH2( z{842*XZi&blyS^RtqZZCTniX}PG2m(tHXSZ5>WwW(}x1ZjU?T+Mx+U5T7NNwpM_v> z5lLe*s1ns;Y`EH16sU3DS~V`(r~s$@Fu{BA72V{qbTL^}N&%hWb= zi9Vb+Q=^XES6O@Rq#_!Qbz}g|)b*_(?m|e_J$w%)aAk%N2EHiNg6kgA8NIvccW3Vh z-M7-9da9}j)?IhL20L&N-h?}|$u|dl4H##H8phXD4rn%-+`7k;z@AM)%P>Os-91^W z){=z;CFpNYOi~sY2U9$5GlgD0M4J&<;On^ApE^plz|U;{(%CfJ+TgLn1b~i0`x`J{ z0D~SF;~9S3qoq^d(luz@$1z5m?Z4jF_^$6-|VY_3>Qv% zZrXf|+*)z@0fARS$2+MlMx$5ahj;DE3R+a59;3(T&R1Tygx}2z41wnmtj4Hg9)Hg* zSL;n|vO_&6_nt9U2^a09!q#%Q?=1*m8i6=iT^ntDM?FjjKZ(w~7e$=L@>(Tl0@Fn} zq#Ud(s=+x!3czg5V&lkwmC?2KmgSs&4!W;@?`1GKfa?SWCYD& zIlAWVdo^O8z17e{Cge$Ua^6lvwLN^>w=L*C?x&qdzpdT=fl12_Vh$QGbqs)XDOK6X zp`0phT+ANKDHnh7j;=fJETvJ0=XPmU-v`cDb+<6(HC4b*M|}orZ3J@PmDHs{G^e_? zMQXz$SbBX)?<3lrytg;R#%Jir)8xx)P1N8Oel5NJS+%aM(U`sV(;xovoV##+1dL!# z)DYBo?zr+?&3Nk##4yM}F4|d1XYQ#LQFRDypnXp&TSt(H4vJPEPQ-*l0?e$Hs+bNg zVDUx;<0asY<;35qmm)@VSNwo1lyMW(hGbVcsdgoPG zer4zne|$-mOe51;dEf-_>DWSLg=*wA$7y5Va1}@SIF$(! z;P@j<)dzbiuZ^{k@(TKFv6g;3UBj+CNp{^C<0U}&xQLBdG&C|t z5$N`>dS?cj`fC-s312(w1w_ZHcc0$w%3Zj0A(C1cVKDdib&F9VBB1GmdMP+NPO&}H z72i8U{z#7s+Uivt&L+fx$D~ONy3ovX*~SS+MI)S2z_z_LDg&qox1SsV$49`jK1n?H zuVq?bu-#A-*u>bx?+rscFi|V-drh^kEYY!h_t6DcjG}B>OPPV#D49Ytc3okV3~juI zpisJ`WCB5E?7_+J+gI^FjV9Ev>Y1e-|R@!(_Xj$<$23g^>jjwF_O zSt}=q*WG}GSQL{OyP%CP(0SXs71)6SfTf$vx7}IS-cdGDN>b{-TzRo(e>h2%sZHv2 z*IB9>2;`RFP!fSg9oJHPYq%;nks}#{B{4utUR$Rxe|N7AzU(ZmAD;=cu8~ueQ;ieV zPBtS3`Djd)aiXRNrzmStv6f!gb@$_M=x$E_DU)ANOYdl?gj$x82MScCQ(B}!vqk*0nA zsb<1H{ObJ=6b~cO0#XAxeJSFk$-}#=_oxwy7}!G zHuc$SoZ`>jS8Fk%GCA-t@j9^pP>1pgb8~QiFPXyQRXHq~J!EbHMM`17uBw_a$#qU2vsRs{J zGg*Rl^}S>PhW<010H_26K3l6mCSW}a2R7nwO{DY4h_Z?XYYJ5w&ly`p){BgJiQdwUtOKZnl~D6v_qJB#(LyZAfr zwVm_;TwVS385Ou_4Tm1Uln1)~B&%+8qUR68tPYlACLuB}v}5rNpI z-Ky{ky#F0lzOfj2?^vC9{FyrL>MO9$N@dHCu9L`wQ@0!Spv}~L2|NyG$a6Py`UN92 z=#+3syHDAFlzc_`(0LmGcZ%JgG(#H1Fh|~7hs{V0W8C0uC z!|WS?howvPqE`S4u!a#stjTO}>PNN4X!GK=O0U2ta8909Em*9`;%cDFjjn&-PbWh{ z2QfM|Q>|t6H9lUTzDX^*?apH;lk#}|r08u40Z&h+0p{cv7HRa|NO~R_3sz5&$)#|jXuhnT6UK8jH+Q;qe zfGJpPhDbnZGviSMc9G5nvqo)X80KbV^62i`aOlNAIIy)e{lFb%lCWK50ItGsAM3TZ zh5~?*b}KLU*&6tU)7f>LIpK_a63)f(BHjRC;YtRRWZlRy||!M$~d?#PJwui@f^k4rH`&;yGczlXcEb ze^O+67LUNGYk|gU-|v}mv$qIx5QWh8_kbKc@5l*iT%W69NPS&2v}XWf8y~CpRu$+4 z7>T`3KU~w7&(QjUwd!~50qSwY1g(qCS0tlNv*sePQEg~~QkduW%*Rh)@do97zCz`U z4{IySl(fD|O+zz5?qw>ee|H6SOT=6xULN!Z>&QGp>lsHrHD8)K|xy+!t41 z7HpyURJ4P*FLSBJbV!wc)vY+Xpj94(Z1vMR?mU`fk|41(jf#I2n;5Gf^#6_Q?3n4 zwos!VyK#aA?~VXq=Ys`+9ixocE&@Ox@>}TNviW1X!L^D5H`B6nUS0;G0fom&X|`4i zK8DYJ_Ss5A4?FdW{c+MAtrBmI@^5`bA@48Mm{dp@_Eiadh**G6o9=i`adS)1EyQ`j zY8GG-35i{lnU$^n1BW{0q``Osru4{xvw#&DAbAji0ACz#mJUDkjlcTSGx%$lQ`%_X?x=3*z+ zs?3RpOVW@_oD# zU%*oB`G03?BevQ}oS=sPucJn9B^cH68X`>giu|{ZaX~ocK~`a~R{m*{3ZIyv!^R({ zJMVu&{l@M^EsMN0M|v!}d!g)n^91Z5CVkg6=`;vvqP1a}ZQ`3BPI?}AaH)F5MQP_` z1V*g|YK%MrQm^PVt^I7S$}%HV4RI)O=U(d8uRG2`ttyP5A3%!SwKZOA&-#Z#ko|7p zq>sH|A9cOx03{!`v&wo!YjaX7t_3wX?lics7V|e`z5S-~O)#j3A(%%dFpzQ}@1r@0 zg5uLhDPo&%O{D$cwn)Y%kd#SefZ#(g{cGL?Vvql%idNf(}didN45N^4hvxV-jI zC3WFFHs{kD0GJd^twMd~rvcGs<3$@v23b!608vN^|JFlS-t@HQfXE#D;N@CP0P2ci zN^@Ot;O{U&#!aJ%8~h$T$RY0Q%bcWWtQD%fX=z>3JpTO z+|TD?4MZDt+Vx|iqSo@<5pLT}24D)iCfH%59;2hW?zQQ`0WdLDT)%V8C9qqTX9!;V zAE{pxZR5m*WF2tCkxGe-*T#h_K*7}`;2EV1Z@5bH3Y9T_xNKzI#6_Bvl&L0=Zv(@! zb?*}|=)}`5*8zu|tfP)QOKUf-)V%3ms>}YvRgh)|9gNtFNykZ(OjE!*{613Kq$)~* zKfI~hzfIGG{^Rw~YwxJrAmFlwdv7mMEK&v2Be1yP!)G8cs`y6&eSHFqfu<>rsbOzpOob0^`UIktVTwwyvG`HXlp)t$aETbtxYU;IFFGE zc*hIkFoWh{>!)kAV)`28;hy~9ljmdQwTAH^5Me?{FrEgs$bQ_3TRpYBR|^Q{7igO@ z0wg9Al1TUq^`Tn((R#E7ImJOPPJiNM09nhFx$_{c3vE<6R%yO;v<-WsM>wLVBF7I> z*a0Jya^$YcoH#-oo5~eeiWx~&yG%^DALn z!qPbpr-wDKBIsOOU1yQp?7Ho{nP(WU+@z;M(V&Z=p=RzmaR_YqXb71U&w*#2tH(b6 zL}xNzjztI){Y_~_h1ULMvKpvEy|LicX+||5^if=f+bx}M=juT$Y2^gD@~(R{V8Af7 zZ72sW3~7c_(Z^;heNQ$1ro&TfK&&lgH+ouo1vb+b2a zP&T9r5V$2UDt8kAyZ@auOYW_T`d1hpr1^(^tGa9bi(0(!CMNYKhU( z=Rb00ob~iV!YEf-?04Dt#!HAGdRcm1)y65jTQ5om-XDI6M;|wqAcQ44EJuF}D#PA% z$`+oR?7~MNX$!(Z+4>m9EQDX-iO7OlovrHTGE7c5+3``xd+Gyyb^Sk-g~{q}=N)Bv zpSsfr=vL#0Eoo^~2mm6oD845Ykl9Sa^YAY(DPbO28jo9ATj9!_1xuF&mJ}eA@i=T2 zv!k5;Tbto*6D2?gZhy<-%r5hP-x5ug)mi~E&d57U7tK>4B9vvN#Y)5r&)0~E2Nzam zc8=0}^-xqIYBU1|s#lLbPTV7Kv(XUgA2sb}@qPQM)*6A72@$5P&q-=0d>DUsTKOFLtu(1@z8{2wuF-`9@K1ITNQfn&Px2#;j#M+9-uuBJW#`S*+bdA5mV)P|HZJyE~;(* z*xTCe`~COZniAlD9sn#cv)a>X*qddv&GUI*rmo|2{BWOMx%Xau{Qi5&U4b_|KWnaU zP!i6w(Gl?DqaxKkiKLFkS~(YOGZ$Qym##HgLZkW8VT08V-M(?-_tf|!j!=A;o;>~Ng#5>e3@^VPO}^@?3hIBe`D)Xi6ZX=f=boWgH-4cN{aduLJ0(9G zIK4SS-Rh#X^0m)Z_Q>Z-jmgj}P=v#hyE+h$8&p_n;!2oyz59-aW=Fl>VQ}G&`0vgF z0{sK_507W%!rYJE)2)}CuM9W}M~)-KFDlc_b@^IdU9B+__EuLqL2&Q?s z5HM8Y6X$3{bU6w?OgKC!2)({RpWix3yI+5rx*oZ^@@S5(efk}ZnDiISM2j__05I@@ z%T&;l^WOaU2v?2tMwoUA?2eQ7swNOrlNk(XN>IUdn5EGBxcSnfl@Z2KP1)fkODaWh zw6!8c8%vtC1{!nirUJDf9%=$ADF(kH7(jYr!^d$kq=ZB( zs0tF(+F~U=zeq)kbJc=fcq^{v9(V}-hwiL>4mm;-@IQ=3i(t#!*V==D#3^v=oC18a z6c8@9T$-O0dTfz@y0VKY%UBKH4j(oAHy@B0NVYhq8U7uJY6N1Nfg6~!&AFQO#pinZ ziN`UjSg+mF;&j-qqtq2=*|r*(cECpqE334*vR>;;Dz&b{@d!mNuqrXX5;%6%I5H9S+8lSU2Ko)!{o2 zRSMmBZ#gNq{V1ioF8}kb8ol3PdhE7qHTAiF>bSoB)h#1Uw|#*T$*FrP>gtKw5LBj& zx=?i|Mam3sIR6~3xe zlOB3hm;LGYS{YuWh8Wz7h)mHS023P9RQkqrmAo`V;ma9x^0vLP5wa0x3SgiZCKSy^ z(&`ec;DPB18VcKROm}$(q^X*6$Qp|gbSZ407Yjw&11PI*?kd&JTqf@_+>A@1DG}gX z2@c)J?2bC_WbJ*(QRtFn1+EMOOLdxqetm`gCNco`Y7N0bjm(PBeuKN9bI(Sh`>SA5e;R(9TSB#9bFmgNYFdq4 zcLRi}->u8%L_=#$){D%<1ptRnaL~B#J>h>SF0{GFX`f?TP~rJ! zee{l=y8mt^M}?rsdxUmB;T#?&V9oXS>n_%;SDw%x_TEojXcRs-XPQ3F!*%G1^R#SS zveO1^fhL^Y9IcAKzN$Je&AB<{3a_U&PmkAbSDdVu@48!AWJMz$yHp?MFoZ`HXmoXg z7F~(dd1;kKKX$F=W)PZMs-ZEPpC8a&g{I&tmcb{7+Gf0ehrPFe*o3=JILbeG2M|E7IOTBpmdwWE8|&rIN<4p8SRK9-N{cgZinNvLd^vK?P&GDCM?OK{g^<^4W3~ zKK`N7OIlUhFG)GKpQcjy4o$vFJ|nRHygoB2HGV=jbQBVq(1k?DsF=m@5$H3kLsYSm zrYom=%epevF5ILRxCSxR)cNoP!V+*WH?=X=D}>QuJ@DbaJME$KZ@69=JqNY#Y=Vx7 z2N1B$wK*J~h1cPa>9Mq1k9CHCZ8QKF$9qdzZo_e#BvdGX8V^mPs**K&7D3Lpo_SK~ z6q^W9JH5RSnn01vzb(acO(8a?jsKb$lKcgWx z(Ex2FP&RY2YelKNOADEx6e$`Tv1pz%4K?J97|?`d8>y*0Z+e0}lnbN~%1ldUEE%tx zu6t1BHAyf$PuqSVw7YnXUcZfuR2F_CIL? zdeP?#b-ZtjQZ~4!#oW@Mr|!93@4fIe7i^7s#>c5=MvA(pXQ&6f{&2=~;U+|BAG+b* zO{vyYXA$vefN)bqN2!v_CXcaI{-(`}C8a%VL_cN6uqo&vSYQaq_A*O`e6o(y|5*$- zN?@Kfq44|khcn420g_rN&>lz}$;3`tH-2+nItMon9OOK%$%40UZ!1*(b$L5Rb`}8a z68)J0z?A@21GEQ#_H7@y_yb1V4Fp5;E2u9n)Hw(2t^uvpx?v3NKXl8=QTvDw&D0x} zd3x>huax=s)3ow1n2ZgSG>lI3O&pXo%pkDh-kqMp%gVDB!Ois+lJ z8nPQd>z2MKU$qauqfN6{n(d*2lcEU%$gF|Msoq%Nf=l8SP=_)uRPG3&T*Zoh-RcM#dd{(nm0r4s!%%DkukD-Gk z=0r~1brJYneomtGA3NkX`h$-2zXM^qO$7jx-U{sGfW7s)d7tUdYp+zz>g5`pm8Q|% zGc`0P3opHTX2@O$9!v@V^;p{Hy6Q%UH<+i9fXE(#k=OFEvHjHcK2D%UPM>ftJ`aH< zjP8D$2~BWhgjm{08PIB?9?5B%RaA-A{(QLlF?#T=kJSylsxzEr)Yjoi?+ChV3g;YV zn{Nw68W&LQqO;BU&0hjPYuOK!N`5c?YqHVr)da!*dVJH z&eP>5AFe^{#A`?Ig8o38iX(tF`{FelAk>?@=lQ9P>h;3K+K|ET@R*y~fbpzTxQ#7Q z5vu2X+7!mga}al<+fhoBos1H$hvBUZ77w$XoHR)zq589 zmaP=rh3M$9?iGL^2=tJH?DTHsvkSm-$k^ydAhkp~PtO1ZU{D(o1nq>7;C?#$f~Qne zldNYynyJJb7=<(m4bNwYM9X_D@O?czbsT5@wu6lMzVA}n+5qsYa{)S9c^#Lpku(C9 z(QI7Cbd#TbOn>>^IS6w!>xkXPX#Btd%7X1>^`M{4?Pv2>8kapHLSe?KhcIK@byuUC z8IX!`sZB6RE|NXbe)`e)7B1-%g#5re%9<2qdK)TR!kyf%^umFMr zSC^D1aWAm{Y&dHQMzFFqmi6$tm~>E_l|npbMKGcq&<7*w^83Ln_~9I+as+#6p5~*f z>_ve%Y)DTfP8^~LPWvi^OK!R7P(?N@LHn^=Ayk@O0_9_m3#=sE(vFy`t$MXkPwtbo1(%Xf#HMQPBffwRlVGHgtbeHozzIP0A^U$1V+ZY3l6l*Xv9p|k>PX&|FSc&}5d zHL$1&TQYaYMK_72Tvkk!x{*d^C&U0Z1t?-xR|JMYUw~;f^}035I;=l@DE@G^alaTf zMoEN&?Jt)^p+o^LSB#-QIq)j(5jj z0}K4G{uci}S^dx2>*oc7|NL!x+0DHF2qM)QI{p`&c#N`B64B-Gsivyd0cny4cUNd( zDI2+oP47jb%&V@iU8zMm@B={fSr5jMjyi(X*DTETRL5<+jtR^+lbC=6D_H`YJFPiG zv(LCqU!A|V5`63BM;hFy`5`8`hMr*iGLXYm#N4sO-;h~;11fQMSCM9hrLx49xr`W1R2q=yIXf58bS?encF$6*D zKP^Kch;htY31KBNS&x1BRRF2R>ujj6R#bGNyWEo!z|Hms&LCjgkl*70YYq2!!Qoj!I9blz4SIBX}qym*ER z_Uoz4+fGtNOPQJ|rTp!sOou4vmi4qdQQE_5$MXjSS^_r{0ZI-|Q}nczN`85=?z(V4 zGOcogvZeX-VN44V7VMPBahIKKD{)0)EM;{ zI$C`P^j9ys%fZN6IpB=5k+yKYrFa8Z7`*n?@4bsO_5U#n^s5oz&yjSe58h>@I{}?y zjysO+!V1*OelxGc+wYwf>-6sOHEKoRqRT#`G;8G|HLS@~LPMOwz45yD?gvy`Ualt| z{=0IE@|4uQhyHTcBkJ0(zw71O%Xi**UsvJo2y1_x|67Kcy%Gc5guB;glH~k=AmBV`OG7f0EU>C1z4yKF_LQT72m#I0j)suP_%l! zL+2?ZJc}|RT(|x8pPDdkxW*l}zb-oSFIrjX(cO=JtYPE#_~EO+^B&*X_5be&0PED# zoC-FnE56=%?IpeN#FM(=+UqoYm(iT^7SRKn2Uv&e>{@p}iU3eqRHWBldPylUZK}Wk zv#|<@ZvJL%Uba}F@WSI6y>(|&aAeO6C7BEqX?iPt0LS)nCkvODooHbHy_5}~Q|mvy zc$qeIPuD?@-J(@6-s9;tY??ApYo;txN`10A< z%>@)rT4N&ys_*uO=Fe>M{oHHT_Neg%f-S?c(J33t`~pL0)ERX;jJp2f-F8+;O`Z-J z-dnq*CaVl?#m!%RuF`XNQ_O`2sWh~l;OU}VV9aKsp#*OWsK#jsHX~0PDcKaJeQi5x zOh>ilboV1j8VhvScmH(ljZN9*r;iTcH-fP*M;j4cGF~aA8%80me1$N+HIQUTgf&=W zHS5a?J^a`QI{x@R+V6ldYC}-vp~pVdIWCo zDsdkhpQ@f-fDcuj9KASsvWD+I(aAvDhPA5Dj4e(4(kekK6YP9QPD<6J$DY(Xx8AB* zPySQuK6zI)D`sn_v~Zocb3a`-epj8{x4RP9jHVOdHy^(C`n6+w+UXT!SpiMIUFrOv z&}*;~a!a&e%7*}m!n8OQMWC}sYy91(%fEY?@*>J~&_UyL^2FUVzE`$N*DQj6zQ%RF z4H)FNPP^+fb&LRP3IF#JQ}$}CQE3c4YvP#zr`d>DR$%%G^;IbTl;d{@6}N|_+5UR< zfJ6m~TGe07R~q-#X*T~AzuQ&&9o!c! zfQ`tDMJO>UMX@w)*Q}WJgV$T<9e&&j{OSR~%4Cz7wmG;VSjUXo&3WJ17V;zV03Xz) zf41p8d_`FEjf>XUeO5M1#mXuXKu=3F;t;j<+IQ$EoxJ5PYkL@5#i%E8?SYOl~#RXy@948C>B4uQnN1zXa?r#Hj`@MY#x1#G@`_R^fiS*p>&IvVK6Vx1-x{&lZ6DYzw!qJL2xuLOrI}62b{?`PH(; z^HquXsm=UT39N=ptRyh@%IK-^b&YD6xzf?BT|I9dc;0OUeUo)d)@u3eRca_~M6i?@ zy!BVwZPou3SQ2Ou)&tEoy0IU2WqlX=D{~46IyC=ecR0tP<7Mq&eHskrYf$X zM*YFIPoRz;l$oG7`T!nKYBt|@BgT&PaSggad&*0uVKZz$6NE1T2~AyFpiK~VR>n1H z=f9kwx?K`fj#O3y%92AuvXy(wGm4r#Up?@&^M=Ri_DOHRg@-Z>Y&HhkZ5t&*DD!q> z_?a59J&R=p+sw_q?SNwtAFyj|el+=I-F5AG8l9e~V|w>fJk7!CZmC)}f2BSt-{hKs z!MEpAa-Jo^Y7i%OAFTeTz?S}|z?>zh3qAW#xcJ;s;dzYxGx9aL_6N>&A%FFt2L zK8Zmv{2rR4hxQ}kLX6uT0E)QIvnfDxzL;o2>wlz}ub&dLb(@IS%+^n|Lu9`66Kuw+YfpRO?Xu_RmsA%6FIObL%gaJV& zC|0ZQpRBkyRw)U(Z!qJr@`4hT6O8(d*+UOK|0)VLG%F3}@0w=3Qukcnp9#2Wms^ka zyV@YZwyG;r0w4ufOmsMR*!yr>*@Q0Ju@B#K)orna?V^};RCrSB1I+&HQ(bimGF?nv zBB|#S=*;`$BNfGrwlOhGg&FuBK7W$(Jjj0-3cBc)4#W*6Oo-p1~G^=2Kfbk0V6c3D;1BH4vN^ux?dWaZC)-kY4Bdov*bnZ7* zRjV3Doqp&7+<5ncicib|`J1nU$LyqvtY-DQ?+jJ+!I~N#K`TM22Narh7eA#w^S#=$ z*Fbm)!TMzFdaXtT%l2gbk=p(Yv8`eDyZvlt!bfiU*plt(l&iw*sQP0{94i!smi|nbkKFz>WMc$(4E*) z$74!iGTLDXeqMk3T?$2Pvi#xqm557k4I~u=q!6m`Dd+qHwF!BOtQ5TZx+B4b=3Eq* z`e;NdZQ~lXpoNp)V8}mo`a6AkP;cg%>t_ybwp}K6;{1%P({3Gn^EL=H;oH9qf=rg= zrl=j~`ww5gF2Qh{pU1WDWJ6XSWewX|gGZ0kh%poOyIcOI>z{l=yN}yL^|kalcr#T{ zd?QR|%>^J%W7fS(4@6Ue6gP%7Fw%?rdII3uwO?~2ws=iEpNX+@s9Gz}D4Bc& z1lRNF(0#D+q(cL3@zwq?wkE+w{joqqNQuU&xv{=Yy?YP*;WyuTj~}%H+k6IK7ju*2 z4g_j?8*%vw1YtC@0svnF?%0k&T^Ap{CVB)dh7ROM;W2Tj*F+;w86Oxl8ax>8c}sY> z>ezG%Hr1-B(3xY0Yh7B6a^ARFE8=U>#PcyAY*9{Rwwf+`Mtd)9Q6>$+*XAtHA(vjM zlditiwuk%b7?S_6V-=`IS2^2>ZoLY+;O_stP$L|&F)W}2PQSocdx8)+2~B_CdyGQ@ zZNI<@1HEFM5xGng_e? zt;L(vbKL$q>GB&8;dJ0*w?S<(V78<`bZew;cJ^Ludkb7XPG#e=H}iZAco~{!U$a4< z4TVU5!;9#MeYc-9BfIs(R07*AWE8HE8VDgxNP&k~$DR|obVIK0yZ#EDxzC=u>4d{I z`-z8?G5X-;Cp;y2loqx6f_CrC2_v1i&0i|JUEIP_Hn|jIYuXNb{dui5` zmladGNyiTAt*iFgL+9)|QU{LctF#307-$PdfYnE}%ZalXhr>Wu6M6suG&D&>K~%ns z3}y8R;flu$)RwM^>!vjwXMf;5TkvrS48L!XVgqJbzoD5vjNjmZU*G*(${7bf3MfSS z90CzAQ7hO39GK_h%iwMCsQaKHJNyR!p#|9f0)VTB?NV&-joI}T=$W-|KuAMjt!kuZ zZzKop`0~PUZ=r^@FEf<%Q+s=vD|61Hi%$R`HNNERqxA4sZz%1IF-kvVCzWDa*~gwZ<)*mlCQxzLFaxyb|Grs)y-U30% zL3k}VxpKi?AG7(ID$^@bGO}D}9D0Bz^z5!4Z0cyz@gM@u>QVqVU6T}+5=VeE2Oyik znDP>t7QxPJxormFA%IyK;)A8>C_^2ld+o2wHh%!%8#w7L6KNu#+QzpDL5EB50opPp z&40d)_JF_#Ylb9NuC%nG4v3BT%g?;6f?}ZDK*$FT9{NMqf9Jpd$Q9V;GXR&^8p(&F z|LZTu6=?rrLmF$(eR01q(s%m`wJgC7c{>WNS;t@O;xfvsZ{ud2zu(@PI`e%^xb9dD zy5JC%;h1BiI4}3B1A`EYHr4u9K2z4RD)miCQ+@s_U3cCodi?HNoChDA!T>4AfI!AU zZ@+!Z+2%H4(VE$s{`N~6o{^wl@bfp%{9J#&;7tAQm;+U~X^9fp_>uS+eEIro`p1no zsc_*EEt>kVPCMuz&HwaW0>yulVE*;FEGPfQH^6pZVEjt+tbacj5DXf;V(B6jl}X1D z*D!Mgll9K6C{}piZj?YEHmy(Mz#3#hG&jT9c;P4uw;`?801&H{vc)_YY>#)a00UWl zp!?9?z<2N2(3$nndtFIlFU7G7+v^keD}jG7EJYxCQLaGm4hFR4V=VaWQ?IJufL&CB zHTe)4m>vK@Kagns$jiU;?%R9-2vqJS8)3!{{E3S)*yhArd|5Nj-Uynr?#t5Z7ET`f z^3l*kERSFi3JnF@>`y1@(Ea;rLBdjvdihK>oHjtSVk+?SBY04Vqb8vA&~D0lbG$4$~C}57b$M;x(kX zSbseIM3v+&4P?+fW?h|iKJ1Uy#303PXria!S5-@+OSwZ$yaN?vr=dkopOW2Mx7_`A zRaLcV+WKPMF@2skl3uqVtoh06^(y0(k2!dRDv;>*6Fkj^Jc9RSmR<(f^4ErF{TCax z{>uWbpINBjdIMG&B^rHx>%tH;g4w*yluS`52}MA@V$V8f7Jrj|{ z0^&;Q*+4_gGKSusM8)A0yyT7-b^eKGC>nkJ87o$6$`>;?fIv4^6-ATa_r9f6nSnjm52qgCC9SlONt~u>kf*d6d;F&i33Veo=W79Nk zDs*Z|9$r8^8H9&g+fw#caQUIUp*EnjtvCda9MVVkzWSuvvXivPTdBV;oS}!moUTvu zH)#HUZ6aCh&1KF1}6v9sr#6QxRD5TRMK-jwGDA1~ z`66OPl%{<)Q>B%~I^*nfx9B1K=QyN zDXn+PL8V{@a{3R~?uQ+(V=lVFY43%b1-2XNS%Z>{x@?_}+kLFk$$?|&es8R)kq2MG zvo5(n`D@l_>YI~E8d{yxO|`#~e~VNt=)@F6N<(Vda9E2OCqA~WNqc5wYnPOG^-fPx z9b}pJS1#4F^A_vSb1u_G*Z;)|Yhbla&}2{6@)b*I9JcE8)6UUFSN-0h=vr-x0sQy= z+i%v358SOpggc|?dDzX94A&k`eN$v8C`atMBe3>*>|C`D!q328=|&^2hrl{UqMY1P z<H`ol1$_d-w&bnT7rZw*Hi?Ia5!NCgLFs_)`3t-kQj$}VkE zpB^#VWn51*2`IvF3MwtCQ7uZqn>W^I^@#99$Dj4` z{kJPIc!AX|_1UPA4t(IT&yy5^8;Y0#TaBuB0c6W6f zznc;u&Det*ve1sANGED)GyQ<6=e(&e>$Ve4&<)2NuQXV8Z!et>?_eDz1x>}eN;M46 zR9wGqibn4+x@VSJ<4wn&$Kf>w0hXy>m8bA(j5XF4s&?r*MPWtWg`P(Dj7;@LcKq$R zOF%QW=%M=_*T4z;==^Wm!G9IAH1pY zIcXXMh$oRIo*zO_BU6S~m!k{VP^P#eM=9pY1C;A8gQ{x+9f4+|>GXNn)XkO6TDfR7 z^z0}$wpnzwXz)&^+h7%j`6C2YKZI<=dLco6#9as?32m9``e~K&Zn{S|opi9~&Yh=~ zOG{ObEO;wH#AqHF8Mr$2NYj|zax{2I_kgNWO*Nm-CP-H!bmf(=E5E*8CtiHDjy&ft za04jzKzerGzIz2a6t}-k0r=Z~Yx@ZR)=)Bq83VhRVW&CpvQe))>mQfq6SiO z>z_B#NOQV~)bOp;+cssSeSPOD2w0-)I_ocp6xp zJ+H7>Pc5CJh2yg{?Dlii*jBClIL4hW?KhH^xfK(b=!pcgHfxryL5Yb>0fnaQZduCg z(S_3=YcC53E&#ZpD8EgX01qI9eo9wgipuZ`Jhr(}XC674<{tOM)yLaNBM~jZNNnAL zOd9|gx2Zz=DPwGYX=B%jSt6;V*AY|o)j zRZ~Bc4~L$6mrm8?E8kV_LA^BSflCyB?IFrVXJC`3O65?O%iF4O7Uq;gXtM_Iyv^bD zS`}KW8ec8`hBYeZB;J6V#){z)s=knt;`!ex?8yt&a?Y-*?jA&=u2#!dFHj2Xxt&G~ zP&yFlUC9!TA398Z<0JIWvyW@er|-F7wb#V`RNL&=7xPG?$uw${67+HDTHUv5hBoh% zq=A1pUW*fW9i03PoXQ5W3Z;DV&@c^RGdf=cFcJNR^;OQmZW=VKzq;gfVXn{kkpGO# zWns2s`2+N80w&o*tci}UTB1FMcV!x|0f{w~nCfyV%kmg|LhHpr*jGV=uf7UY7Nb94 z(AG%wMA!-6Q!l+X1E=6vO+5G{Hh+Id54S!?=k2>!U~5nPEg#`mR|WoWd|=<`!3V0> z7Mfs2KMq3p^0T*IS4m;6680IYLbIhZ6A~`!2*@sp&1N%gjdDNU14&x(savGh z3=CDTYmZdoF}tcbu}$S@^ZVLRBy!f=2z27GYu)=W8jlfN^xXZ9Pu^X{IbqsNpTSc87Dj~*C&cL%YCZ_Y18_--31M2i z3R43=a0o^Iv&d=eZ)#)a#p}^j)z%=e^`tqinQ3S6{B(sEw61 zNTs5rEJ_xl28eGw zfhfWXd(!^(=p?RNvr(CubnD4_T1->XZFT@jjjdXRtXff7iIOwBxN)R8I=fLm_YERg z1e?V8vLX%L*nn1po2-VQ zM4foI)@I+n^CiJ+-2k zX~Aw|b<`>6>96OUuOWC796ElC78bA4yJf4D*F8r4Pd-4!qmx}Qsbyk7F3pAsyefxp zVegm^pKDQ2*2+Ylov$zpfUH+&TMXo&W-VB-T5)J14&JFd^E|}dOuygBs`I!TOV9{d zfx~Z%vPTYd;_5MET#ao0`c|?LcpBMIsW)Exgzo9tOCyISkztf8riRG}(+fYn2){qZ zO#%!<;BCQ>loHGX*eEEhhi<=ny5=m)Q(V?SJz+B72(ko-O@?zeTIA1kSlUiw$B*s) zcPztp82~!`2dxhf#;J1iNylo*ny<97cbg_Wc8OL+F&lR&Dbps7l~@>W5p&@Hc2(c9Qj&0nMNQuys91d5no)rWf(Jt#v#J7p^t&{l zjR%`AmJGpLQwynznw|bb6l)kx0H|e@+GuiV;2b72p}>6T@Acp*du!a7ZmMtIKzY%i z&}#D$Pa>5k@UadI68Rhuj76;}JfW+my**zKzqE$+@#v1nUebWE2LwtYH<<|dGzR@# zlhw`u@GmQ{T?T*->oI5d&81Th*8S9RV-=Ges`6cv)$P_}wK$@Ze`x`^X3Z|@RfkGr z&TS{5x!R(K7snBt$P~c4Bp=PZT-8OlDPiZH3c>xR5d{(xI&CFAwNu_}C^tj9@#hvU zRFAvBtt1Zk0tF$i(Z*=82xXy~^(CgRsf6xnO3g`O^xmKr?%&wxSMH2eAQlr`t=vet z(r0itrFKtL^ryKh{>z)HV`P|m{5U0?!x)f;U<6uuCY{$rcF;zq(7hG?yd?$71?`vB zD@Pf-57C;adfbp3Fgq~>C9jn(yn{^hzAXTFjWfY(rxi$jPQ48gCji>zv7NN2u)EA-`sDp^yi{l{hMuw%z4tDoT=8~L9JfP zNUGILNjUmqNz2Wn*aC?u5Y&O9i$Ye*=yuJZ;v!-7*=DH;s&{yM)5|lhya1xkHW+O) zc8GEMn-J+NM31mxaX#Qgq{j!QE1@^`=9DB%;kZwPR;<{hstW38>lOgT?cFO)Iek-A zaNTR_`fjz-2KUqK`SaAA9jg8}9;%i-yQ`*^2?Cq30pz10_d_yzx56+pEp|{e)Of5&MQ(RlbGIvbJP<+Py|wL z^~kYTRMczHlFe#B`nwh5k49j`@xA)$q1WDW0kXv!g&+iNEiD(ZAkY~AzCDHM3;^Gg z+O?5x2XQ*S^5p$`@aF$hWCjMJAu3#}1mLZHsOz*2h$fU#52x>IIKVv~meMaCLqcC&AWZwUo*+`@&=GpVf{ms`L% zLD=|&lQt*w9MM3AD|wx*5s9keLNBkY=CKjhKz+!^Bp~?F1?oC8M2|f2AF#Yftda+$9nVvp;0fBkzQMcGIF!}kLaopY{tFqbYNrnIer2`Bo^dh zuiALcIqx?8^GH;Oa;)=Ng)t~jPgRLpyR1g@HkBIK~wwT?G>`z&bQ>N=xAbDn4Fn=1`kc+qjNhZ3w_-Hk)y7 z>_Uw*=`NS-Thp&yDBPgPZaP7CAA2zy0D5T4XSq(!fMq@)6BWKL#p z8Xk$G2H;gVR5ATBRhiJH^}uz96(?xw{URF#oURs1A|FOqOqK6I%G*OJ?&D1L6OE_eqI}j)~Px! zSm_6iQOc1Jf-G+%V)G>e6t|y&9C5^N;oAUQeB<2U_sqa6|(xzcip!vW#keX*U zbE;2cT=&INf&qrAh=2r5%$7eRMw^iZYbN`k^`;Gr*Q>6eo-BtlC#g+CcIiXLz&cnq z<4;giC3yWcxk^t4qu2{$50hbs;TUOS4gyOpxl(Vs`jvlwN2fX0!#Xc87GoDOA8 z0}}%N3o_0?D38hS1`)VSsVFL;x89hvLX)PfRt2_ff4uJjjo$w-U>Yzwne}_oM+l>& zG0`-`3%CGa(bP>)w*L+NW8dLV4FKB@4&eJr0K?syZ=OSv(YWf8p~H_qMl+|+P{|5r z=wB^V8laQx-aS=@Rkh*woqj!auv5q3;$uqACWmOl)#v48GQf-jvN#D*1GC_IL7 zMWu2dd0PW&Bh)PfO+stVp*&<8Gtwl%NPYb@&{ApEHB4QhxJ`bYdd{U9yzimP7&J`1 zNA9Nb!cCgK@+<9h&LR5jogW}p^ zrSILJRG#r)Xq=j!o37b^e*+(dASE+F$b0Kc6@Rou8JXQA7=adqOxv%Pjn;}~cngwf z@%>Zj>~r$c#5BFaa7*pM-lyZg5KCqf<_DMr2*~S+BtW7Q2+TJF09D&Zb9EwR!68_L zw^kR*LvZm?GK6B_8bVoRIs^uO2&U=R2#GW0Sf;-}^_qr_8t-7pmz}u3mS$IIz-=dTiuzP_&6`SkbETU4C#z_ubd|2(peW|* zHCeIB!sK*#P=cmC^pr+kb&O*69nI@ltdIZxtoAtaAoarLtT7&Eq{W*x^VXMDP+p+j zu0KU}d-qZ`YY@i>)PfVykukfKKPCxgVb1Uo)^rODG<}xpkU4}BOzL0>HUh{QOgi8E z_!OOrzt}zlIq9oP6b81T-I^&N8^(XeFR(P;$6AFZ^wTqsf1-EZTh00==*Bx9)Y!w1 zbzTGZtl`^~!^&?b&ivF2V8;mn_E~b`Spcvsz%F*GVsoX`##Qrl=grq?*{qq0?3JYG z!-pyK$PudR5=kn`spLhji#dHGHGd<}SnNlPvZI7bPO8ndT0M2H%3oc^m@Q1Z3>vLn zhK__N6sLL17i#X}+1gmlT%MjoI+%cZ~<)+oC1{Nx!l%)!se@bJ7Jm{ls%r zhf2?rMKd(?))Upx%>+#S>Q)%64Hy1HbwHcPzxXHRqxbP8W zw4^I`pF#QxC!>*<||AL;b!S{*;3uPRzgC@5Nx z84HX<%`nBrl1&XL3r8lg^wCTh;`I;?zn_1V2PdhwuD|U;4VkzP7zsANjTs3t9!jvz z+mBy?&H(UzYi6?IPDIe8yp4N8iqA$iW706{%>cfcj{F-^yp(0l|!;!ce+e>vc1tRGyM0~tftN!t(3f7fr_bZQ==d`h!>(5ub zAsTt@vGDRgdGL9SIrVV)d!*u4fWR3nx>%sUX(;CUKh9UlO`p-Tz&h>5BNeoNZvZuQ zSe~^h9RN=yx(1;Li40lWqAzcGQiTMyT_3$p#c?z!8>-+J&@42d9VxikwHhYE=KWR* zMH#f0Sm|vIW6I!FUmnkU-%OP~_L2T@;ei^rSF&0vR+F~dRDjZgzKOH@W)vA5k_eR5ToSEx^4d`{0zc}lCwSF6j= z93>nuT>gWH$deka_)4$x-=3*WFMXuc!F|;4Pp4>IO9>mu=VZ?#kjQQ@B8~+G=lW{| zB7+g*ic}G)-1DDNHpV92r%%@{$|p6CuGj^#q)e|wLX>J_m&Q?PuA#OJ$2^; zFY2&~eRb5qgWyvTNNpXEGbgI@#&PsrTcIg$&eLMbqSC4$?KJj4U4O^@il!IgMT!i9 z1i1wPnZRmIKGOv3y#2Tp_%S{J|Nh83MgVYWe|zd5*rV-Zr2twlq}kwbq`%PntP(Xr z(fWe*`uzQO^~uz?wKi|PDp2?dMqjW;dRL7cHc}H0I#T`jm;kgDq?(Nfj2&k-T&AmS z1M2_|C@@a6V8EOkERDNg4fy_fpG?)%=bq7=g@M5N(0>R*d}-0$R4Yt1c;+>&p|Js_|-3+?_cc+qbM)@8c-0V zvTF%s3pXotTt5xG>o^q}{<*42-9qE__A@VO%!vnTT>|Mpk6*|1Ba)41eF2j?YajsB zSsf2XIVn6wX&akWaNldXcvuhZI|l7P(1rPng7oSuxmvoR2q6?{=MjTwCxod2JMv|# zHY&dyh%mK&GyH^$uew(Io^+alEFeiSbufS-3`y%VxDl#32mORo?8j}F?eE^50pJHe zQ`_?GinO*fok4}c+3aWra_e-)sqGuU$J_AVXlE$*x@H!)7La($hTC2+K z@J4FmI?4z`8^(gB3uxm69Eu%Z-X+8V!O}2JSijT%H!T7#_jWJQ8an<{-+D{0Jn@(| z7p+lncX$Z<4^^-DOs#!-sw%T1HR|z8wI;lr-zQBcH3$Ch)cfpaF~za*?7ZcBG>yqt z0#dv$T&w;zNtx?uZf0g`%_mR~aR0kq5f$2zhBMHq|ruvs()n5)jNZARd7*wVpGNEXMI(+!|A#=zyqDgn%^)v#d z=G+vkTGE!nDy-ZNI8wj=<6jX^NoTf?YZIk}L8V*le)JzquQ`D5v%zZT?Z>V_X8`zt z6$@-k%g@^lJe)jr2ZE1H$tBoK-RkT|EcG?T9_vQ4p~5%?L)g5*P5f?b7$6wB`{v-o z$>_1#m^wFz4QG7>D`z=819W7&oOv448nmmr8X*vK8;W9M8u!;naoq?gD1sobXcIS)gzP?`fpS6!-qVrHts#OS@eJ!D>ya&7tFl8-Sm9HmXUazIO z0Dpi-Z`@R_3HuzPbFaQ$$%6*D^=Jg!?0A7@J@fzO!P={j zHs_gVzxoZ3r9BL}hcmpv*C1C)gxQ~cu1}|ZtlT9`5f;x<#C3Zr_}o!21?k$y8)DH? ze@;<4_8pd7jh4lb0Sv5-)5`Pz4&EU}q4%ArHEpFD>7@(*!ZN+|3i9NmyK4N|N2?~2 zu_Psgxh%!u=oyJh5u``v_!;T~KHoR#3vGOOiq4%dL?;|Ip5DU>b}?!`cqS+;l|YuR zwX4hY&GJ#^+v<$6U5zU(phd14xkU4JMO9Y5`5)dt;3$XPWf43DvI=~79kBo>%pmW zBpidwG&0)E3{6qXi}SSk!MC&%o7{Wa80C74uo{EZ)EcgMun%>$)!3lneHhkE9zX!# zxlrU+7rs&(LRI|6SK9Q%JK7c0-XG6BT50{_c};L8nz39*J}9rCRG%$esU`E!8Yln= z?TN;1Iat|4cGBrrUavvp=#9`fu+d&Hq$d|lJK8Wm?V#EoKH^{HJ#+?uUu9YU`wwc` z1=eiy*iJEqp1I`kvk*u^?>zT_Zu|4KiX(N8`~5*GYeUZf4ZnICdS+%G#zr$cFQ9Z9 zP#vo^7d$FY0ZPLIvy?S{gpyI^iR+fEf~ZD^%!}YLy~LI}8`oKPA0Sin#tK!xovZRs z7b#&wg^olGdDlHhXmj;Cm6heHGCxlRs~c2O)(DV^%^in02=2?RHEr5^^xiu9$}5%D zr=Okmj>*?X55Y%T<3K?6Q|I?*>)IIse#xt=GXVUOtNA~CEFY-5Hqv@)A_j3vH`}Ss zCZg-0wTtKIlA{h*?MTEup1(x7!No{;u?bQ7vD)2q1%qim7z8-z={fS>`-NgtvebY8 z>ZTQtc^J>dFdp=zLFtW)z;Bb$CN^7PVE4meCi<5bC^*ls0KjyaVx*D@G{Rmi2WQ|7 zHx31UN#@=Y8?MTvNIVAP6q$$mFHS)BKKZ=T`wesbhbGvJaoo=+#UV@rT6s?f>9qnY zAlq)`PiFx5B`>qi0Pst$=Kt`qIwlAXrO0-%P~fA%M&Bt>e5e#h*q`eflokoJmuW*&HYy3b_gCYvEO`=v0YfIr_9SWL z1&=6sX}unL^&Q0z81BjuXUpQW7VRrAcC|sP6GU;eNSmy5(s_T$%d9g1{F1BrKYT0~ z0NnqKs>>#E(`V48HxhYNTrjo`2l}5Irk`$}1FRs%1Kfk4;PrX=Y-Eap}4j%v_2vUZJ zaD{+PRg6UtkPf$>SZgDwGXVUeS6OEO_(hlVfA?T+@4Gg*1%QAMm&ss9Ay(1=BJr@@ zM#HWP(|{49G-~8H6m(iNZ3Qw~n`deK`G-1P!DV;8rLIj0y6uVQl|5pN%7Hw`o0%#= zr*g#m;s6On(Ug04@{5{_TzIs(91|rHvoe*2d|0n8K%WQnLklp`EySC5+^xr+xKs5* zqc!w*hpBW#ls0%!FY?5zAIZd$%b!$4ZKPiMd@jK&49c`Q4+S&^4F(xNC)m~x1OPw( z_*2JK|GQ6S+kWQG0I+R;K3o0jEb$M>>>Gw2=AoUIrr1kb@bOE}=+@s|sVi@|Ne5nh z#lO_i?>ziBz4Y)sYQX@t4AITYF1kvGTyTk+!7Vi76A%SrC>TPHH<4|K9zrM@d#^uu zub%nSpOq0A0rL@Il=^Zf^w||(f~d$?#b)Jb?1-`2XXt26d3TatUjB(%`y?v+t`k)d zZ)v>;m~p&n@A+88&&}4IcRi}z_B#qeP-wrX9y#@1(?)Qf;8yorPCyrc9>7n*t8eup z?qGK`3hYN>g>pDGZzgZz;a}oe?d-Y)EIbyjZ?CAv)bsmA9%^-bl6eSHF8t? zEevzf`lettmbPiXLr&2l=UxP;0N@hl2jOPj1#Y;F%^z-{Bs1{j)*U%-FM462$wBJ> z0^0k}oTEK%Jx0Ofp$H=tu)27Ko}TomuDI+B&7V61;}WFH@)01d^$Lv=g~J>y4{uQN zs2(&befr>qSKZ^b(P#{C_^tELa{-b9+|R!lFM#*e3G@9$ueOc=u%#!!k9~s90Ptg1 z?AN^i7C2aE9MX>NDz0SgMDg!gLC{rA(=fBb_J z{cNMoc84!FbNmUM#OBy#PtdCFka(Ku3sf@|s7MM?DYWC(3H=oR*CW*Zne(;l<5#Hv zwZ|#q(tXr;$_V)m?x~35htMBDY?RW&2O6>w$Km)y2u#rtTC-v?j|;^2*Ib*<$NrBM z_$31B4u%BWcCRAi4Y($`*=F%Fk>;>20Ptat{&B-K`sBU0m6n#MCU1kvN{d{I?KKe% z$U9eGccTtG<6QcB)ZWHeBnVgqZfwC2BPY2L9FqmU8R>D|%Go;mki8VWOQu4fJ4@?Y zOO?RmMI+T^h8>9wQA!R&`aC8Eb226afTioO4zFsd#T__E1tHL=`RSO&ty+D?BT8vX z)j!^UUnyPt1|-BgZ~v7Qu#>;T4fv<_Rys3)|H?aJvE@CcbvNs2)>+(+PuhEHH3UY)o9&I)W<`~RFwpfdyb?|fcA_$-c#U>SfT51D*c zfJ*FVb46e%;uws~{@tj+$>#AhZl<>f?1q!uyaxkG_&2b7dysG9ikXfElTn<#|E}_F zUZ>o>6P0u4i7NJ&yPiQAwR=`uw6Z@e(AryGR&o=n!i*!!n`$vS1(%Q(sb0Oi;Y>uM zASF)0^YRrly%02Ew4R+g2O<KW9j~u51NgN+sUQ9L0T_(|=FA7s zgf-jn)H4xJMIs-Bby*8(eKYF0#z^$pNzdjFoCtxbd&eZ+JvDzd0G{(IfLkydWukQ$ ziiSmk9_*Ro`T}vB;%(T72h)74H&fN!dMf^;v8ss2DXkKkCsGyylA~95-hN9f(3t^jBcE1B2H-?R%$&r?G_ZqAf8Q}? zEdxL;r^QT7jbP&lL&OBLK{uSe{oNU7cH{sSL<0Q;N5--5Ej2oMzkP8xDg__lRhP+^ zX<-V;KrdD#C>MwLsO)(@>pk>Ev~=P54=QDqU-vxzy1MR+UO%e6>t`-d_1g7XQMFNF zF;R$?cy+`X=O`>L89~o)vW;zIS-0Dl@k1HFzfT6ft4!z&0NcnV;?j1vTOAm{L2Hd5 zWLcbfv3 zGLgCI+8shnIMcrK@6L+M$(@^om!0+wJ>+io^Jee@K{WS*p$V_~YMS1A{8^NVq;%AV z4m;!o*ni9P$@%xH?_!jNE8>yXWk@ znzoUvDe(Dk`So2dtn(w=WH#2FEGJP`~_PZYjx{2S3%Ja*X|P! z)Pt|Rsf+*ccfIiPObx2d(1MGfQPmYwl)MZDVfy>w{%Cb=jZ^uw#foo~1`Hh5o^^Cy zErUXh z(e63kdg4)4=9X$`Odq8eglp01kE;H*PqgRqa5X*nsoJKmSJ&ihWe(_Xs@)k`fa& zaLmqnXzJ&he*ara`ygNQ&VN|mSC*(P->aj}zW}d;E_f)=oa_t&znQCLOPH|r3%;2Y z1v~^gZk++(H}jEx{|hw&k+c4`9)d#@8X7-bZ@e*Cm38%sjf>ZmXP(pH!-ndLV^31< z$6t`_gWCgJ(6vW44<4eF5d$@J;BY0PA6Qczq|t{StAozE5HujjKjZV;D6;dm&96X* zdF_^Dq0Sz_Hvh5xyccMRzt_-wHaP%HWIBI#TextMYEd=LudGsWNd?(Kn0A}Ew{E)U zPP_~V0o2>AAFdu{>Nj$i^2b!X@|`sJIDM#??d`8 z{`S^10PW>;jsgFRAIh)!RCo?^PUAU%+eQd5!Zvf|1taJQN1CI)8Vo=qe+H}r-8Zn4 zJvw~cASKe}udA-d1AsKqQ>!RceQ$jD2@Tu-P=JRxDnlo3Ghf6|AJs#6C*1ef{1AV{ zWB(8iV9STHOu$Njj^F7h2|5G7k67?+{jT4@e|e?tP=Wt=&F<%xA;8-Q6*#t6S0zMY zXyWxMvr8B4d)5Uy;nXwSuWfmeZ0qlRM|*ug#RuTKZ~&bdzz%Zt*xvV<(x9mg8{8KN z@RB*RwQ|WK?Mx}qW5{ss5$<9~3wnW;LK>U!r?Sj;kY)X!yv?5y0KV&mb_Rg|$w&C# ze^ToaG!Os`DTH#L0~!UJ?0ArQ8wR-iJ|w$BaU|L@UHmyrv;Y3P+%cZmfj0`AKghbAs!@VF$vwz+W+2}0{o^w-k Date: Thu, 13 Nov 2014 14:16:38 +0800 Subject: [PATCH 45/48] refact code style --- .../Classes/Sprite3DTest/Sprite3DTest.cpp | 36 +++++++++---------- .../Classes/Sprite3DTest/Sprite3DTest.h | 14 ++++---- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp index 1bf14a0e57..52bdf2b60e 100644 --- a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp +++ b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp @@ -235,8 +235,8 @@ std::string Sprite3DBasicTest::subtitle() const Sprite3DUVAnimationTest::Sprite3DUVAnimationTest() { //the offset use to translating texture - this->cylinder_texture_offset = 0; - this->shining_duraion = 0; + _cylinder_texture_offset = 0; + _shining_duraion = 0; Size visibleSize = Director::getInstance()->getVisibleSize(); //use custom camera @@ -248,17 +248,17 @@ Sprite3DUVAnimationTest::Sprite3DUVAnimationTest() //create and set our custom shader auto shader =GLProgram::createWithFilenames("Sprite3DTest/cylinder.vert","Sprite3DTest/cylinder.frag"); - state = GLProgramState::create(shader); - cylinder->setGLProgramState(state); + _state = GLProgramState::create(shader); + cylinder->setGLProgramState(_state); - state->setUniformFloat("offset",cylinder_texture_offset); - state->setUniformFloat("duration",shining_duraion); + _state->setUniformFloat("offset",_cylinder_texture_offset); + _state->setUniformFloat("duration",_shining_duraion); //pass mesh's attribute to shader long offset = 0; auto attributeCount = cylinder->getMesh()->getMeshVertexAttribCount(); for (auto i = 0; i < attributeCount; i++) { auto meshattribute = cylinder->getMesh()->getMeshVertexAttribute(i); - state->setVertexAttribPointer(s_attributeNames[meshattribute.vertexAttrib], + _state->setVertexAttribPointer(s_attributeNames[meshattribute.vertexAttrib], meshattribute.size, meshattribute.type, GL_FALSE, @@ -276,7 +276,7 @@ Sprite3DUVAnimationTest::Sprite3DUVAnimationTest() tRepeatParams.wrapT = GL_REPEAT; shining_texture->setTexParameters(tRepeatParams); //pass the texture sampler to our custom shader - state->setUniformTexture("caustics",shining_texture); + _state->setUniformTexture("caustics",shining_texture); this->addChild(cylinder); @@ -293,34 +293,34 @@ Sprite3DUVAnimationTest::Sprite3DUVAnimationTest() std::string Sprite3DUVAnimationTest::title() const { - return "The UV Animation of Sprite3D"; + return "Testing UV Animation"; } std::string Sprite3DUVAnimationTest::subtitle() const { - return " "; + return ""; } void Sprite3DUVAnimationTest::cylinderUpdate(float dt) { //callback function to update cylinder's texcoord static bool fade_in = true; - cylinder_texture_offset += 0.3*dt; - cylinder_texture_offset = (cylinder_texture_offset >1)?0:cylinder_texture_offset; + _cylinder_texture_offset += 0.3*dt; + _cylinder_texture_offset = (_cylinder_texture_offset >1) ? 0 : _cylinder_texture_offset; if(fade_in) { - shining_duraion += 0.5*dt; - if(shining_duraion>1) fade_in = false; + _shining_duraion += 0.5*dt; + if(_shining_duraion>1) fade_in = false; } else { - shining_duraion -= 0.5*dt; - if(shining_duraion<0) fade_in = true; + _shining_duraion -= 0.5*dt; + if(_shining_duraion<0) fade_in = true; } //pass the result to shader - state->setUniformFloat("offset",cylinder_texture_offset); - state->setUniformFloat("duration",shining_duraion); + _state->setUniformFloat("offset",_cylinder_texture_offset); + _state->setUniformFloat("duration",_shining_duraion); } //------------------------------------------------------------------ diff --git a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.h b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.h index f624258c72..80e471a45b 100644 --- a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.h +++ b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.h @@ -35,6 +35,7 @@ namespace cocos2d { class Delay; class Ray; class DrawNode3D; + class GLProgramState; } class Sprite3DTestDemo : public BaseTest @@ -51,9 +52,6 @@ public: virtual std::string title() const override; virtual std::string subtitle() const override; virtual void onEnter() override; - -protected: - std::string _title; }; class Sprite3DBasicTest : public Sprite3DTestDemo @@ -75,11 +73,13 @@ public: Sprite3DUVAnimationTest(); virtual std::string title() const override; virtual std::string subtitle() const override; -private: + +protected: void cylinderUpdate(float dt); - float cylinder_texture_offset; - float shining_duraion; - GLProgramState * state; + + float _cylinder_texture_offset; + float _shining_duraion; + GLProgramState * _state; }; class EffectSprite3D; From ba51065f3a8740e68f8cc91a528aa577c3faa019 Mon Sep 17 00:00:00 2001 From: yangxiao Date: Thu, 13 Nov 2014 14:19:51 +0800 Subject: [PATCH 46/48] remove space line --- tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp index 52bdf2b60e..5fd3a5ec56 100644 --- a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp +++ b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp @@ -328,8 +328,6 @@ void Sprite3DUVAnimationTest::cylinderUpdate(float dt) // Sprite3DHitTest // //------------------------------------------------------------------ - - Sprite3DHitTest::Sprite3DHitTest() { auto s = Director::getInstance()->getWinSize(); From e8fbf4d071ce702ab97196068bf8f68a313ad6f0 Mon Sep 17 00:00:00 2001 From: yangxiao Date: Thu, 13 Nov 2014 14:21:19 +0800 Subject: [PATCH 47/48] remove space line --- tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp index 5fd3a5ec56..0dd338e502 100644 --- a/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp +++ b/tests/cpp-tests/Classes/Sprite3DTest/Sprite3DTest.cpp @@ -1541,5 +1541,3 @@ void Sprite3DMirrorTest::addNewSpriteWithCoords(Vec2 p) } _mirrorSprite = sprite; } - - From a33bad7482defa5d77120086a3b37ae2ccb1543d Mon Sep 17 00:00:00 2001 From: lvlong Date: Tue, 18 Nov 2014 16:10:33 +0800 Subject: [PATCH 48/48] modify read animation. --- cocos/3d/CCBundle3D.cpp | 36 ++++++++++++++++++++++++++++-------- cocos/3d/CCBundle3D.h | 9 +++++---- 2 files changed, 33 insertions(+), 12 deletions(-) diff --git a/cocos/3d/CCBundle3D.cpp b/cocos/3d/CCBundle3D.cpp index bca305c28b..a85137f260 100644 --- a/cocos/3d/CCBundle3D.cpp +++ b/cocos/3d/CCBundle3D.cpp @@ -1404,10 +1404,24 @@ bool Bundle3D::loadAnimationDataJson(const std::string& id, Animation3DData* ani bool Bundle3D::loadAnimationDataBinary(const std::string& id, Animation3DData* animationdata) { - if (!seekToFirstType(BUNDLE_TYPE_ANIMATIONS)) - return false; + + if( _version == "0.1"|| _version == "0.2" || _version == "0.3"|| _version == "0.4") + { + if (!seekToFirstType(BUNDLE_TYPE_ANIMATIONS)) + return false; + } + else + { + // if id is not a null string, we need to add a suffix of "animation" for seeding. + std::string id_ = id; + if(id != "") id_ = id + "animation"; + + if (!seekToFirstType(BUNDLE_TYPE_ANIMATIONS, id_)) + return false; + } + unsigned int animNum = 1; - if( _version == "0.3"|| _version == "0.4") + if( _version == "0.1"|| _version == "0.2" || _version == "0.3"|| _version == "0.4") { if (!_binaryReader.read(&animNum)) { @@ -1459,7 +1473,7 @@ bool Bundle3D::loadAnimationDataBinary(const std::string& id, Animation3DData* a // transform flag unsigned char transformFlag(0); - if (_version == "0.4") + if (_version != "0.1" && _version != "0.2" && _version != "0.3") { if (!_binaryReader.read(&transformFlag)) { @@ -1470,7 +1484,7 @@ bool Bundle3D::loadAnimationDataBinary(const std::string& id, Animation3DData* a // rotation bool hasRotate = true; - if (_version == "0.4") + if (_version != "0.1" && _version != "0.2" && _version != "0.3") hasRotate = transformFlag & 0x01; if (hasRotate) @@ -1486,7 +1500,7 @@ bool Bundle3D::loadAnimationDataBinary(const std::string& id, Animation3DData* a // scale bool hasScale = true; - if (_version == "0.4") + if (_version != "0.1" && _version != "0.2" && _version != "0.3") hasScale = (transformFlag >> 1) & 0x01; if (hasScale) @@ -1502,7 +1516,7 @@ bool Bundle3D::loadAnimationDataBinary(const std::string& id, Animation3DData* a // translation bool hasTranslation = true; - if (_version == "0.4") + if (_version != "0.1" && _version != "0.2" && _version != "0.3") hasTranslation = (transformFlag >> 2) & 0x01; if (hasTranslation) @@ -1938,7 +1952,7 @@ void Bundle3D::getModelRelativePath(const std::string& path) _modelPath = path.substr(0, index + 1); } -Reference* Bundle3D::seekToFirstType(unsigned int type) +Reference* Bundle3D::seekToFirstType(unsigned int type, const std::string& id) { // for each Reference for (unsigned int i = 0; i < _referenceCount; ++i) @@ -1946,6 +1960,12 @@ Reference* Bundle3D::seekToFirstType(unsigned int type) Reference* ref = &_references[i]; if (ref->type == type) { + // if id is not a null string, we also need to check the Reference's id. + if (id != "" && id != ref->id) + { + continue; + } + // Found a match if (_binaryReader.seek(ref->offset, SEEK_SET) == false) { diff --git a/cocos/3d/CCBundle3D.h b/cocos/3d/CCBundle3D.h index b8591bdf0b..1fadf27a2c 100644 --- a/cocos/3d/CCBundle3D.h +++ b/cocos/3d/CCBundle3D.h @@ -144,10 +144,11 @@ protected: void getModelRelativePath(const std::string& path); /* - * set the read position in buffer to the target type - * @param The data type - */ - Reference* seekToFirstType(unsigned int type); + * set the read position in buffer to the target type + * @param The data type + * @param The data id + */ + Reference* seekToFirstType(unsigned int type, const std::string& id = ""); CC_CONSTRUCTOR_ACCESS: Bundle3D();