merge from cocos2d:v3