diff --git "a/21451144\351\203\221\347\205\234/LastHW/.cocos-project.json" "b/21451144\351\203\221\347\205\234/LastHW/.cocos-project.json" new file mode 100644 index 00000000..8f57f87d --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/.cocos-project.json" @@ -0,0 +1,3 @@ +{ + "project_type": "cpp" +} \ No newline at end of file diff --git "a/21451144\351\203\221\347\205\234/LastHW/CMakeLists.txt" "b/21451144\351\203\221\347\205\234/LastHW/CMakeLists.txt" new file mode 100644 index 00000000..cfc1fb57 --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/CMakeLists.txt" @@ -0,0 +1,253 @@ +cmake_minimum_required(VERSION 2.6) + +set(APP_NAME MyGame) +project (${APP_NAME}) + +include(cocos2d/build/BuildHelpers.CMakeLists.txt) + +option(USE_CHIPMUNK "Use chipmunk for physics library" ON) +option(USE_BOX2D "Use box2d for physics library" OFF) +option(DEBUG_MODE "Debug or release?" ON) + +if(DEBUG_MODE) + set(CMAKE_BUILD_TYPE DEBUG) +else(DEBUG_MODE) + set(CMAKE_BUILD_TYPE RELEASE) +endif(DEBUG_MODE) + +if (MSVC) + set(CMAKE_C_FLAGS_DEBUG "-DCOCOS2D_DEBUG=1") + set(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG}) + + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_CRT_SECURE_NO_WARNINGS") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS") + +elseif (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) + set(CMAKE_C_FLAGS_DEBUG "-g -Wall -DCOCOS2D_DEBUG=1") + set(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG}) + + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") + +endif() + +if(USE_CHIPMUNK) + message("Using chipmunk ...") + add_definitions(-DCC_ENABLE_CHIPMUNK_INTEGRATION=1) + if(UNIX) # assuming linux + add_definitions(-DLINUX ) + endif() +elseif(USE_BOX2D) + message("Using box2d ...") + add_definitions(-DCC_ENABLE_BOX2D_INTEGRATION=1) + if(UNIX) # assuming linux + add_definitions(-DLINUX ) + endif() +else(USE_CHIPMUNK) + message(FATAL_ERROR "Must choose a physics library.") +endif(USE_CHIPMUNK) + +# architecture +if ( CMAKE_SIZEOF_VOID_P EQUAL 8 ) +set(ARCH_DIR "64-bit") +else() +set(ARCH_DIR "32-bit") +endif() + +if( UNIX ) #assume linux +set(GAME_SRC + proj.linux/main.cpp + Classes/AppDelegate.cpp + Classes/HelloWorldScene.cpp +) +elseif ( WIN32 ) +set(GAME_SRC + proj.win32/main.cpp + proj.win32/main.h + proj.win32/resource.h + Classes/AppDelegate.cpp + Classes/HelloWorldScene.cpp +) +endif() + +set(COCOS2D_ROOT ${CMAKE_SOURCE_DIR}/cocos2d) +if (WIN32) +include_directories( + ${COCOS2D_ROOT} + ${COCOS2D_ROOT}/cocos + ${COCOS2D_ROOT}/cocos/audio/include + ${COCOS2D_ROOT}/cocos/2d + ${COCOS2D_ROOT}/cocos/2d/renderer + ${COCOS2D_ROOT}/cocos/2d/platform + ${COCOS2D_ROOT}/cocos/2d/platform/desktop + ${COCOS2D_ROOT}/cocos/2d/platform/win32 + ${COCOS2D_ROOT}/cocos/base + ${COCOS2D_ROOT}/cocos/deprecated + ${COCOS2D_ROOT}/cocos/physics + ${COCOS2D_ROOT}/cocos/editor-support + ${COCOS2D_ROOT}/cocos/math + ${COCOS2D_ROOT}/extensions + ${COCOS2D_ROOT}/external + ${COCOS2D_ROOT}/external/edtaa3func + ${COCOS2D_ROOT}/external/jpeg/include/win32 + ${COCOS2D_ROOT}/external/png/include/win32 + ${COCOS2D_ROOT}/external/tiff/include/win32 + ${COCOS2D_ROOT}/external/webp/include/win32 + ${COCOS2D_ROOT}/external/curl/include/win32 + ${COCOS2D_ROOT}/external/tinyxml2 + ${COCOS2D_ROOT}/external/unzip + ${COCOS2D_ROOT}/external/sqlite3/include + ${COCOS2D_ROOT}/external/chipmunk/include/chipmunk + ${COCOS2D_ROOT}/external/freetype2/include/win32 + ${COCOS2D_ROOT}/external/websockets/include/win32 + ${COCOS2D_ROOT}/external/spidermonkey/include/win32 + ${COCOS2D_ROOT}/external/glfw3/include/win32 + ${COCOS2D_ROOT}/external/win32-specific/gles/include/OGLES + ${COCOS2D_ROOT}/external/win32-specific/icon/include + ${COCOS2D_ROOT}/external/win32-specific/zlib/include + ${COCOS2D_ROOT}/external/xxhash +) +link_directories( + /usr/local/lib + ${COCOS2D_ROOT}/external/png/prebuilt/win32 + ${COCOS2D_ROOT}/external/jpeg/prebuilt/win32 + ${COCOS2D_ROOT}/external/tiff/prebuilt/win32 + ${COCOS2D_ROOT}/external/glfw3/prebuilt/win32 + ${COCOS2D_ROOT}/external/webp/prebuilt/win32 + ${COCOS2D_ROOT}/external/curl/prebuilt/win32 + ${COCOS2D_ROOT}/external/sqlite3/libraries/win32 + ${COCOS2D_ROOT}/external/freetype2/prebuilt/win32 + ${COCOS2D_ROOT}/external/websockets/prebuilt/win32 + ${COCOS2D_ROOT}/external/spidermonkey/prebuilt/win32 + ${COCOS2D_ROOT}/external/win32-specific/gles/prebuilt + ${COCOS2D_ROOT}/external/win32-specific/icon/prebuilt + ${COCOS2D_ROOT}/external/win32-specific/zlib/prebuilt +) + +elseif(UNIX) #assumed linux +include_directories( + /usr/local/include/GLFW + /usr/include/GLFW + ${COCOS2D_ROOT} + ${COCOS2D_ROOT}/cocos + ${COCOS2D_ROOT}/cocos/audio/include + ${COCOS2D_ROOT}/cocos/platform + ${COCOS2D_ROOT}/cocos/platform/desktop + ${COCOS2D_ROOT}/cocos/platform/linux + ${COCOS2D_ROOT}/cocos/editor-support + ${COCOS2D_ROOT}/extensions + ${COCOS2D_ROOT}/external + ${COCOS2D_ROOT}/external/edtaa3func + ${COCOS2D_ROOT}/external/jpeg/include/linux + ${COCOS2D_ROOT}/external/tiff/include/linux + ${COCOS2D_ROOT}/external/webp/include/linux + ${COCOS2D_ROOT}/external/tinyxml2 + ${COCOS2D_ROOT}/external/unzip + ${COCOS2D_ROOT}/external/freetype2/include/linux + ${COCOS2D_ROOT}/external/websockets/include/linux + ${COCOS2D_ROOT}/external/spidermonkey/include/linux + ${COCOS2D_ROOT}/external/linux-specific/fmod/include/${ARCH_DIR} + ${COCOS2D_ROOT}/external/xxhash +) + +link_directories( + /usr/local/lib + ${COCOS2D_ROOT}/external/jpeg/prebuilt/linux/${ARCH_DIR} + ${COCOS2D_ROOT}/external/tiff/prebuilt/linux/${ARCH_DIR} + ${COCOS2D_ROOT}/external/webp/prebuilt/linux/${ARCH_DIR} + ${COCOS2D_ROOT}/external/freetype2/prebuilt/linux/${ARCH_DIR} + ${COCOS2D_ROOT}/external/websockets/prebuilt/linux/${ARCH_DIR} + ${COCOS2D_ROOT}/external/spidermonkey/prebuilt/linux/${ARCH_DIR} + ${COCOS2D_ROOT}/external/linux-specific/fmod/prebuilt/${ARCH_DIR} +) +endif() + +if(USE_CHIPMUNK) + + include_directories(${COCOS2D_ROOT}/external/chipmunk/include/chipmunk) + # chipmunk library + add_subdirectory(${COCOS2D_ROOT}/external/chipmunk/src) +endif() + +if(USE_BOX2D) + # box2d library + add_subdirectory(${COCOS2D_ROOT}/external/Box2D) +endif() + +# unzip library +add_subdirectory(${COCOS2D_ROOT}/external/unzip) + +# tinyxml2 library +add_subdirectory(${COCOS2D_ROOT}/external/tinyxml2) + +# audio +add_subdirectory(${COCOS2D_ROOT}/cocos/audio) + +# xxhash library +add_subdirectory(${COCOS2D_ROOT}/external/xxhash) + +# cocos2d +add_subdirectory(${COCOS2D_ROOT}/cocos) + +# extensions +add_subdirectory(${COCOS2D_ROOT}/extensions) + +## Editor Support + +# spine +add_subdirectory(${COCOS2D_ROOT}/cocos/editor-support/spine) + +# cocosbuilder +add_subdirectory(${COCOS2D_ROOT}/cocos/editor-support/cocosbuilder) + +# cocostudio +add_subdirectory(${COCOS2D_ROOT}/cocos/editor-support/cocostudio) + +if ( WIN32 ) + # add the executable + add_executable(${APP_NAME} + WIN32 + ${GAME_SRC} + ) +else() + # add the executable + add_executable(${APP_NAME} + ${GAME_SRC} + ) +endif() + +if ( CMAKE_SIZEOF_VOID_P EQUAL 8 ) +set(FMOD_LIB "fmodex64") +else() +set(FMOD_LIB "fmodex") +endif() + +target_link_libraries(${APP_NAME} + spine + cocostudio + cocosbuilder + extensions + audio + cocos2d + ) + +set(APP_BIN_DIR "${CMAKE_BINARY_DIR}/bin") + +set_target_properties(${APP_NAME} PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${APP_BIN_DIR}") + +if ( WIN32 ) + #also copying dlls to binary directory for the executable to run + pre_build(${APP_NAME} + COMMAND ${CMAKE_COMMAND} -E remove_directory ${APP_BIN_DIR}/Resources + COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/Resources ${APP_BIN_DIR}/Resources + COMMAND ${CMAKE_COMMAND} -E copy ${COCOS2D_ROOT}/external/win32-specific/gles/prebuilt/glew32.dll ${APP_BIN_DIR}/${CMAKE_BUILD_TYPE} + COMMAND ${CMAKE_COMMAND} -E copy ${COCOS2D_ROOT}/external/win32-specific/zlib/prebuilt/zlib1.dll ${APP_BIN_DIR}/${CMAKE_BUILD_TYPE} + ) +else() + pre_build(${APP_NAME} + COMMAND ${CMAKE_COMMAND} -E remove_directory ${APP_BIN_DIR}/Resources + COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/Resources ${APP_BIN_DIR}/Resources + ) + +endif() diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/AboutScene.cpp" "b/21451144\351\203\221\347\205\234/LastHW/Classes/AboutScene.cpp" new file mode 100644 index 00000000..972523f0 --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/AboutScene.cpp" @@ -0,0 +1,62 @@ +// +// AboutScene.cpp +// BlockJourney +// +// Created by StarJade on 14-12-19. +// +// + +#include "public.h" + + +Scene *AboutScene::scene(){ + // 'scene' is an autorelease object + auto scene = Scene::create(); + + // 'layer' is an autorelease object + auto layer = AboutScene::create(); + + // add layer as a child to scene + scene->addChild(layer); + + // return the scene + return scene; + +} + +bool AboutScene::init(){ + if (!Layer::init()) { + return false; + } + + auto winSize = Director::getInstance()->getWinSize(); + + // 添加背景 + auto background = BackGroundLayer::create(); + this->addChild(background); + + // 添加 信息 + auto about = Sprite::create("about.png"); + about->setPosition(winSize.width/2,winSize.height/2); + about->setScale(0.8f); + this->addChild(about); + + // 添加按键 + // Home + + auto homeMenuItem = MenuItemImage::create("home.png","homeSelected.png",CC_CALLBACK_1(AboutScene::onToHome, this)); + homeMenuItem->setPosition(Vec2(72,winSize.height * GameEndSceneData::Btn_H_PERCENT)); + + auto menu = Menu::create(homeMenuItem,NULL); + menu->setAnchorPoint(Vec2(0,0)); + menu->setPosition(Vec2::ZERO); + this->addChild(menu); + + + return true; +} + +void AboutScene::onToHome(cocos2d::Ref *pSender){ + + Director::getInstance()->replaceScene(HomeScene::scene()); +} \ No newline at end of file diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/AboutScene.h" "b/21451144\351\203\221\347\205\234/LastHW/Classes/AboutScene.h" new file mode 100644 index 00000000..89bab99e --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/AboutScene.h" @@ -0,0 +1,27 @@ +// +// AboutScene.h +// BlockJourney +// +// Created by StarJade on 14-12-19. +// +// + +#ifndef __BlockJourney__AboutScene__ +#define __BlockJourney__AboutScene__ + +#include "heads.h" + +class AboutScene: cocos2d::Layer { + + +public:// 初始化 + bool init(); + CREATE_FUNC(AboutScene); + static cocos2d::Scene *scene(); + +public:// 跳转 + void onToHome(cocos2d::Ref *pSender); + +}; + +#endif /* defined(__BlockJourney__AboutScene__) */ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/AppDelegate.cpp" "b/21451144\351\203\221\347\205\234/LastHW/Classes/AppDelegate.cpp" new file mode 100644 index 00000000..f3c040bf --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/AppDelegate.cpp" @@ -0,0 +1,54 @@ +#include "AppDelegate.h" +#include "public.h" +#include "HomeScene.h" +USING_NS_CC; + +AppDelegate::AppDelegate() { + +} + +AppDelegate::~AppDelegate() +{ +} + +bool AppDelegate::applicationDidFinishLaunching() { + // initialize director + auto director = Director::getInstance(); + auto glview = director->getOpenGLView(); + if(!glview) { + glview = GLView::create("My Game"); + director->setOpenGLView(glview); + + } + glview->setDesignResolutionSize(640, 1152, ResolutionPolicy::FIXED_WIDTH); + // turn on display FPS +// director->setDisplayStats(true); + + // set FPS. the default value is 1.0/60 if you don't call this + director->setAnimationInterval(1.0 / 60); + + // create a scene. it's an autorelease object + auto scene = HomeScene::scene(); +// auto scene = HelloWorld::createScene(); + + // run + director->runWithScene(scene); + + return true; +} + +// This function will be called when the app is inactive. When comes a phone call,it's be invoked too +void AppDelegate::applicationDidEnterBackground() { + Director::getInstance()->stopAnimation(); + + // if you use SimpleAudioEngine, it must be pause + // SimpleAudioEngine::getInstance()->pauseBackgroundMusic(); +} + +// this function will be called when the app is active again +void AppDelegate::applicationWillEnterForeground() { + Director::getInstance()->startAnimation(); + + // if you use SimpleAudioEngine, it must resume here + // SimpleAudioEngine::getInstance()->resumeBackgroundMusic(); +} diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/AppDelegate.h" "b/21451144\351\203\221\347\205\234/LastHW/Classes/AppDelegate.h" new file mode 100644 index 00000000..18ee8aeb --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/AppDelegate.h" @@ -0,0 +1,38 @@ +#ifndef _APP_DELEGATE_H_ +#define _APP_DELEGATE_H_ + +#include "cocos2d.h" + +/** +@brief The cocos2d Application. + +The reason for implement as private inheritance is to hide some interface call by Director. +*/ +class AppDelegate : private cocos2d::Application +{ +public: + AppDelegate(); + virtual ~AppDelegate(); + + /** + @brief Implement Director and Scene init code here. + @return true Initialize success, app continue. + @return false Initialize failed, app terminate. + */ + virtual bool applicationDidFinishLaunching(); + + /** + @brief The function be called when the application enter background + @param the pointer of the application + */ + virtual void applicationDidEnterBackground(); + + /** + @brief The function be called when the application enter foreground + @param the pointer of the application + */ + virtual void applicationWillEnterForeground(); +}; + +#endif // _APP_DELEGATE_H_ + diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/BackGroundLayer.cpp" "b/21451144\351\203\221\347\205\234/LastHW/Classes/BackGroundLayer.cpp" new file mode 100644 index 00000000..6ed3546e --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/BackGroundLayer.cpp" @@ -0,0 +1,22 @@ +// +// BackGroundLayer.cpp +// BlockJourney +// +// Created by StarJade on 14-12-7. +// +// + +#include "public.h" + +bool BackGroundLayer::init(){ + if (!LayerColor::initWithColor(Color4B(221,218,209,255))) { + return false; + } + + auto background = Sprite::create("background.png"); + background->setAnchorPoint(Vec2(0,0)); + this->addChild(background); + + return true; +} + diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/BackGroundLayer.h" "b/21451144\351\203\221\347\205\234/LastHW/Classes/BackGroundLayer.h" new file mode 100644 index 00000000..50bd0487 --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/BackGroundLayer.h" @@ -0,0 +1,24 @@ +// +// BackGroundLayer.h +// BlockJourney +// +// Created by StarJade on 14-12-7. +// +// + +#ifndef __BlockJourney__BackGroundLayer__ +#define __BlockJourney__BackGroundLayer__ + +#include "heads.h" + +class BackGroundLayer: public cocos2d::LayerColor { + + +public: + bool init(); + CREATE_FUNC(BackGroundLayer); + +}; + + +#endif /* defined(__BlockJourney__BackGroundLayer__) */ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/GameData.cpp" "b/21451144\351\203\221\347\205\234/LastHW/Classes/GameData.cpp" new file mode 100755 index 00000000..0578b4dd --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/GameData.cpp" @@ -0,0 +1,157 @@ +// +// GameData.cpp +// BlockJourney +// +// Created by StarJade on 14-12-9. +// +// + +#include "public.h" + + +static GameData *gameData = nullptr; + + +GameData *GameData::sharedGameData(){ + if (gameData == nullptr) { + gameData = new GameData(); + } + return gameData; +} + +GameData::GameData(){ + + comprehendMap[1] = "初识"; + comprehendMap[2] = "新奇"; + comprehendMap[3] = "迷梦"; + comprehendMap[4] = "探索"; + comprehendMap[5] = "奋斗"; + comprehendMap[6] = "觉察"; + + comprehendMotto[1] = "新的世界展现在眼前";//该句应当不会出现 TODO + comprehendMotto[2] = "风从体内吹过去,\n刮走多年艰辛的闷气,\n\n在这片清新的土地上,\n重拾新奇。"; + comprehendMotto[3] = "不记得前世,\n不知道来生,\n只是在虚空中不断地前行。"; + comprehendMotto[4] = "你跳不出这个世界,\n是因为你不知道它有多大。"; + comprehendMotto[5] = "芒鞋斗笠千年走,\n万古长空一朝游,\n\n追梦而行,\n物我两忘。"; + comprehendMotto[6] = "若是不悟,\n千里万里也是枉然,\n\n若是悟了,\n脚下便是灵山。"; + + remnantMap[1] = BASIC_NEEDS; + remnantMap[2] = BASIC_NEEDS * 0.9; + remnantMap[3] = BASIC_NEEDS * 1.8; + remnantMap[4] = BASIC_NEEDS * 1.5; + remnantMap[5] = BASIC_NEEDS * 2.1; + remnantMap[6] = BASIC_NEEDS * 2.0; + + + + // 载入游戏数据 + + remnants = 0; + lifeRounds = 0; + comprehend = UserDefault->getIntegerForKey("领悟等级", 1); + maxLifeRounds = UserDefault->getIntegerForKey("最长历世",0); + maxComprehend = comprehend; + + + + +} + +GameData::~GameData(){ + // 存储游戏数据 + UserDefault->setIntegerForKey("领悟等级",maxComprehend); + UserDefault->setIntegerForKey("最长历世", maxLifeRounds); + //长久存储 + UserDefault->flush(); +} + + +string GameData::getRemnants(){ + return StringUtils::toString(remnants); +} + +string GameData::getComprehend(){ + + return comprehendMap[comprehend]; +} +string GameData::getLifeRounds(){ + + return StringUtils::toString(lifeRounds); + +} + +string GameData::getMaxLifeRounds(){ + return StringUtils::toString(maxLifeRounds); +} + +string GameData::getMotto(){ + return comprehendMotto[maxComprehend]; +} +string GameData::getMaxComprehend(){ + return comprehendMap[maxComprehend]; + +} + +//bool GameData::isComprehendUp(){ +// return (comprehend > maxComprehend); +//} +// +//bool GameData::isLifeRoundsUp(){ +// return (lifeRounds > maxLifeRounds); +//} + +float GameData::getComprehendProgress(){ + return ((float)remnants/remnantMap[comprehend]); + +} + +void GameData::addRound(){ + ++lifeRounds; + + // TODO 根据生命框与轮回框的间隙加分 + + remnants += 10; + + if (remnants >= remnantMap[comprehend]) { + if (comprehend < 6){ + ++comprehend; + remnants = 0; + }else{ + remnants = remnantMap[comprehend]; + } + + } +} + +bool GameData::updateMaxLifeRounds(){ + if (lifeRounds > maxLifeRounds) { + maxLifeRounds = lifeRounds; + + UserDefault->setIntegerForKey("最长历世", maxLifeRounds); + //长久存储 + UserDefault->flush(); + return true; + } + return false; +} + +bool GameData::updateMaxComprehend(){ + if (comprehend > maxComprehend) { + maxComprehend = comprehend; + + + UserDefault->setIntegerForKey("领悟等级",maxComprehend); + //长久存储 + UserDefault->flush(); + return true; + } + return false; +} + +void GameData::reset(){ + // 初始化 + remnants = 0; + lifeRounds = 0; +} + + diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/GameData.h" "b/21451144\351\203\221\347\205\234/LastHW/Classes/GameData.h" new file mode 100755 index 00000000..dfd8ea5f --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/GameData.h" @@ -0,0 +1,77 @@ +// +// GameData.h +// BlockJourney +// +// Created by StarJade on 14-12-9. +// +// +/************************************ + *功能:存储等级分数系统 + + * + * + + * 1、提供残念、领悟、历世以及最长历世、最高领悟的获取方法 + + * 2、提供领悟判断和历世判断 + + * 3、提供当前残念占领悟的比例 + * 4、提供方法进行历世计数。 + ************************************/ +#ifndef __BlockJourney__GameData__ +#define __BlockJourney__GameData__ + +#include "heads.h" + +#define UserDefault UserDefault::getInstance() + +class GameData { + +public: + + std::map comprehendMap;// 领悟等级与名称对应 + std::map comprehendMotto;// 领悟等级对应的格言 + std::map remnantMap;// 每个领悟等级需要的残念 + const int BASIC_NEEDS = 100; + + + +public: + GameData(); + ~GameData(); + +private: + int remnants; + int lifeRounds; + int comprehend; + + int maxLifeRounds; + int maxComprehend; + + + +public: + static GameData *sharedGameData(); + + std::string getRemnants();// 获得残念 + std::string getComprehend(); //获得领悟 + std::string getLifeRounds();//经历轮回数 + std::string getMotto(); + + std::string getMaxLifeRounds(); + std::string getMaxComprehend(); + +// bool isComprehendUp(); +// bool isLifeRoundsUp(); + + float getComprehendProgress();//领悟进度 + + void addRound();//添加历世计数。 + bool updateMaxLifeRounds();//返回轮回数是否上升 + bool updateMaxComprehend(); + + void reset(); + +}; + +#endif /* defined(__BlockJourney__GameData__) */ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/GameEndScene.cpp" "b/21451144\351\203\221\347\205\234/LastHW/Classes/GameEndScene.cpp" new file mode 100644 index 00000000..c557e02a --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/GameEndScene.cpp" @@ -0,0 +1,218 @@ +// +// GameEndScene.cpp +// BlockJourney +// +// Created by StarJade on 14-12-10. +// +// + +#include "public.h" + + +Scene *GameEndScene::scene(){ + // 'scene' is an autorelease object + auto scene = Scene::create(); + + // 'layer' is an autorelease object + auto layer = GameEndScene::create(); + + // add layer as a child to scene + scene->addChild(layer); + + // return the scene + return scene; + +} + +bool GameEndScene::init(){ + if (!Layer::init()) { + return false; + } + + // 添加所有元素,设置为不可见,按键失效 + Size winSize = Director::getInstance()->getWinSize(); + + // 背景 + auto background = BackGroundLayer::create(); + this->addChild(background); + + // 标题 + failTitle = Sprite::create("fail.png"); + failTitle->setPosition(winSize.width/2,winSize.height * GameEndSceneData::TITLE_H_PERCENT); + this->addChild(failTitle); + failTitle->setVisible(false); + + winTitle = Sprite::create("win.png"); + winTitle->setPosition(winSize.width/2,winSize.height * GameEndSceneData::TITLE_H_PERCENT); + this->addChild(winTitle); + winTitle->setVisible(false); + + + // HUD + flowHUD = Node::create(); + flowHUD->setPosition(Vec2(winSize.width/2,winSize.height * GameEndSceneData::HUD_H_PERCENT)); + flowHUD->setContentSize(GameEndSceneData::HUD_CONTENT_SIZE); + flowHUD->setAnchorPoint(Vec2(0.5,0.5)); + this->addChild(flowHUD); + flowHUD->setVisible(false); + + // HUD 上背景 + auto hudBackground = Sprite::create("gameEndHUD.png"); + hudBackground->setPosition(flowHUD->getContentSize().width/2,flowHUD->getContentSize().height/2); + flowHUD->addChild(hudBackground); + + // HUD 上经历轮回 + lifeRoundsLabel = Label::createWithCharMap("numbers.png", 28,53, '0'); + lifeRoundsLabel->setAlignment(TextHAlignment::LEFT); + lifeRoundsLabel->setScale(0.7); + lifeRoundsLabel->setAnchorPoint(Vec2(0,0.5)); + lifeRoundsLabel->setPosition(GameEndSceneData::LIFE_ROUNDS_POS); + flowHUD->addChild(lifeRoundsLabel); + + lifeRoundsLabel->setString(GameData::sharedGameData()->getLifeRounds()); + + // HUD 上最长历世 + maxLifeRoundsLabel = Label::createWithCharMap("numbers.png", 28,53, '0'); + maxLifeRoundsLabel->setAlignment(TextHAlignment::LEFT); + maxLifeRoundsLabel->setScale(0.7); + maxLifeRoundsLabel->setAnchorPoint(Vec2(0,0.5)); + maxLifeRoundsLabel->setPosition(GameEndSceneData::MAX_LIFE_ROUNDS_POS); + flowHUD->addChild(maxLifeRoundsLabel); + + maxLifeRoundsLabel->setString(GameData::sharedGameData()->getMaxLifeRounds()); + + // HUD2 + flowHUD2 = Node::create(); + flowHUD2->setPosition(Vec2(winSize.width/2,winSize.height * GameEndSceneData::HUD_H_PERCENT)); + flowHUD2->setContentSize(GameEndSceneData::HUD_CONTENT_SIZE); + flowHUD2->setAnchorPoint(Vec2(0.5,0.5)); + this->addChild(flowHUD2); + flowHUD2->setVisible(false); + + // HUD 上背景 + auto hudBackground2 = Sprite::create("HUDback.png"); + hudBackground2->setPosition(flowHUD2->getContentSize().width/2,flowHUD2->getContentSize().height/2); + flowHUD2->addChild(hudBackground2); + + // 领悟等级 + comprehendLabel = Label::createWithBMFont("myfont.fnt", GameData::sharedGameData()->getComprehend(), TextHAlignment::CENTER); + comprehendLabel->setPosition(flowHUD->getContentSize().width/2,flowHUD->getContentSize().height/2); + flowHUD2->addChild(comprehendLabel); + + + // 格言段 + + motto = Sprite::create("illustrateFrame.png"); + motto->setPosition(Vec2(winSize.width/2,winSize.height * GameEndSceneData::MOTTO_H_PERCENT)); + this->addChild(motto); + motto->setVisible(false); + + mottoLabel = Label::createWithSystemFont("000", "arial", 40); + mottoLabel->setColor(Color3B(62,86,132)); + mottoLabel->setPosition(Vec2(winSize.width/2,winSize.height * GameEndSceneData::MOTTO_H_PERCENT)); + this->addChild(mottoLabel); + mottoLabel->setVisible(false); + + + + // 再入尘世 + + startGameMenuItem = MenuItemImage::create("startAgain.png", "startAgainSelected.png", CC_CALLBACK_1(GameEndScene::onToGame, this)); + startGameMenuItem->setPosition(Vec2(winSize.width/2,winSize.height * GameEndSceneData::MOTTO_H_PERCENT)); + startGameMenuItem->setVisible(false); + startGameMenuItem->setEnabled(false); + // Home + + auto homeMenuItem = MenuItemImage::create("home.png","homeSelected.png",CC_CALLBACK_1(GameEndScene::onToHome, this)); + homeMenuItem->setPosition(Vec2(72,winSize.height * GameEndSceneData::Btn_H_PERCENT)); + + auto menu = Menu::create(startGameMenuItem,homeMenuItem,NULL); + menu->setAnchorPoint(Vec2(0,0)); + menu->setPosition(Vec2::ZERO); + this->addChild(menu); + + // 判断是否等级上升 + if (GameData::sharedGameData()->updateMaxComprehend()){ + + // 注册监听 + this->registerTouchEvent(); + //显示标题 + winTitle->setVisible(true); + // 显示hud + flowHUD2->setVisible(true); + // 显示motto + motto->setVisible(true); + mottoLabel->setString(GameData::sharedGameData()->getMotto()); + mottoLabel->setVisible(true); + }else{ + //显示标题 + failTitle->setVisible(true); + // 显示hud + flowHUD->setVisible(true); + // 显示开始按键 + startGameMenuItem->setVisible(true); + startGameMenuItem->setEnabled(true); + // + + } + + // 判断最长历世 + GameData::sharedGameData()->updateMaxLifeRounds(); + // 历史提升的显示 + + return true; +} + +void GameEndScene::onEnter(){ + Layer::onEnter(); + +} + +void GameEndScene::onExit(){ + Layer::onExit(); +} + +void GameEndScene::onToHome(cocos2d::Ref* pSender){ + + Director::getInstance()->replaceScene(HomeScene::scene()); + +} +void GameEndScene::onToGame(cocos2d::Ref* pSender){ + auto transition = TransitionFadeBL::create(0.6f, GameScene::scene()); + Director::getInstance()->replaceScene(transition); +} + +bool GameEndScene::toNormal(cocos2d::Touch *touch, cocos2d::Event *unused_event){ + printf("\n\n\nGameEndScene::toNormal\n\n\n"); + // 显示hud + flowHUD2->setVisible(false); + // 显示motto + motto->setVisible(false); + mottoLabel->setVisible(false); + + // 显示hud + flowHUD->setVisible(true); + // 显示开始按键 + startGameMenuItem->setVisible(true); + startGameMenuItem->setEnabled(true); + // + + return true; +} + +void GameEndScene::registerTouchEvent(){ + + /// 获取事件分发器 + auto dispatcher = this->getEventDispatcher(); + + /// 创建单点触摸监听器 EventListenerTouchOneByOne + auto touchListener = EventListenerTouchOneByOne::create(); + + /// 单点触摸响应事件绑定 + touchListener->onTouchBegan = CC_CALLBACK_2(GameEndScene::toNormal, this); + + /// 在事件分发器中,添加触摸监听器,事件响应委托给 this 处理 + dispatcher->addEventListenerWithSceneGraphPriority(touchListener, this); + + +} \ No newline at end of file diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/GameEndScene.h" "b/21451144\351\203\221\347\205\234/LastHW/Classes/GameEndScene.h" new file mode 100644 index 00000000..f40cf63c --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/GameEndScene.h" @@ -0,0 +1,50 @@ +// +// GameEndScene.h +// BlockJourney +// +// Created by StarJade on 14-12-10. +// +// + +#ifndef __BlockJourney__GameEndScene__ +#define __BlockJourney__GameEndScene__ + +#include "heads.h" + +class GameEndScene: public cocos2d::Layer { + + cocos2d::Label *lifeRoundsLabel; + cocos2d::Label * maxLifeRoundsLabel; + cocos2d::Label * comprehendLabel; + + cocos2d::Sprite *winTitle; + cocos2d::Node *flowHUD2; + cocos2d::Sprite *motto; + cocos2d::Label *mottoLabel; + + cocos2d::Sprite *failTitle; + cocos2d::Node *flowHUD; + cocos2d::MenuItem *startGameMenuItem; + + + +public: + bool init(); + static cocos2d::Scene *scene(); + CREATE_FUNC(GameEndScene); + +public: + void onEnter(); + void onExit(); + +public: + bool toNormal(cocos2d::Touch *touch, cocos2d::Event *unused_event); // 转到正常游戏结束界面 + void onToHome(cocos2d::Ref* pSender); + void onToGame(cocos2d::Ref* pSender);//进入游戏 + + void registerTouchEvent(); + + +}; + +#endif /* defined(__BlockJourney__GameEndScene__) */ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/GameScene.cpp" "b/21451144\351\203\221\347\205\234/LastHW/Classes/GameScene.cpp" new file mode 100644 index 00000000..213ada7c --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/GameScene.cpp" @@ -0,0 +1,88 @@ +// +// GameScene.cpp +// BlockJourney +// +// Created by StarJade on 14-12-7. +// +// + +#include "public.h" + + +bool GameScene::init(){ + + if (!Layer::init()) { + return false; + } + + Vec2 origin = Director::getInstance()->getVisibleOrigin(); + // 添加背景层 + backgroundLayer = BackGroundLayer::create(); + this->addChild(backgroundLayer,EnTag::BackgroundLayer,EnZOrder::Z_BackgroundLayer); + + + // 添加游戏世界层 + gameWorldLayer = GameWorldController::create(CC_CALLBACK_0(GameScene::onGameEnd, this)); + this->addChild(gameWorldLayer,EnTag::GameWorldLayer,EnZOrder::Z_GameWorldLayer); + + + + + // 添加HUD层 + hudLayer = HUDLayer::create(); + this->setPosition(origin); + this->addChild(hudLayer,EnTag::HUDLayer,EnZOrder::Z_HUDLayer); + + // 添加Menu层 + menuLayer = MenuLayer::create(); + this->addChild(menuLayer,EnTag::MenuLayer,EnZOrder::Z_MenuLayer); + + // 添加准备层 + prepareLayer = PrepareLayer::create(CC_CALLBACK_0(GameScene::onGameStart, this)); + this->addChild(prepareLayer,EnTag::PrepareLayer,EnZOrder::Z_PrepareLayer); + + return true; +} + +Scene *GameScene::scene(){ + // 'scene' is an autorelease object + auto scene = Scene::create(); + + // 'layer' is an autorelease object + auto layer = GameScene::create(); + + // add layer as a child to scene + scene->addChild(layer); + + // return the scene + return scene; + +} + +//////////////////////////////////// +void GameScene::onEnter(){ + Layer::onEnter(); + GameData::sharedGameData()->reset(); +} + +void GameScene::onExit(){ + Layer::onExit(); + +} + +//////////////////////////////////// + +void GameScene::onGameStart(){ + printf("\n\n\n\nGameScene::onGameStart\n\n\n"); + // 移除准备层 + this->removeChild(prepareLayer); + gameWorldLayer->startRun(); + menuLayer->setEnable(true); +} + + +void GameScene::onGameEnd(){ + auto transition = TransitionFadeBL::create(1.0f, GameEndScene::scene());// 或者TransitionTurnOffTiles + Director::getInstance()->replaceScene(transition); + +} diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/GameScene.h" "b/21451144\351\203\221\347\205\234/LastHW/Classes/GameScene.h" new file mode 100644 index 00000000..317dff74 --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/GameScene.h" @@ -0,0 +1,65 @@ +// +// GameScene.h +// BlockJourney +// +// Created by StarJade on 14-12-7. +// +// + +/************************************ + *功能:游戏界面,管理游戏界面的所有事务 + * + *1、对游戏界面的各个层进行管理 + * + * // 背景层 + * // 游戏层 + * // HUD层 + * // Menu层 + * // 准备层 + ************************************/ +#ifndef __BlockJourney__GameScene__ +#define __BlockJourney__GameScene__ + +#include "heads.h" + +class GameScene:public cocos2d::Layer { + +private: + BackGroundLayer *backgroundLayer; + GameWorldController *gameWorldLayer; + HUDLayer *hudLayer; + MenuLayer *menuLayer; + PrepareLayer *prepareLayer; + + + enum EnTag{ + BackgroundLayer = 10, + GameWorldLayer, + HUDLayer, + MenuLayer, + PrepareLayer, + }; + + enum EnZOrder{ + Z_BackgroundLayer = 10, + Z_GameWorldLayer, + Z_HUDLayer, + Z_MenuLayer, + Z_PrepareLayer, + }; + +public: + bool init(); + static cocos2d::Scene *scene(); + CREATE_FUNC(GameScene); + +public: + void onEnter(); + void onExit(); + +public: + void onGameStart(); + void onGameEnd(); +}; + +#endif /* defined(__BlockJourney__GameScene__) */ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/GameWorldController.cpp" "b/21451144\351\203\221\347\205\234/LastHW/Classes/GameWorldController.cpp" new file mode 100644 index 00000000..bb2753fa --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/GameWorldController.cpp" @@ -0,0 +1,170 @@ +// +// GameWorldController.cpp +// BlockJourney +// +// Created by StarJade on 14-12-7. +// +// + +#include "public.h" + +bool GameWorldController::init(Fun00 gameEndCB){ + + if (!Layer::init()) { + return false; + } + + this->gameEndCB = gameEndCB; + isCollision = false; + + Size winSize = Director::getInstance()->getWinSize(); + + // 初始化轮回圈 + Vec2 srcPos = Vec2(GameSceneData::ROUND_CIRCLE_POS.x,winSize.height * GameSceneData::ROUND_CIRCLE_H_PERCENT); + Vec2 destPos = Vec2(GameSceneData::LIFE_CIRCLE_POS.x,winSize.height * GameSceneData::LIFE_CIRCLE_H_PERCENT); + roundCircle = RoundCircle::create(srcPos, destPos, CC_CALLBACK_0(GameWorldController::onCrash, this)); + this->addChild(roundCircle); + + // 初始化生命圈 + lifeCircle = LifeCircle::create(); + lifeCircle->setPosition(destPos); + this->addChild(lifeCircle); + + // 特效 + halo = Sprite::create("halo.png"); + halo->setScale(0.1f); + halo->setOpacity(0); + halo->setPosition(destPos); + this->addChild(halo); + + + + + + + return true; +} + +GameWorldController * GameWorldController::create(Fun00 gameEndCB){ + + GameWorldController *pRet = new GameWorldController(); + + if (pRet && pRet->init(gameEndCB)) { + pRet->autorelease(); + return pRet; + }else{ + delete pRet; + pRet = NULL; + return NULL; + } + +} + +void GameWorldController::registerTouchEvent(){ + + /// 获取事件分发器 + auto dispatcher = this->getEventDispatcher(); + + + /// 创建单点触摸监听器 EventListenerTouchOneByOne + touchListener = EventListenerTouchOneByOne::create(); + + /// 单点触摸响应事件绑定 + touchListener->onTouchBegan = CC_CALLBACK_2(GameWorldController::onTouchBegan, this); + touchListener->onTouchEnded = CC_CALLBACK_2(GameWorldController::onTouch, this); + /// 在事件分发器中,添加触摸监听器,事件响应委托给 this 处理 + dispatcher->addEventListenerWithSceneGraphPriority(touchListener, this); +} + +void GameWorldController::startRun(){ + + + // 注册触摸监听 + this->registerTouchEvent(); + + // 生命框重置 //不应该重置(2014.12.7) +// lifeCircle->resetLifeCircle(); + + // 轮回框重置并移动 + roundCircle->resetAndMoveRoundCircle(); + +} + +void GameWorldController::onCrash(){ + + // 移除触摸监听 + _eventDispatcher->removeEventListener(touchListener); + + isCollision = ShapeModel::sharedModel()->isOverlap(); + + + + // 事件回调 + auto handleCrashCB = CallFunc::create(CC_CALLBACK_0(GameWorldController::handleCrash, this)); + + if (isCollision){ + + lifeCircle->runCollisionEffects(handleCrashCB); + + }else{ + + // 光晕特效动作 + auto zoomIn = ScaleTo::create(0.4f, 1); + auto fadeOut = FadeOut::create(0.4f); + + // 执行光晕特效 + halo->setScale(0.1f); + halo->setOpacity(255); + + auto spawn = Spawn::create(zoomIn, fadeOut,NULL); + auto seq = Sequence::create(spawn, handleCrashCB, NULL); + halo->runAction(seq); + + } + +} + +void GameWorldController::handleCrash(){ + + this->registerTouchEvent(); + + // 触摸重新使能 +// _eventDispatcher->addEventListenerWithSceneGraphPriority(touchListener, this); +// + if (isCollision) { + + // 游戏结束 + gameEndCB(); + + }else{ + // 轮回框重置并移动 + lifeCircle->resetLifeCircle(); + roundCircle->resetAndMoveRoundCircle(); + + // 轮回数增加 + GameData::sharedGameData()->addRound(); + } +} + + +void GameWorldController::onTouch(Touch *touch, Event *unused_event){ + + //如果触摸区域 + Size winSize = Director::getInstance()->getWinSize(); + if (touch->getLocation().y > winSize.height * 0.2f) return; + + auto offset = 20; //偏移量 + + auto vec = touch->getLocation() - touch->getStartLocation(); //移动向量 + + if (vec.project(Vec2(1, 0)).x > offset) { + + lifeCircle->antiRotate(); + + }else if ( vec.project(Vec2(1, 0)).x < -offset){ + + lifeCircle->rotate(); + } + +} + diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/GameWorldController.h" "b/21451144\351\203\221\347\205\234/LastHW/Classes/GameWorldController.h" new file mode 100644 index 00000000..ef17e0b6 --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/GameWorldController.h" @@ -0,0 +1,57 @@ +// +// GameWorldController.h +// BlockJourney +// +// Created by StarJade on 14-12-7. +// +// +/************************************ + *功能:控制游戏世界的正常运作 + * + *1、控制轮回框的运动 + *2、控制生命框的旋转(提供交互) + ************************************/ +#ifndef __BlockJourney__GameWorldController__ +#define __BlockJourney__GameWorldController__ + +#include "heads.h" + +//typedef std::function Fun00; + +class GameWorldController: public cocos2d::Layer { + +private: +// const cocos2d::Vec2 INIT_POS = GameSceneData::ROUND_CIRCLE_POS; // 轮回框出生位置 +// const cocos2d::Vec2 DEST_POS = GameSceneData::LIFE_CIRCLE_POS; // 生命框所在位置 + + + cocos2d::EventListenerTouchOneByOne *touchListener; + LifeCircle *lifeCircle; + RoundCircle *roundCircle; + + cocos2d::Sprite *halo;//光晕 + + Fun00 gameEndCB; + + bool isCollision; + + +public: + bool init(Fun00 gameEndCB); + static GameWorldController *create(Fun00 gameEndCB); + +public: + void startRun(); + bool onTouchBegan(cocos2d::Touch *touch, cocos2d::Event *unused_event){return true;}; + void onTouch(cocos2d::Touch *touch, cocos2d::Event *unused_event); + +private: + void registerTouchEvent();// 注册touch事件 + + void onCrash(); + void handleCrash(); + + +}; + +#endif /* defined(__BlockJourney__GameWorldController__) */ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/HUDLayer.cpp" "b/21451144\351\203\221\347\205\234/LastHW/Classes/HUDLayer.cpp" new file mode 100644 index 00000000..49af73eb --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/HUDLayer.cpp" @@ -0,0 +1,90 @@ +// +// HUDLayer.cpp +// BlockJourney +// +// Created by StarJade on 14-12-7. +// +// + +#include "public.h" + +bool HUDLayer::init(){ + if (!Layer::init()) { + return false; + } + + Size winSize = Director::getInstance()->getWinSize(); + // 添加容器 + auto flowHUD = Node::create(); + flowHUD->setAnchorPoint(Vec2(0,1)); + flowHUD->setPosition(Vec2(0,winSize.height)); + flowHUD->setContentSize(GameSceneData::HUD_Content_Size); + this->addChild(flowHUD); + + + // 文字部分 + auto hudtext = Sprite::create("text.png"); + hudtext->setPosition(GameSceneData::HUD_TEXT_POS); + flowHUD->addChild(hudtext); + + // 残念 + remnantsLabel = Label::createWithCharMap("numbers.png", 28,53, '0'); + remnantsLabel->setAlignment(TextHAlignment::RIGHT); + remnantsLabel->setScale(0.4); + remnantsLabel->setAnchorPoint(Vec2(1,0.5)); + remnantsLabel->setPosition(GameSceneData::HUD_REMNANTS_POS); + flowHUD->addChild(remnantsLabel); + + remnantsLabel->setString(GameData::sharedGameData()->getRemnants()); + + //领悟等级 + comprehendLabel = Label::createWithBMFont("myfont1.fnt", GameData::sharedGameData()->getComprehend(), TextHAlignment::LEFT); + comprehendLabel->setAnchorPoint(Vec2(0,1)); + comprehendLabel->setPosition(GameSceneData::HUD_COMPREHEND_POS); + flowHUD->addChild(comprehendLabel); + + // 指针 + pointer = Sprite::create("pointer.png"); + pointer->setPosition(GameSceneData::HUD_POINT_START_POS); + flowHUD->addChild(pointer); + + // 进度条 + process = Sprite::create("process.png"); + process->setPosition(GameSceneData::HUD_PROCESS_POS); + process->setAnchorPoint(Vec2(0,0.5)); + flowHUD->addChild(process); + + // 圆盘 + auto target = Sprite::create("target.png"); + target->setPosition(GameSceneData::HUD_TARGET_POS); + flowHUD->addChild(target); + + // 添加帧刷新 + this->scheduleUpdate(); + + return true; +} + +void HUDLayer::update(float dt){ + + //更新显示数据 + remnantsLabel->setString(GameData::sharedGameData()->getRemnants()); + auto gameData = GameData::sharedGameData(); + comprehendLabel->setString(GameData::sharedGameData()->getComprehend()); + + //更新进度条 (x-src)/(dest-src) = remnant / need + + // 指针 + float x = gameData->getComprehendProgress() * (GameSceneData::HUD_POINT_END_POS.x - GameSceneData::HUD_POINT_START_POS.x) + GameSceneData::HUD_POINT_START_POS.x; + pointer->setPosition(x,pointer->getPosition().y); + + // 长条 + process->setScaleX(gameData->getComprehendProgress()); + + + + +} + + + diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/HUDLayer.h" "b/21451144\351\203\221\347\205\234/LastHW/Classes/HUDLayer.h" new file mode 100644 index 00000000..c25a77af --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/HUDLayer.h" @@ -0,0 +1,32 @@ +// +// HUDLayer.h +// BlockJourney +// +// Created by StarJade on 14-12-7. +// +// + +#ifndef __BlockJourney__HUDLayer__ +#define __BlockJourney__HUDLayer__ + +#include "heads.h" + +class HUDLayer:public cocos2d::Layer { + + cocos2d::Label *remnantsLabel; + cocos2d::Label * comprehendLabel; + + + cocos2d::Sprite * pointer;//进度指针 + cocos2d::Sprite * process; + +public: + bool init(); + CREATE_FUNC(HUDLayer); + +public: + void update(float dt); + +}; + +#endif /* defined(__BlockJourney__HUDLayer__) */ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/HomeScene.cpp" "b/21451144\351\203\221\347\205\234/LastHW/Classes/HomeScene.cpp" new file mode 100644 index 00000000..7111fa6a --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/HomeScene.cpp" @@ -0,0 +1,173 @@ +// +// HomeScene.cpp +// BlockJourney +// +// Created by StarJade on 14-12-13. +// +// + +#include "public.h" + +Scene *HomeScene::scene(){ + // 'scene' is an autorelease object + auto scene = Scene::create(); + + // 'layer' is an autorelease object + auto layer = HomeScene::create(); + + // add layer as a child to scene + scene->addChild(layer); + + // return the scene + return scene; +} + +void HomeScene::onEnter(){ + Layer::onEnter(); + inTitleState = true; +} +bool HomeScene::init(){ + if (!Layer::init()) { + return false; + } + + + + Size winSize = Director::getInstance()->getWinSize(); + + //添加背景 + auto background = BackGroundLayer::create(); + this->addChild(background); + + // 添加标题 + title = Sprite::create("gameTitle.png"); + title->setPosition(winSize.width/2,winSize.height * HomeSceneData::TITLE_H_PERCENT); + this->addChild(title); + title->setVisible(false); + + + // HUD + flowHUD = Node::create(); + flowHUD->setContentSize(HomeSceneData::HUD_CONTENT_SIZE); + flowHUD->setPosition(winSize.width/2,winSize.height * HomeSceneData::TITLE_H_PERCENT); + flowHUD->setAnchorPoint(Vec2(0.5,0.5)); + this->addChild(flowHUD); + flowHUD->setVisible(false); + + // HUD 背景 + auto hudBackground = Sprite::create("startHUD.png"); + hudBackground->setPosition(flowHUD->getContentSize().width/2,flowHUD->getContentSize().height/2); + flowHUD->addChild(hudBackground); + + + // 领悟 + + comprehendLabel = Label::createWithBMFont("myfont.fnt", GameData::sharedGameData()->getComprehend(), TextHAlignment::LEFT); + comprehendLabel->setAnchorPoint(Vec2(0,0.5)); + comprehendLabel->setPosition(HomeSceneData::COMPREHEND_POS); + flowHUD->addChild(comprehendLabel); + + // 最长历世 + maxLifeRoundsLabel = Label::createWithCharMap("numbers.png", 28,53, '0'); + maxLifeRoundsLabel->setAlignment(TextHAlignment::LEFT); +// maxLifeRoundsLabel->setScale(0.4); + maxLifeRoundsLabel->setAnchorPoint(Vec2(0,0.5)); + maxLifeRoundsLabel->setPosition(HomeSceneData::MAX_LIFE_ROUND_POS); + flowHUD->addChild(maxLifeRoundsLabel); + + + + // 箭头按键 + arrowBtn = MenuItemImage::create("arrow.png", "arrowSelected.png", CC_CALLBACK_1(HomeScene::onSwitch, this)); + arrowBtn->setPosition(HomeSceneData::ARROW_BUTTON_POS); + arrowBtn->setScale(1.3f); +// arrowBtn->setContentSize(Size(80,80)); + arrowBtn->setVisible(false); + arrowBtn->setEnabled(false); + + // HUD菜单 + auto hudMenu = Menu::create(arrowBtn,nullptr); + hudMenu->setPosition(0,winSize.height * HomeSceneData::TITLE_H_PERCENT-flowHUD->getContentSize().height/2); + this->addChild(hudMenu); + + + + // 开始 + start = MenuItemImage::create("startAgain.png", "startAgainSelected.png", CC_CALLBACK_1(HomeScene::onStart, this)); + start->setPosition(winSize.width/2,winSize.height * HomeSceneData::START_H_PERCENT); + start->setVisible(false); + start->setEnabled(false); + + + // 第一次开始 + startFirstly = MenuItemImage::create("start.png", "startSelected.png", CC_CALLBACK_1(HomeScene::onStart, this)); + startFirstly->setPosition(winSize.width/2,winSize.height * HomeSceneData::START_H_PERCENT); + startFirstly->setVisible(false); + startFirstly->setEnabled(false); + + + + //关于按键 + + auto infoBtn = MenuItemImage::create("info.png","infoSelected.png",CC_CALLBACK_1(HomeScene::onToInfo, this)); + infoBtn->setPosition(72,winSize.height *HomeSceneData::BUTTON_H_PERCENT); + + + // 开始菜单 + auto menu = Menu::create(start,startFirstly,infoBtn,nullptr); + menu->setPosition(Vec2::ZERO); + this->addChild(menu); + + + + + + + + // 是否是第一次开始 + string str = GameData::sharedGameData()->getMaxLifeRounds(); + + title->setVisible(true); + + if (str.compare("0") == 0){ + + startFirstly->setVisible(true); + startFirstly->setEnabled(true); + + }else{ + + arrowBtn->setVisible(true); + arrowBtn->setEnabled(true); + + start->setVisible(true); + start->setEnabled(true); + + + maxLifeRoundsLabel->setString(str); + } + + + + return true; + +} + +void HomeScene::onSwitch(cocos2d::Ref *pSender){ + if (inTitleState) { + flowHUD->setVisible(true); + title->setVisible(false); + }else{ + title->setVisible(true); + flowHUD->setVisible(false); + } + inTitleState = !inTitleState; +} +void HomeScene::onStart(cocos2d::Ref *pSender){ + auto transition = TransitionFadeBL::create(0.6f, GameScene::scene()); + Director::getInstance()->replaceScene(transition); +} + +void HomeScene::onToInfo(cocos2d::Ref *pSender){ + auto transition = TransitionFadeBL::create(0.6f, AboutScene::scene()); + Director::getInstance()->replaceScene(transition); +} diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/HomeScene.h" "b/21451144\351\203\221\347\205\234/LastHW/Classes/HomeScene.h" new file mode 100644 index 00000000..92ce0104 --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/HomeScene.h" @@ -0,0 +1,46 @@ +// +// HomeScene.h +// BlockJourney +// +// Created by StarJade on 14-12-13. +// +// + +#ifndef __BlockJourney__HomeScene__ +#define __BlockJourney__HomeScene__ + +#include "heads.h" + +class HomeScene: public cocos2d::Layer { + + cocos2d::TransitionFadeBL * transition; + + cocos2d::Sprite * title; + cocos2d::Node * flowHUD; + cocos2d::MenuItemImage * arrowBtn; + + cocos2d::MenuItemImage * startFirstly; + cocos2d::MenuItemImage * start; + + cocos2d::Label * comprehendLabel; + cocos2d::Label * maxLifeRoundsLabel; + + bool inTitleState;//判断状态 + +public: + bool init(); + static cocos2d::Scene * scene(); + CREATE_FUNC(HomeScene); + +public: + void onEnter(); +// void onExit(); + +public: + void onStart(cocos2d::Ref* pSender); + void onSwitch(cocos2d::Ref* pSender); + void onToInfo(cocos2d::Ref* pSender); + + +}; +#endif /* defined(__BlockJourney__HomeScene__) */ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/LifeCircle.cpp" "b/21451144\351\203\221\347\205\234/LastHW/Classes/LifeCircle.cpp" new file mode 100644 index 00000000..0d0fecf7 --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/LifeCircle.cpp" @@ -0,0 +1,130 @@ +// +// LifeCircle.cpp +// BlockJourney +// +// Created by StarJade on 14-12-6. +// +// + +#include "public.h" + +bool LifeCircle::init(){ + if (!RectDrawNode::init()) { + return false; + } + + // + touchEnable = true; + + + this->resetLifeCircle(); + + //添加飞溅精灵 + for (int i = 0; i < LENGTH; ++i) { + for (int j = 0; j < LENGTH; ++j) { + splashes[i*LENGTH + j] = Sprite::create("splash.png"); + splashes[i*LENGTH + j]->setPosition(this->blockPos[i][j]); + splashes[i*LENGTH + j]->setOpacity(0); +// splashes[i*LENGTH + j]->setScale(0.1f); + this->addChild(splashes[i*LENGTH + j]); + + } + } + + // 添加旋转精灵 + this->initRotateSprites(); + + + return true; +} + +void LifeCircle::resetLifeCircle(){ + ShapeModel::sharedModel()->resetSpinShapesAndMoveShape(); + this->redraw(); +} + +void LifeCircle::rotate(){ + + if (!touchEnable) return; + + this->runRotateEffects(true); + ShapeModel::sharedModel()->rotate(); +// this->redraw(); +} + +void LifeCircle::antiRotate(){ + + if (!touchEnable) return; + + this->runRotateEffects(false); + ShapeModel::sharedModel()->antiRotate(); +// this->redraw(); +} + +void LifeCircle::fillLifeCircle(){ + auto shape = ShapeModel::sharedModel()->getFullShape(); + this->RedrawRect(shape); +} + +void LifeCircle::runCollisionEffects(CallFunc *callback){ + + // 特效动作 + + ShapeModel::Shape shape = ShapeModel::sharedModel()->getOverlapShape(); + for (int i = 0; i < LENGTH; ++i) { + for (int j = 0; j < LENGTH; ++j) { + if (shape.shape[i][j]==1) { + + printf("runCollisionEffects this block in collision!!"); + // + splashes[i*LENGTH + j]->setOpacity(255); + splashes[i*LENGTH + j]->setScale(0.2f); + splashes[i*LENGTH + j]->setRotation( arc4random()%360); + + auto zoomIn = ScaleTo::create(0.8f, 0.6); + auto fadeOut = FadeOut::create(1.0f); + + auto spawn = Spawn::create(zoomIn, NULL); + auto seq = Sequence::create(spawn,fadeOut, callback, NULL); + // + splashes[i*LENGTH + j]->runAction(seq); + + } + + + } + } + +} +/////////////////////////////////////////////////////// +void LifeCircle::redraw(){ + + auto shape = ShapeModel::sharedModel()->getSpinShape(); + this->RedrawRect(shape); +} + +void LifeCircle::initRotateSprites(){ + + rotateEffectsNode = RotateEffectsNode::create(CC_CALLBACK_0(LifeCircle::rotateEffectsEnd, this)); + rotateEffectsNode->setPosition(this->getContentSize().width/2,this->getContentSize().height/2); + + this->addChild(rotateEffectsNode); +} + +void LifeCircle::runRotateEffects(bool isCW){ + + // 状态转变为不可旋转 + touchEnable = false; + + // 执行旋转效果 + rotateEffectsNode->runRotateEffects(isCW); + +} + +void LifeCircle::rotateEffectsEnd(){ + // 状态转变为可旋转 + touchEnable = true; + + // + this->redraw(); +} \ No newline at end of file diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/LifeCircle.h" "b/21451144\351\203\221\347\205\234/LastHW/Classes/LifeCircle.h" new file mode 100644 index 00000000..7aebf250 --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/LifeCircle.h" @@ -0,0 +1,51 @@ +// +// LifeCircle.h 生命框 +// BlockJourney +// +// Created by StarJade on 14-12-6. +// +// +/************************************ + *功能:提供能够旋转的生命框 + * + *注意:在游戏中的位置不由自己控制 + ************************************/ +#ifndef __BlockJourney__LifeCircle__ +#define __BlockJourney__LifeCircle__ + +#include "heads.h" + +class LifeCircle: public RectDrawNode { + +private: + cocos2d::Sprite * splashes[LENGTH*LENGTH]; + + RotateEffectsNode * rotateEffectsNode; + + bool touchEnable;//触摸使能 + +public: + bool init(); + CREATE_FUNC(LifeCircle); + +public: + void resetLifeCircle(); + + void rotate(); + void antiRotate(); + + void fillLifeCircle();// 填满生命框 + void runCollisionEffects(cocos2d::CallFunc *callback);//展示碰撞效果 + + + +private: + void redraw(); + + void initRotateSprites(); + void runRotateEffects(bool isCW);//执行旋转动画 + void rotateEffectsEnd();// 旋转动画结束 + + +}; +#endif /* defined(__BlockJourney__LifeCircle__) */ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/MenuLayer.cpp" "b/21451144\351\203\221\347\205\234/LastHW/Classes/MenuLayer.cpp" new file mode 100644 index 00000000..e8051532 --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/MenuLayer.cpp" @@ -0,0 +1,44 @@ +// +// MenuLayer.cpp +// BlockJourney +// +// Created by StarJade on 14-12-7. +// +// + +#include "public.h" + +bool MenuLayer::init(){ + if (!Layer::init()) { + return false; + } + + Size winSize = Director::getInstance()->getWinSize(); + this->setContentSize(Size(640,960)); + //添加按键 + + auto homeBtn = MenuItemImage::create( + "home.png", "homeSelected.png", + CC_CALLBACK_1(MenuLayer::onBackToHome, this)); + + homeBtn->setPosition(GameSceneData::HOME_BTN_POS.x,winSize.height * GameSceneData::HOME_H_PERCENT); + + menu = Menu::create(homeBtn, NULL); + menu->setPosition(Vec2::ZERO); + this->addChild(menu); + + menu->setEnabled(false); + + return true; +} + +void MenuLayer::onBackToHome(cocos2d::Ref *pSender){ + //界面跳转 + + auto scene = HomeScene::scene(); + Director::getInstance()->replaceScene(scene); +} + +void MenuLayer::setEnable(bool enable){ + menu->setEnabled(enable); +} \ No newline at end of file diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/MenuLayer.h" "b/21451144\351\203\221\347\205\234/LastHW/Classes/MenuLayer.h" new file mode 100644 index 00000000..8efbc341 --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/MenuLayer.h" @@ -0,0 +1,28 @@ +// +// MenuLayer.h +// BlockJourney +// +// Created by StarJade on 14-12-7. +// +// + +#ifndef __BlockJourney__MenuLayer__ +#define __BlockJourney__MenuLayer__ + +#include "heads.h" + +class MenuLayer: public cocos2d::Layer { +private: + cocos2d::Menu *menu; + +public: + bool init(); + CREATE_FUNC(MenuLayer); + +public: + void onBackToHome(cocos2d::Ref* pSender); + void setEnable(bool enable); + +}; + +#endif /* defined(__BlockJourney__MenuLayer__) */ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/PrepareLayer.cpp" "b/21451144\351\203\221\347\205\234/LastHW/Classes/PrepareLayer.cpp" new file mode 100644 index 00000000..83f5ee5d --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/PrepareLayer.cpp" @@ -0,0 +1,81 @@ +// +// PrepareLayer.cpp +// BlockJourney +// +// Created by StarJade on 14-12-7. +// +// + +#include "public.h" + +bool PrepareLayer::init(Fun00 gameStartCB){ + + if (!LayerColor::init()) { + return false; + } + + this->gameStartCB = gameStartCB; + + //添加图片 + + // 帮助文字 + auto helptext = Sprite::create("prepareMask.png"); + helptext->setAnchorPoint(Vec2(0,0)); + this->addChild(helptext); + + // 箭头 + auto leftArrow = Sprite::create("leftArrow.png"); + leftArrow->setPosition(GameSceneData::LEFT_ARROW_POS); + this->addChild(leftArrow); + + auto rightArrow = Sprite::create("rightArrow.png"); + rightArrow->setPosition(GameSceneData::RIGHT_ARROW_POS); + this->addChild(rightArrow); + + + + + // 注册触摸事件 + this->registerTouchEvent(); + return true; +} +PrepareLayer *PrepareLayer::create(Fun00 gameStartCB){ + + PrepareLayer *pRet = new PrepareLayer(); + + if (pRet && pRet->init(gameStartCB)) { + pRet->autorelease(); + return pRet; + }else{ + delete pRet; + pRet = NULL; + return NULL; + } + +} + +bool PrepareLayer::onTouch(cocos2d::Touch *touch, cocos2d::Event *unused_event){ + printf("\n\n\n\nPrepareLayer::onTouch\n\n\n"); + + // 游戏开始 + gameStartCB(); + + return true; +} +void PrepareLayer::registerTouchEvent(){ + + /// 获取事件分发器 + auto dispatcher = this->getEventDispatcher(); + + /// 创建单点触摸监听器 EventListenerTouchOneByOne + auto touchListener = EventListenerTouchOneByOne::create(); + + /// 单点触摸响应事件绑定 + touchListener->onTouchBegan = CC_CALLBACK_2(PrepareLayer::onTouch, this); + + /// 在事件分发器中,添加触摸监听器,事件响应委托给 this 处理 + touchListener->setSwallowTouches(true); + dispatcher->addEventListenerWithSceneGraphPriority(touchListener, this); +} + + diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/PrepareLayer.h" "b/21451144\351\203\221\347\205\234/LastHW/Classes/PrepareLayer.h" new file mode 100644 index 00000000..3e462795 --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/PrepareLayer.h" @@ -0,0 +1,36 @@ +// +// PrepareLayer.h +// BlockJourney +// +// Created by StarJade on 14-12-7. +// +// + +/************************************ + *功能:准备层是游戏开始前的准备,可以覆盖一层说明。 + * + * + * + ************************************/ +#ifndef __BlockJourney__PrepareLayer__ +#define __BlockJourney__PrepareLayer__ + +#include "heads.h" + +class PrepareLayer: public cocos2d::LayerColor { + + Fun00 gameStartCB; + +public: + bool init(Fun00 gameStartCB); + static PrepareLayer *create(Fun00 gameStartCB); + +public: + + bool onTouch(cocos2d::Touch *touch, cocos2d::Event *unused_event); + void registerTouchEvent();// 注册touch事件 + + +}; + +#endif /* defined(__BlockJourney__PrepareLayer__) */ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/RectDrawNode.cpp" "b/21451144\351\203\221\347\205\234/LastHW/Classes/RectDrawNode.cpp" new file mode 100644 index 00000000..24dee101 --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/RectDrawNode.cpp" @@ -0,0 +1,147 @@ +// +// RectDrawNode.cpp +// BlockJourney +// +// Created by StarJade on 14-12-6. +// +// + +#include "public.h" + + +bool RectDrawNode::init(){ + + if ( !DrawNode::init() ) + { + return false; + } + + + Size winSize = Director::getInstance()->getWinSize(); + + float maxRate = (float)1153 / 640; + + float scale = (winSize.height/winSize.width)/maxRate; + + ////// 初始化变量 + width = 500*scale;// 矩形圈的宽度 + height = 300*scale;// 矩形圈的长度 + + delWidth = DEL_WIDTH*scale; + + ////// + + // 设置每个小方块的位置 //注意次序不能跟上面部分打乱 + float dX = getDrawPosAt(1, 1, LENGTH * 2).x - getDrawPosAt(0,0, LENGTH).x;//3阶(0,0)方块的中点即6阶(1,1)方块的左上坐标 + float dY = getDrawPosAt(1, 1, LENGTH * 2).y - getDrawPosAt(0,0, LENGTH).y; + + for(int i = 0; i < LENGTH; ++i){ + for (int j = 0; j < LENGTH; ++j) { + blockPos[i][j].x = getDrawPosAt(i, j).x + dX; + blockPos[i][j].y = getDrawPosAt(i, j).y + dY; + + } + } + + this->setContentSize(Size(Vec2(width,height))); + this->setAnchorPoint(Vec2(0.5,0.5)); + + + return true; +} + +void RectDrawNode::RedrawRect(ShapeModel::Shape shape){ + + // 清空画布 + this->clear(); + + // 绘制小方块 + for (int i = 0; i < LENGTH; ++i) { + for (int j = 0; j < LENGTH; ++j) { + if (shape.shape[i][j] == 1) { + + Vec2 point[4]; + point[0] = getDrawPosAt(i, j); + point[1] = getDrawPosAt(i, j+1); + point[2] = getDrawPosAt(i+1,j+1); + point[3] = getDrawPosAt(i+1 ,j); + + this->drawPolygon(point, 4, Color4F(GameSceneData::CIRCLE_COLOR), 3, Color4F(1,0,0,0)); + } + } + } + + // 绘制限定表现 + + Vec2 point[4]; + point[0] = getDrawPosAt(0, 0); + point[1] = getDrawPosAt(0, LENGTH); + point[2] = getDrawPosAt(LENGTH, LENGTH); + point[3] = getDrawPosAt(LENGTH, 0); + + this->drawPolygon(point, 4, Color4F(Color4B(197,158,171,120)), 1, Color4F(GameSceneData::CIRCLE_COLOR)); + +} + +void RectDrawNode::RedrawRect(ShapeModel::Shape shape, RectDrawNode::DrawType type){ + switch (type) { + case DrawType::LIFE_CIRCLE: + + redraw(shape, Color4F(GameSceneData::CIRCLE_COLOR)); + break; + case DrawType::ROUND_CIRCLE: + redraw(shape, Color4F(GameSceneData::ROUND_CIRCLE_COLOR)); + break; + + default: + break; + } +} + +void RectDrawNode::redraw(ShapeModel::Shape shape, cocos2d::Color4F color){ + // 清空画布 + this->clear(); + + // 绘制小方块 + for (int i = 0; i < LENGTH; ++i) { + for (int j = 0; j < LENGTH; ++j) { + if (shape.shape[i][j] == 1) { + + Vec2 point[4]; + point[0] = getDrawPosAt(i, j); + point[1] = getDrawPosAt(i, j+1); + point[2] = getDrawPosAt(i+1,j+1); + point[3] = getDrawPosAt(i+1 ,j); + + this->drawPolygon(point, 4, color, 3, Color4F(1,0,0,0)); + } + } + } + + // 绘制限定表现 + + Vec2 point[4]; + point[0] = getDrawPosAt(0, 0); + point[1] = getDrawPosAt(0, LENGTH); + point[2] = getDrawPosAt(LENGTH, LENGTH); + point[3] = getDrawPosAt(LENGTH, 0); + + this->drawPolygon(point, 4, Color4F(Color4B(197,158,171,120)), 1, color); +} +///////////////////////////////////////////////////// +Vec2 RectDrawNode::getDrawPosAt(int i, int j){ + + CCASSERT(0<=i&&i<=LENGTH,"RectDrawNode::getDrawPosAt (i) out of range!!"); + CCASSERT(0<=j&&j<=LENGTH,"RectDrawNode::getDrawPosAt (j) out of range!!"); + + return getDrawPosAt(i, j, LENGTH); +} + +Vec2 RectDrawNode::getDrawPosAt(int i, int j, int order){ + + + double x = delWidth * i / order + (width - 2 * (delWidth * i / order))* j / order; + double y = (order - i)*height/order; + + return Vec2(x,y); +} \ No newline at end of file diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/RectDrawNode.h" "b/21451144\351\203\221\347\205\234/LastHW/Classes/RectDrawNode.h" new file mode 100644 index 00000000..b456fb1a --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/RectDrawNode.h" @@ -0,0 +1,60 @@ +// +// RectDrawNode.h +// BlockJourney +// +// Created by StarJade on 14-12-6. +// +// +/************************************ + *功能:提供一个绘图结点,能够对结点进行重绘 + * + ************************************/ +#ifndef __BlockJourney__RectDrawNode__ +#define __BlockJourney__RectDrawNode__ + +#include +#include "heads.h" +#include "cocos2d.h" + + +class RectDrawNode: public cocos2d::DrawNode { + +private: + const int WIDTH = 500;// 矩形圈的宽度 + const int HEIGHT = 300;// 矩形圈的长度 + + // 3D下的图形长和宽 + const int WIDTH_3D = 406; + const int HEIGHT_3D = HEIGHT; + +protected: + cocos2d::Vec2 blockPos[LENGTH][LENGTH];//生命框中每个小方块的中点位置 +public: + enum DrawType{ + LIFE_CIRCLE, + ROUND_CIRCLE, + }; + +public: + bool init(); + CREATE_FUNC(RectDrawNode); + + +protected: + void RedrawRect(ShapeModel::Shape shape); + void RedrawRect(ShapeModel::Shape shape,DrawType type); + + +private: + const double DEL_WIDTH = (WIDTH - WIDTH_3D)/2; + float width; + float height; + float delWidth; + +private: + cocos2d::Vec2 getDrawPosAt(int i, int j);// 根据坐标给出绘制位置 + cocos2d::Vec2 getDrawPosAt(int i, int j,int order);//根据位置和阶数给出位置 + void redraw(ShapeModel::Shape shape,cocos2d::Color4F color); +}; + +#endif /* defined(__BlockJourney__RectDrawNode__) */ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/RotateEffectsNode.cpp" "b/21451144\351\203\221\347\205\234/LastHW/Classes/RotateEffectsNode.cpp" new file mode 100644 index 00000000..42339e10 --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/RotateEffectsNode.cpp" @@ -0,0 +1,125 @@ +// +// RotateEffectsNode.cpp +// BlockJourney +// +// Created by StarJade on 14-12-19. +// +// + +#include "public.h" + +bool RotateEffectsNode::init(Fun00 cb){ + + if (!Node::init()) { + return false; + } + + this->cb = cb; + + // 添加精灵 + for (int i = 0; i < 4; ++i) { + comet[i]=Sprite::create("comet.png"); + comet[i]->setOpacity(0); + comet[i]->setScale(0.8f); + this->addChild(comet[i]); + } + + + // 设置初始变量 + this->setContentSize(Size(Vec2(640,393))); + this->setAnchorPoint(Vec2(0.5,0.5)); + + initPos[0] = Vec2(91,88); + initPos[1] = Vec2(131,354); + initPos[2] = Vec2(575,292); + initPos[3] = Vec2(461,37); + + destPos[0] = Vec2(64,271); + destPos[1] = Vec2(522,354); + destPos[2] = Vec2(533,100); + destPos[3] = Vec2(167,37); + + // 距离向量 和角度 + for (int i = 0; i < 4; ++i) { + + // 距离 + vec[i] = destPos[i] - initPos[i]; + antiVec[i] = vec[i]; + antiVec[i].negate(); + + // 角度 + float rad = vec[i].getAngle(Vec2(-1,0)); + float ang = rad * 180 / 3.14; + comet[i]->setRotation(ang); + comet[i]->setPosition(initPos[i]); + } + + // + + + return true; +} + +RotateEffectsNode *RotateEffectsNode::create(Fun00 cb){ + + RotateEffectsNode *pRet = new RotateEffectsNode(); + + if (pRet && pRet->init(cb)) { + pRet->autorelease(); + return pRet; + }else{ + delete pRet; + pRet = NULL; + return NULL; + } +} + +void RotateEffectsNode::runRotateEffects(bool isCW){ + + for (int i = 0; i < 4; ++i) { + Vec2 startPos; + Vec2 vector; + + + float rad = vec[i].getAngle(Vec2(-1,0)); + float ang = rad * 180 / 3.14; + + if (isCW) { + startPos = initPos[i]; + vector = vec[i]; + comet[i]->setRotation(ang); + + }else{ + startPos = destPos[i]; + vector = antiVec[i]; + comet[i]->setRotation(ang+180); + + + } + + // 设置为可见 + comet[i]->setPosition(startPos); + comet[i]->setOpacity(255); + + // 移动、渐隐 + auto move = MoveBy::create(0.1f, vector); + auto fadeOut = FadeOut::create(0.1f); + + auto effectEndCB = CallFunc::create(cb); + + auto spawn = Spawn::create(move, NULL); + auto seq = Sequence::create(spawn,fadeOut, effectEndCB,NULL); + + comet[i]->runAction(seq); + + + } +} + +//////////////////////////////////// +void RotateEffectsNode::setRotation(int i){ + + float rad = vec[i].getAngle(Vec2(-1,1)); + float ang = rad * 180 / 3.14; + comet[i]->setRotation(ang); +} diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/RotateEffectsNode.h" "b/21451144\351\203\221\347\205\234/LastHW/Classes/RotateEffectsNode.h" new file mode 100644 index 00000000..9ac1188c --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/RotateEffectsNode.h" @@ -0,0 +1,35 @@ +// +// RotateEffectsNode.h +// BlockJourney +// +// Created by StarJade on 14-12-19. +// +// + +#ifndef __BlockJourney__RotateEffectsNode__ +#define __BlockJourney__RotateEffectsNode__ + +#include "heads.h" + +class RotateEffectsNode: public cocos2d::Node { + + cocos2d::Sprite * comet[4]; + cocos2d::Vec2 initPos[4]; + cocos2d::Vec2 destPos[4]; + + cocos2d::Vec2 vec[4]; + cocos2d::Vec2 antiVec[4]; + + Fun00 cb;//回调函数 +public: + bool init(Fun00 cb); + static RotateEffectsNode *create(Fun00 cb); + + // + void runRotateEffects(bool isCW); + +private: + void setRotation(int i); +}; + +#endif /* defined(__BlockJourney__RotateEffectsNode__) */ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/RoundCircle.cpp" "b/21451144\351\203\221\347\205\234/LastHW/Classes/RoundCircle.cpp" new file mode 100644 index 00000000..14059387 --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/RoundCircle.cpp" @@ -0,0 +1,77 @@ +// +// RoundCircle.cpp +// BlockJourney +// +// Created by StarJade on 14-12-6. +// +// + +#include "public.h" + +bool RoundCircle::init(cocos2d::Vec2 initPos,cocos2d::Vec2 destPos,Fun00 cb){ + + if (!RectDrawNode::init()) { + return false; + } + + this->initPos = initPos; + this->destPos = destPos; + this->cb = cb; + + resetRoundCircle(); + return true; +} + +RoundCircle *RoundCircle::create(cocos2d::Vec2 initPos,cocos2d::Vec2 destPos,Fun00 cb){ + + RoundCircle *pRet = new RoundCircle(); + + if (pRet && pRet->init(initPos,destPos,cb)) { + pRet->autorelease(); + return pRet; + }else{ + delete pRet; + pRet = NULL; + return NULL; + } +} + + +void RoundCircle::resetAndMoveRoundCircle(){ + resetRoundCircle(); + move(); +} + +void RoundCircle::resetRoundCircle(){ + + auto shape = ShapeModel::sharedModel()->resetMoveShape(); + this->setPosition(initPos); + this->setScale(INIT_SCALE); + this->RedrawRect(shape); + this->setColor(Color3B(255,0,0)); + +} + +void RoundCircle::move(){ + + printf("\n\n\n RoundCircle::move() \n\n"); + + // 缩放 + auto zoomIn = ScaleTo::create(MOVE_TIME, 1.0f); + // 移动 + auto vec = Vec2(destPos.x - initPos.x, destPos.y - initPos.y); + auto moveBy = MoveBy::create(MOVE_TIME, vec); + auto easeIn = EaseIn::create(moveBy, 2.5);//设置为匀加速运动 + + // 缩放和移动同时发生 + auto spawn = Spawn::create(zoomIn, easeIn, NULL); + + // 添加回调 + auto callFunc = CallFunc::create(this->cb); + // 添加顺序序列 + auto seqAct = Sequence::create(spawn,callFunc, NULL); + + // 执行 + this->runAction(seqAct); +} + diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/RoundCircle.h" "b/21451144\351\203\221\347\205\234/LastHW/Classes/RoundCircle.h" new file mode 100644 index 00000000..e3db846b --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/RoundCircle.h" @@ -0,0 +1,41 @@ +// +// RoundCircle.h 轮回框 +// BlockJourney +// +// Created by StarJade on 14-12-6. +// +// +/************************************ + *功能:提供移动操作以及移动结束的回调 + * + *注意:该类能够自主管理在游戏中的位置 + ************************************/ +#ifndef __BlockJourney__RoundCircle__ +#define __BlockJourney__RoundCircle__ + +#include "heads.h" + +class RoundCircle: public RectDrawNode { +private: + const float MOVE_TIME = 2.7f; + const float INIT_SCALE = 0.1f; + + cocos2d::Vec2 initPos; + cocos2d::Vec2 destPos; + Fun00 cb; + +public: + bool init(cocos2d::Vec2 initPos,cocos2d::Vec2 destPos,Fun00 cb); + + static RoundCircle *create(cocos2d::Vec2 initPos,cocos2d::Vec2 destPos,Fun00 cb); + +public: + void resetAndMoveRoundCircle(); + +private: + void resetRoundCircle(); + void move(); + +}; + +#endif /* defined(__BlockJourney__RoundCircle__) */ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/ShapeModel.cpp" "b/21451144\351\203\221\347\205\234/LastHW/Classes/ShapeModel.cpp" new file mode 100644 index 00000000..5158555a --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/ShapeModel.cpp" @@ -0,0 +1,153 @@ +// +// ShapeModel.cpp +// ShapeModel +// +// Created by StarJade on 14-11-29. +// Copyright (c) 2014年 StarJade. All rights reserved. +// + +#include "ShapeModel.h" +#include +#include "cocos2d.h" + +ShapeModel *singleModel = NULL; +ShapeModel::ShapeModel(){ + + // 初始化两个形状 + initSpinShapesAndMoveShape(); + + + // 旋转图形的初始状态 + state = ShapeModel::EnAngle::BASIC; + + // 创建fullShape + + for (int i = 0; i < LENGTH; ++i) { + for (int j = 0; j < LENGTH; ++j) { + + fullShape.shape[i][j] = 1; + } + } + +} + +ShapeModel::~ShapeModel(){ + +} + + + +ShapeModel *ShapeModel::sharedModel(){ + if(singleModel == NULL){ + singleModel = new ShapeModel(); + } + return singleModel; +} + +ShapeModel::Shape ShapeModel::resetMoveShape(){ + +// // 产生随机数 +// static int count = 0;// 即使短时间再次调用依旧能产生随机效果 +// srandom((unsigned int)time(0)+count*5); +// ++count; +// +// int rand = random()%LOOP; + + + + int rand = arc4random()%LOOP; + + + + + // 初始化移动图形 + Shape shape; + for (int i = 0; i < LENGTH; ++i) { + for (int j = 0; j < LENGTH; ++j) { + if (basicShape[rand].shape[i][j] == 0) { + if (random() % 2 == 0) { + shape.shape[i][j] = 1; + } + } + } + } + moveShape = shape; + + return moveShape; + +} + +void ShapeModel::resetSpinShapes(){ + for (int i = 0; i < LENGTH; ++i) { + for (int j = 0; j < LENGTH; ++j) { + int isdot = random() % 2; + int max = LENGTH - 1; +// basicShape[0].shape[i][j] = isdot; +// basicShape[1].shape[max - j][i] = isdot; +// basicShape[2].shape[max - i][max - j] = isdot; +// basicShape[3].shape[j][max - i] = isdot; + + basicShape[0].shape[i][j] = isdot; + basicShape[1].shape[j][max - i] = isdot; + basicShape[2].shape[max - i][max - j] = isdot; + basicShape[3].shape[max - j][i] = isdot; + } + } +} + +void ShapeModel::resetSpinShapesAndMoveShape(){ + // 顺序不可变 + resetSpinShapes(); + resetMoveShape(); +} +/////////////获取形状/////////////////////////////////// + +ShapeModel::Shape ShapeModel::getSpinShape(){ + return basicShape[state]; +} + +ShapeModel::Shape ShapeModel::getMoveShape(){ + return moveShape; +} +ShapeModel::Shape ShapeModel::getFullShape(){ + return fullShape; +} +ShapeModel::Shape ShapeModel::getOverlapShape(){ + return overlapShape; +} +/////////////旋转操作/////////////////////////////////// + +void ShapeModel::rotate(){ + state = (EnAngle)(((int)state + 1)%LOOP); +} + +void ShapeModel::antiRotate(){ + for (int i = 1 ; i <= LOOP - 1; ++i) { + rotate(); + } +} + +/////////////重叠检测/////////////////////////////////// + +bool ShapeModel::isOverlap(){ + + int stateInt = (int)state; + bool isOverlap = false; + + for (int i = 0; i < LENGTH; ++i) { + for (int j = 0; j < LENGTH; ++j) { + overlapShape.shape[i][j] = 0; //初始化 + + if (basicShape[stateInt].shape[i][j] + + moveShape.shape[i][j] > 1) { + + isOverlap = true;//发生了碰撞 + + overlapShape.shape[i][j] = 1;//生成重叠形状 + printf("\n\n发生重叠:(%d,%d)\n\n",i,j); + } + } + } + return isOverlap; + +} diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/ShapeModel.h" "b/21451144\351\203\221\347\205\234/LastHW/Classes/ShapeModel.h" new file mode 100755 index 00000000..401f6605 --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/ShapeModel.h" @@ -0,0 +1,107 @@ +// +// ShapeModel.h +// ShapeModel +// +// Created by StarJade on 14-11-29. +// Copyright (c) 2014年 StarJade. All rights reserved. +// + +/************************************ + *处理3*3矩阵的图形数据 + * + *无输入 + *提供生产、改变、检测、以及reset功能 + ************************************/ + +/************************************ + *待实现功能 TODO + *1、旋转图形为空或者移动图形为空的情况 + *2、答案解的数量控制 + * + ************************************/ +#ifndef __ShapeModel__ShapeModel__ +#define __ShapeModel__ShapeModel__ + +#include +#include + +#define LENGTH 3 +#define LOOP 4 // 转4次一个循环// warn含有loop无法控制的代码 + +using namespace std; + +class ShapeModel +{ + +public: + ShapeModel(); + ~ShapeModel(); + +public: + + // 基本形状的数据结构 + struct Shape{ + bool shape[LENGTH][LENGTH]; + + Shape(){ + memset(shape, 0, sizeof(shape)); + } + + void init(int *a){ + + + // 初始化 + for(int i=0;i +#include +#include +#include + +typedef std::function Fun00; + + +#include "gameSceneData.h" +#include "gameEndSceneData.h" +#include "homeSceneData.h" + +#include "RotateEffectsNode.h" + +#include "GameData.h" +#include "cocos2d.h" +#include "ShapeModel.h" +#include "RectDrawNode.h" +#include "LifeCircle.h" +#include "RoundCircle.h" +#include "PrepareLayer.h" +#include "GameWorldController.h" +#include "BackGroundLayer.h" +#include "MenuLayer.h" +#include "HUDLayer.h" +#include "GameScene.h" +#include "GameEndScene.h" +#include "HomeScene.h" +#include "AboutScene.h" + + + + + +#endif diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/homeSceneData.h" "b/21451144\351\203\221\347\205\234/LastHW/Classes/homeSceneData.h" new file mode 100644 index 00000000..e6ae5747 --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/homeSceneData.h" @@ -0,0 +1,35 @@ +// +// homeSceneData.h +// BlockJourney +// +// Created by StarJade on 14-12-10. +// +// + +#ifndef BlockJourney_homeSceneData_h +#define BlockJourney_homeSceneData_h + +namespace HomeSceneData { +// H位置: +// +// 标题:78% + + const float TITLE_H_PERCENT = 0.78f; +// 开始按键:34.6% + + const float START_H_PERCENT = 0.346f; +// 其他按键:7.8% + const float BUTTON_H_PERCENT = 0.068f; +// +// contentSize:(640,327) + const cocos2d::Size HUD_CONTENT_SIZE = cocos2d::Size(640,327); +// 领悟等级:(64,230)左对齐 + const cocos2d::Vec2 COMPREHEND_POS = cocos2d::Vec2(64,237); + // 最长历世:(74,50)左对齐 + const cocos2d::Vec2 MAX_LIFE_ROUND_POS = cocos2d::Vec2(74,50); + + // 箭头按键(564,39) + const cocos2d::Vec2 ARROW_BUTTON_POS = cocos2d::Vec2(564,39); +} + +#endif diff --git "a/21451144\351\203\221\347\205\234/LastHW/Classes/public.h" "b/21451144\351\203\221\347\205\234/LastHW/Classes/public.h" new file mode 100644 index 00000000..c90b5e3a --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Classes/public.h" @@ -0,0 +1,17 @@ +// +// public.h +// BlockJourney +// +// Created by StarJade on 14-12-6. +// +// + +#ifndef BlockJourney_public_h +#define BlockJourney_public_h + +#include "heads.h" + +USING_NS_CC; + +using namespace std; +#endif diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/CloseNormal.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/CloseNormal.png" new file mode 100644 index 00000000..5657a13b Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/CloseNormal.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/CloseSelected.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/CloseSelected.png" new file mode 100644 index 00000000..e4c82da7 Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/CloseSelected.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/HUDback.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/HUDback.png" new file mode 100644 index 00000000..cb687ac9 Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/HUDback.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/HelloWorld.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/HelloWorld.png" new file mode 100644 index 00000000..5fe89fb5 Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/HelloWorld.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/Marker Felt.ttf" "b/21451144\351\203\221\347\205\234/LastHW/Resources/Marker Felt.ttf" new file mode 100644 index 00000000..3752ef31 Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/Marker Felt.ttf" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/about.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/about.png" new file mode 100644 index 00000000..ccfdb137 Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/about.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/arrow.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/arrow.png" new file mode 100644 index 00000000..bb8df044 Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/arrow.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/arrowSelected.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/arrowSelected.png" new file mode 100644 index 00000000..a4e42aae Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/arrowSelected.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/background.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/background.png" new file mode 100644 index 00000000..c5f1eab7 Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/background.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/comet.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/comet.png" new file mode 100644 index 00000000..1c82b8e1 Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/comet.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/fail.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/fail.png" new file mode 100644 index 00000000..b6b564a5 Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/fail.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/gameEndHUD.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/gameEndHUD.png" new file mode 100644 index 00000000..f6a1aa78 Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/gameEndHUD.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/gameTitle.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/gameTitle.png" new file mode 100644 index 00000000..11f57c1c Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/gameTitle.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/halo.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/halo.png" new file mode 100644 index 00000000..9d0cbbec Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/halo.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/home.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/home.png" new file mode 100644 index 00000000..5ac6cc16 Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/home.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/homeSelected.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/homeSelected.png" new file mode 100644 index 00000000..2e867ec4 Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/homeSelected.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/illustrateFrame.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/illustrateFrame.png" new file mode 100644 index 00000000..ce3a583a Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/illustrateFrame.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/info.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/info.png" new file mode 100644 index 00000000..59bc2cf0 Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/info.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/infoSelected.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/infoSelected.png" new file mode 100644 index 00000000..ba1ae0cc Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/infoSelected.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/leftArrow.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/leftArrow.png" new file mode 100644 index 00000000..071ac6de Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/leftArrow.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/myfont.fnt" "b/21451144\351\203\221\347\205\234/LastHW/Resources/myfont.fnt" new file mode 100644 index 00000000..5e9ed1f0 --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Resources/myfont.fnt" @@ -0,0 +1,20 @@ +info face="MyFont" size=32 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 +common lineHeight=131 base=26 scaleW=512 scaleH=512 pages=1 packed=0 alphaChnl=1 redChnl=0 greenChnl=0 blueChnl=0 +page id=0 file="myfont.png" +chars count=96 +char id=21021 x=0 y=180 width=107 height=83 xoffset=0 yoffset=50 xadvance=118 page=0 chnl=0 letter="初" +char id=35782 x=107 y=352 width=105 height=78 xoffset=0 yoffset=53 xadvance=116 page=0 chnl=0 letter="识" +char id=26032 x=0 y=352 width=106 height=89 xoffset=0 yoffset=43 xadvance=117 page=0 chnl=0 letter="新" +char id=22855 x=108 y=181 width=103 height=87 xoffset=0 yoffset=44 xadvance=114 page=0 chnl=0 letter="奇" +char id=36855 x=0 y=90 width=107 height=89 xoffset=0 yoffset=42 xadvance=118 page=0 chnl=0 letter="迷" +char id=26790 x=212 y=181 width=99 height=90 xoffset=0 yoffset=41 xadvance=110 page=0 chnl=0 letter="梦" +char id=25506 x=0 y=0 width=113 height=89 xoffset=0 yoffset=42 xadvance=124 page=0 chnl=0 letter="探" +char id=32034 x=213 y=364 width=89 height=90 xoffset=0 yoffset=41 xadvance=100 page=0 chnl=0 letter="索" +char id=22859 x=0 y=264 width=107 height=87 xoffset=0 yoffset=44 xadvance=118 page=0 chnl=0 letter="奋" +char id=26007 x=114 y=0 width=102 height=88 xoffset=0 yoffset=43 xadvance=113 page=0 chnl=0 letter="斗" +char id=35273 x=213 y=272 width=98 height=91 xoffset=0 yoffset=41 xadvance=109 page=0 chnl=0 letter="觉" +char id=23519 x=108 y=90 width=104 height=90 xoffset=0 yoffset=41 xadvance=115 page=0 chnl=0 letter="察" +char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=0 xadvance=72 page=0 chnl=0 letter=" " +char id=9 x=0 y=0 width=0 height=0 xoffset=0 yoffset=0 xadvance=576 page=0 chnl=0 letter=" " + +kernings count=0 diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/myfont.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/myfont.png" new file mode 100644 index 00000000..fa509eac Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/myfont.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/myfont1.fnt" "b/21451144\351\203\221\347\205\234/LastHW/Resources/myfont1.fnt" new file mode 100644 index 00000000..c463de1d --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/Resources/myfont1.fnt" @@ -0,0 +1,26 @@ +info face=“MyFont" size=32 bold=0 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1 +common lineHeight=41 base=26 scaleW=40 scaleH=41 pages=1 packed=0 alphaChnl=1 redChnl=0 greenChnl=0 blueChnl=0 +page id=0 file="myfont1.png" +chars count=96 +char id=21021 x=81 y=79 width=39 height=40 xoffset=0 yoffset=0 xadvance=40 page=0 chnl=0 letter="初" +char id=35782 x=0 y=77 width=40 height=39 xoffset=0 yoffset=1 xadvance=41 page=0 chnl=0 letter="识" +char id=26032 x=121 y=40 width=39 height=40 xoffset=0 yoffset=1 xadvance=40 page=0 chnl=0 letter="新" +char id=22855 x=81 y=38 width=39 height=40 xoffset=0 yoffset=1 xadvance=40 page=0 chnl=0 letter="奇" +char id=36855 x=41 y=41 width=39 height=40 xoffset=0 yoffset=1 xadvance=40 page=0 chnl=0 letter="迷" +char id=26790 x=160 y=81 width=38 height=40 xoffset=0 yoffset=1 xadvance=39 page=0 chnl=0 letter="梦" +char id=25506 x=41 y=82 width=39 height=40 xoffset=0 yoffset=1 xadvance=40 page=0 chnl=0 letter="探" +char id=32034 x=200 y=0 width=37 height=40 xoffset=0 yoffset=1 xadvance=38 page=0 chnl=0 letter="索" +char id=22859 x=121 y=0 width=39 height=39 xoffset=0 yoffset=1 xadvance=40 page=0 chnl=0 letter="奋" +char id=26007 x=199 y=83 width=38 height=39 xoffset=0 yoffset=1 xadvance=39 page=0 chnl=0 letter="斗" +char id=35273 x=199 y=41 width=38 height=41 xoffset=0 yoffset=0 xadvance=39 page=0 chnl=0 letter="觉" +char id=23519 x=161 y=0 width=38 height=40 xoffset=0 yoffset=1 xadvance=39 page=0 chnl=0 letter="察" +char id=20877 x=0 y=0 width=40 height=38 xoffset=0 yoffset=3 xadvance=41 page=0 chnl=0 letter="再" +char id=20837 x=161 y=41 width=37 height=37 xoffset=0 yoffset=3 xadvance=38 page=0 chnl=0 letter="入" +char id=23576 x=121 y=81 width=38 height=39 xoffset=0 yoffset=2 xadvance=39 page=0 chnl=0 letter="尘" +char id=19990 x=0 y=39 width=40 height=37 xoffset=0 yoffset=3 xadvance=41 page=0 chnl=0 letter="世" +char id=27493 x=41 y=0 width=39 height=40 xoffset=0 yoffset=2 xadvance=40 page=0 chnl=0 letter="步" +char id=20961 x=81 y=0 width=39 height=37 xoffset=0 yoffset=4 xadvance=40 page=0 chnl=0 letter="凡" +char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=0 xadvance=20 page=0 chnl=0 letter=" " +char id=9 x=0 y=0 width=0 height=0 xoffset=0 yoffset=0 xadvance=160 page=0 chnl=0 letter=" " + +kernings count=0 diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/myfont1.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/myfont1.png" new file mode 100644 index 00000000..6ba1d93c Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/myfont1.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/numbers.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/numbers.png" new file mode 100644 index 00000000..d126c569 Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/numbers.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/pointer.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/pointer.png" new file mode 100644 index 00000000..d9743663 Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/pointer.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/prepareMask.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/prepareMask.png" new file mode 100644 index 00000000..948ccc6b Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/prepareMask.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/process.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/process.png" new file mode 100644 index 00000000..6d93a6f7 Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/process.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/rightArrow.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/rightArrow.png" new file mode 100644 index 00000000..40f45c35 Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/rightArrow.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/splash.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/splash.png" new file mode 100644 index 00000000..35b0f099 Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/splash.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/start.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/start.png" new file mode 100644 index 00000000..06d0be57 Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/start.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/startAgain.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/startAgain.png" new file mode 100644 index 00000000..4d5a3c09 Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/startAgain.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/startAgainSelected.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/startAgainSelected.png" new file mode 100644 index 00000000..fd7eb636 Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/startAgainSelected.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/startHUD.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/startHUD.png" new file mode 100644 index 00000000..de4db68d Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/startHUD.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/startSelected.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/startSelected.png" new file mode 100644 index 00000000..6c1ae63a Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/startSelected.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/target.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/target.png" new file mode 100644 index 00000000..93722d5f Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/target.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/text.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/text.png" new file mode 100644 index 00000000..ab36243a Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/text.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/Resources/win.png" "b/21451144\351\203\221\347\205\234/LastHW/Resources/win.png" new file mode 100644 index 00000000..16ba7e35 Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/Resources/win.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/bin/debug/android/BlockJourney-debug.apk" "b/21451144\351\203\221\347\205\234/LastHW/bin/debug/android/BlockJourney-debug.apk" new file mode 100644 index 00000000..6231d4be Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/bin/debug/android/BlockJourney-debug.apk" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/bin/release/android/BlockJourney-release-signed.apk" "b/21451144\351\203\221\347\205\234/LastHW/bin/release/android/BlockJourney-release-signed.apk" new file mode 100644 index 00000000..6138637b Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/bin/release/android/BlockJourney-release-signed.apk" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/bin/release/android/BlockJourney-release-unsigned.apk" "b/21451144\351\203\221\347\205\234/LastHW/bin/release/android/BlockJourney-release-unsigned.apk" new file mode 100644 index 00000000..be7fd957 Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/bin/release/android/BlockJourney-release-unsigned.apk" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/cocos2d/AUTHORS" "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/AUTHORS" new file mode 100644 index 00000000..c68d82da --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/AUTHORS" @@ -0,0 +1,940 @@ +cocos2d-x authors & contributors + +(ordered by the join in time) + +Core Developers: + Ricardo Quesada + XiaoMing Zhang (Minggo) + JianHua Chen (James) + Zhe Wang (Walzer) + Qingkui Hu (samuele3hu) + Huabing Xu (dabingnn) + Bo Yu (boyu0) + Wenhai Lin(Dhilan007) + Guanghui Qu(andyque) + + +Developers: + Rolando Abarca + Javascript Binding and testjs + + Squallium + Added ccFPSImages entity as linked resource on linux eclipse project setting. + Added CocosDenshion dependency to libextension project for eclipse project of linux. + + longlene + Improve android project creation script + + simpliplant + Hardware keyboard support + + liuyq + CCTextureAtlas::updateQuad modify for the memcpy hot spot. + + frranck + adding norwegian language + + varlucian + fix the bug that OnEnterTransitionDidFinish was called twice when a node is added in onEnter. + + carlomorgantinizynga + CCLabelTTF supports for shadow and stroke + Adding CCLabelTTF::createWithFontDefinition. + New label support. + + James Gregory (j4m3z0r, Zynga) + Maintainer of Emscripten port. + Initial Emscripten port. + Use browser font rendering instead of FreeType. + Add destructor to CCGLBufferedNode. + Asynchronous Image loading for Emscripten + + DarraghCoy + Fixed a potential crash SimpleAudioEngineOpenSL::playEffect + Fixed some bugs with Set class + Added ccDrawSolidCircle + Added Rect::unionWithRect + Fixed a memory leak in Set::removeAllObjects + Fixed for unaligned memory access crash in CCBReader::readFloat() + Fixed for loading custom fonts on iOS when referenced from a CCB file + Fixed CCUserDefault.cpp compiling on Android. + Fixed CCFileUtils 'createXXXXWithContentsOfFile' path lookup issue + Added CCDirector::popToSceneStackLevel(int level) + Fixed a bug that custom font can't be loaded correctly if using full path of filename on android + Fixed potential crashes in EventDispatch while using SceneGraphPriroity listeners and added helper function to check it + Fixed a protential crash in EventDispatch while unregistering listener right after it was registered + Adding an extra verification in Node's destructor + Added RefPtr smart pointer support + + silverscania + Pass correct parameter to glPixelStorei when creating a texture + + FlagellumDei + Center the window correctly on windows + + ggggamer + fixed memory leak of preloadEffect on windows + + CodeSnooker + Added Method to create a CCMenuItemToggle from a CCArray with a target selector + + wagaf-d + Move ccpX functions to CCPoint methods and operators + + sergey-shambir + Added CC_DISABLE_COPY macro + Added __attribute__(__format__()) for CCLog and CCString + Refactoring network extension and fixing unlikely memory leaks. + Adding PUT/DELETE methods for CCHttpRequest. + Adding project part for QtCreator. + Implemented pitch, pan and gain. + Using SDL backend instead of glfw for Linux. + + savdalion + Added example for russian language in TestCpp + Added const modifier for classes CCArray, CCObject + Deprecated method fixes + + rodrigogolive + Fix broke linux build + + kdejongh + Fix for spaces at the beginning of wrapped lines on Android + + martell + use tinyxml2 to replace libxml2 + Added Mingw-crt Support without breaking VS SDK + CMake support for windows. + Added support for x64 target of windows. + Added Dutch Language support. + Added clang support for Windows. + + mchinen + fix emulator issue for OpenGL ES 2.0 on Android + Fix missing protocol method warning for iOS 6.0 addition + + DenizPiri + use CCLOG to implement print() function in LUA + + nickveri + nickkwalee + added some missing function for setting integer shader uniforms in CCGLProgram + + biteforest + fix cc scale9 sprite bug + + Jimmy Sambuo + fix the bug that SimpleAudioEngine::playEffect() and playBackgroundMusic() play twice on linux + + Waiter + fix an error that OpenSLEngine can't load resources from SD card + add CCRemoveSelf action + Fixing a bug that CCLabelTTF setString crash on android. + + billy1380 + make CCLens3d support concave effect. + Adding 64bit target for Mac project. + + benjamesward + add Portuguese and Arabic language support + Fixed linebreaks on Mac OSX + + Victor K(fnz) + fix memory leak of CCTextureCache::addImageAsync() on iOS + + tks2shimizu + add CCFloat, CCDouble and CCBool + Add append function for String class + Adding String::componentsSeparatedByString function for splitting string. + + chenium + fix a bug that CCRenderTexture can not work when coming to foreground on Android + + 9re(Taro Kobayashi) + add Japanese language support + + mingulov + improve the speed of accessing to files from apk + + sburavtsov + fix for correct unscheduling and instance destruction of extensions/network/HttpClient.cpp + + wenbin wang + add error handler when read image data using libjpeg + add korean language support + fix getDeviceModel bug in android CocosDenshion + + Horcruxes + fix the bug that CCArray::createWithContentsOfFile() may not read file data on iOS + + Hu Kaiou + contribute the new version of libcurl to support both armv7 & armv7s on iOS + fix some memory leak + + ByungChoi + modify linux makefiles to fix compiling errors + + edbartley + update MSVS and MAC projects to use project-relative path + CCControl* should not respond to touches if the control is not visible + Some improvements for CCScrollView and CCTableView. + Touch priority can't be set to the value specified by a call to CCMenu::setTouchPriority(int). + CCTableView crashes if a CCTableViewDelegate is not provided. + Fixing a bug that _realOpacity isn't assigned in CCLayerColor::initWithColor. + CCScrollView TouchPriority Fix + Add encrypted PVR.CCZ support to ZipUtils + Tests + Fix for broken of ccArrayGetIndexOfObject after merging this commit(076f38c). + + Weeds (Andre Rudlaff) + Used fontconfig to enhance font rendering on linux. + Fixed a bug about missing horizontal alignment for Custom TTF fonts on linux. + Fixed a bug that the truetype fonts from resource directory can't be found on linux. + Fixed the size calculations for true type fonts (especially for italic fonts). + Added a very simple greedy line break algorithmfor true type labels. + Fixed font rendering crash for certain fonts on linux. + Fixed potential crash in CCScheduler::removeHashElement. + Fixed potential crash in CCSaxParser. + Added kResolutionFixedHeight and kResolutionFixedWidth resolution policy. + Use pthread mutex and condition variable instead of pthred semaphore to load image asynchronizely. + Fixed crash in HttpClient request on 64Bit. + + Nat Weiss (iphonegamekit.com) + author of Mac port + add TMX polygon parsing + Properly resets the tile's Y flipping + + XiaoLong Zhang (Chukong Inc) + Mike McGary (Zynga) + Di Wu (Zynga China) + CCBReader and cpp reflection mechanic + + Angus Comrie + contributes cocos2d-x port of CCControlExtension. + + Yannick Loriot + author of CCControlExtension in cocos2d-iphone. + + Surith Thekkiam (folecr, Zynga) + contribute for Android module building + Simpler, correct handling of spritesheet sources for CCScale9Sprite. + Clean up linked libraries for android. + JavaScript debugger improved and bugfixed. + Fix flags for debugger server socket. + Fix flags for debugger server socket. + When user has built with JS Debugger support ScriptingCore will handle necessary runtime changes. + + Nicolas Gramlich (nicolasgramlich, Zynga) + fixed CCDirector to use CCLabelBMFont instead of CCLabelTTF + added CCBReader (CCBI format) + Added cleanup and reset methods to ScriptingCore. + Fixed a bug in ScriptingCore::evalString not setting the outval. + Updated .classpath of Android project to latest ADT 22 build tool compatibility. + + Rohan Kuruvilla (rohankuruvilla, Zynga) + Improvements to JS Bindings. + Synchronizing CCBReader to version 5. + Adding OpenGL Bindings to Javascript. + Fixing a bug that nested ccb-files are not positioned correctly. + Fixing a bug that crash when loading valid project. + + Jianfeng Zou (NetDragon Inc) + contributes CCListView and CCTextureWatcher. + + dducharme + author of blackberry port + + ImperialPenguin + Added TTF support for blackberry port. + + HuaXu Cai (Kongzhong Corporation) + author of linux port + + ciaranj + add a build file that correctly generates LuaCocos2d.cpp + add a lua template + add particle systems to lua bindings + use ant to generate LuaCocos2d.cpp and lua projects + + Marat Yakupov (moadib) + Adds ability of simulating android enter/resume background on win32 + Adds ability of simulating android back/menu key on win32 + Adds support for multiple background music sources to CocosDenshion for Blackberry + + Eli Yukelzon (reflog) + add a helper method to draw filled polygons + improvements to CCUserDefaults + + ZhuoShi Shun + contribute the lua binding of CocosDenshion + + Jirka Fajfr + Chris Calm + authors of CCTexturePVR + + RuiXiang Zhou (NetDragon) + XiDi Peng (NetDragon) + AiYu Ye (NetDragon) + authors of lua binding + + Max Aksenov + author and maintainer of Airplay port + + Giovanni Zito + Francis Styck + authors of Marmalade port + + Mat Hopwood( Marmalade official engineer ) + Marmalade support for gles20 branch + + Carlos Sessa + implement the accelerometer module for Android port + + James Chen(dumganhar) + author of Bada port + + Erawppa + implement CCNotificationCenter + + YuLei Liao(dualface) + contribute the factor of lua binding + + jreitman + fix the bug of asynchronous loading resources for iOS + + Nat Weiss + minor enhancements to the Cocos2D-X codebase and Android build scripts + + Qingyun Huang (greathqy) + implement CCHttpRequest + + donaldalanmorrison + fix some warnings and memory leaks + + Yinghui Peng(mustime) + use OpenSL ES to play effects + add TestLua sample + + Dongyang Cai(John-cdy) + add automatically test tools + + Sergey Vikhirev(BorMor) + Remove retina specific methods and logic. + + johnangel + OpenGL framebuffer access violation fix. + Enable Windows XP support in Visual Studio 2012 Update 1. + + Peter Farkas (fape) + contributes Marmalade port for gles20 branch + add Hungarian language support + fixed compilation errors after adding support of webp image format. + + Tomoaki Shimizu (tks2shimizu) + Adding randomObject to CCDictionary. + + Igor Zavorotkin (ivzave) + Adding lua support for linux platform. + + Jozef Prídavok (jpridavok) + Adding CCEditBox implementation for Mac OSX. + + tiantian20007 + Fixing a crash for call runAnimation() in CCBAnimationManagerDelegate::completedAnimationSequenceNamed. + Fixing a bug that CCControl's touch priority is not set correctly; m_nDefaultTouchPriority is never used. + Fixing a syntax error for RENDER_IN_SUBPIXEL macro. + Implement CCDictionary::writeToFile(). + Fixing a bug that unused spriteframes also need to be removed when purgeCachedData. + Adding a method to get duration of timeline for CCBAnimationManager class, it's easy for getting duration of animation in JSB. + + xyhl515 + Fixed a bug that CCControlSwitch::setOn(isOn,false) doesn't work. + Adds VS2012 Express template installing support. + Fixing a logical error in CCDrawNode::drawPolygon. + Fixing a bug that Jsb function getCPBody return type is not right. + + Sergej Tatarincev (SevInf) + Making ScriptingCore.cpp compiled fine with C++11 on iOS. + Using shared NodeLoaderLibrary in CCBReader bindings. + CCEditBox iOS enchantments/bugfixes. + Support variable cell sizes in CCTableView. + + ThePickleMan + Adding 'rotationIsDir' property to ParticleSystem. + DrawNode supports to draw triangle, quad bezier, cubic bezier. + + Jianghua (jxhgzs) + Adding an additional transform for CCNode. + + giginet + Fix CCRepeat#create is recieved bad argument on Lua binding. + + neokim + Adds 'setFont' and 'setAnchorPoint' to CCEditBox. + Workaround for some problems due to UITextField of CCEditBoxImplIOS is attached as a view above OpenGL view. + + Sam Clegg (sbc100) + Author of Native Client port. + Refactor linux build system and fix many warnings. + Fixing a bug where missing packages would cause the script to exit on linux. + Adding 'make run' target for linux projects. + Stripping newlines from log message and fixing linux library location. + Fixing a bug that CCPhysicsSprite was overriding only some of the getPosition methods. + Adding a macro USE_BOX2D to check whether to enable Box2D for linux and nacl port. + Adding Travis build support for linux and NaCl. + Logging assert messages to the console. + Renaming CCScriptSupport::executeAssert to CCScriptSupport::handleAssert. + Adding Native Client support for develop branch (cocos2d-x 3.0) and some warnings fixes. + Cleanup travis build scripts. + Refactoring emscripten building script. + + Peter Young (young40) + Implements setVisible() for CCEditBox. + Fixing a bug that event will not be sent to server when paramMap parameter of logEvent function is nil in plugin-x. + + csy1988525 + Fixing a bug about display result is wrong when invoking CCControlButton:: setHighlighted. + fixed a bug when button's parent is hided, the button still can responce to clicked event. + + Asad ur Rehman (AsadR) + Adding CCNotificationCenter::removeAllObservers(CCObject *target). + + jedy + Fix of CCNode.h's document with doxygen 1.8.3 can't be generated. + + whitegfx + Implementation of kEditBoxInputFlagSensitive setting for CCEditBoxImplIOS. + + Zecken (gelldur) + Fixing a profiling compilation error in CCParticleBatchNode. + Fixing linking errors for TestCPP with libcurl on linux. + Fixing a bug that crash was triggered if there is not `textureFileName`section in particle plist file. + + flamingo (flaming0) + Null pointer check in order to prevent crashes. + Updating spine-runtime to EsotericSoftware/spine-runtimes@5f90386. + + rtissera (Romain TISSERAND) + Adding missing JNIEXPORT / JNICALL declarations. + Fix iOS 4.3 JPEG loading issue. + + Yodesoft + Improving font rendering performance for linux platform. + Reducing function call in nativeInitBitmapDC to improve performance. + Refactoring writable path to "/.config/" for linux platform. + + sjchao + Fixing a display bug when a scrollView nested in another scrollView. + + Éloi Rivard (azmeuk) + Linux OpenAL support. + Added some guards to prevent Eclipse to compile twice the same class. + Linux Eclipse projects updates + Refactored emscripten-build.sh, it's no longer need to be edited to make emscripten work. + Creation of CCDeprecated-ext.h + Use of a single emscripten HTML template file. + Added some guards in fileutils. Fixed a bug in emscripten file utils. + Added emscripten keyboard support + Clang support for Linux. + Multiple emscripten template support. Emscripten multiple resolutions support. + Toplevel Makefile refactoring. + Ignored files generated by cmake. + Added GLFW include path for Fedora. + Linux javascript bindings support. + + elmiro + Correction of passed buffer size to readlink and verification of result return by readlink. + + harikrishnar (Hari Krishna) + Wrong logic in CCArray::initWithObjects. + Fixing a bug that button should not get respond if its parent is invisable. + + rogerzanoni + Fixing a linking error that libpthread and libGL libraries need to be linked on linux. + Fixing a compiling error of [-Werror=array-bounds] when compiling Box2dTestBed. + + zhanghaojie + Fixing a bug that anchorPoint property of CCScale9Sprite doesn't work in CCBReader. + + MarkEHenderson (Mark Henderson) + Fixing of variable initialization in SpriteBatchNode. + + akira-cn + Adding response for back and menu keypad event for Android. + + lgb (Oleg) + Fixing a compilation error for BlackBerry PlayBook. + Comparing float number by using epsilon and absolute difference. + + jotel (Jaroslaw Lewandowski) + Fixing a bug that wrong type of argument signature is used in setAccelerometerIntervalJNI function. + Fix for broken of ccArrayGetIndexOfObject after merging this commit(076f38c). + Explicitly initialising CCAcceleration structure. + Add support to save/retrieve CCData into/from CCUserDefault. + Text Shadows fix + Solving 'black screen' on android. + + MarcelBloemendaal + Adding secureTextEntry property to CCTextFieldTTF. + + brawsome + Adding new macro CCB_MEMBERVARIABLEASSIGNER_GLUE_WEAK to CCBMemberVariableAssigner.h. + Adding CCLOG before original path is returned in CCFileUtils::fullPathForFileName to aid in debugging. + Optmization to ccArrayGetIndexOfObject. + + sunzhuoshi + Adding support for javascript bytecode. + Fixing bad js constant names. + + ptekchand (Pranav Tekchand) + Supporting negative node scales for CCScrollView. + + coolengineer (Hojin Choi) + Refactoring callback selector for HttpResponse. + + djh- + Fixing a bug that displayed color of CCDrawNode is incorrect when VAO is disabled. + + acai (beingstudio) + Fix of null pointer access in CCBAnimationManager::getRunningSequenceName. + + metalgit92 + Adding const qualification to some CCNode's getters + + Clarinexus + Fixing a bug that setColor and setOpacity of CCControlButton and CCScale9Sprite are broken. + + Xander84 + Fixing a bug in CCBValue::getByteValue. + + smshuja + Fixing a bug that pointQueryFirst returns invalid Shape when a shape is not found in JSB. + Fixing a bug that New PivotJoint can't access 4 parameters like in html5 version. + Fixing a bug that Pivotjoint constructor and pointQueryFirst in Space class will return false instead of invalid shape object. + + Carsten Sandtner (casarock) + Adding XMLHttpRequest support for JSB. + + Lee, Jae-Hong (pyrasis) + Maintainer of tizen port. + localStorageGetItem crashes when column text is NULL. + fix image bug on Android + + lumendes + Updating spine-runtime to EsotericSoftware/spine-runtimes@5f90386. + + sunxiaoyu + Refactoring CCEditBox to add UITextField only when keyboard was opened, remove it when keyboard was closed. + + edwardzhou (Edward Zhou) + Correcting the type detecting order for Lua CCBProxy::getNodeTypeName. + Casting variables to their own type, and print warning info if no corresponding lua callback function instead of crash. + fix of WebSocket url parse error for 'ws://domain.com/websocket' pattern. + Fixed a bug that Websocket doesn't support send/receive data which larger than 4096 bytes. + + musikov + Fixing a bug that missing precision when getting strokeColor and fontFillColor + + hawkwood (Justin Hawkwood) + Fixing a bug that EditBox doesn't show any text if it's initialized with text. + + wtyqm (zhang peng) + Fixing a bug that ccbRootPath wasn't passed to sub ccb nodes. + + smilingpoplar (YangLe) + Fixing a bug that CCScale9Sprite doesn't support rotated spriteframe in atlas. + + xxuejie + Add namespace prefix to selector macros + + hannon235 (Chris) + Fixing a bug that the submenu of ExtensionTest in TestCpp can't scroll. + Implements a socket.io client extension and adds a test case. + Implements 'SIODelegate::fireEventToScript' method to integrate JSB event handling with the original native code. + + pktangyue + Fixing a bug that CCScale9Sprite::setInsetLeft/XXX can't work for rotated sprite frame. + Fixing a bug that Color and Opacity of Scale9Sprite will not be changed when it's added to NodeRGBA and run with FadeIn/Out actions. + Adding *.xccheckout to gitignore. + + jllust + Fixing a bug that CCLabelBMFont crashes in glDrawElements of CCTextureAtlas::drawNumberOfQuads sometimes. + + Sam Gross (colesbury) + Ignoring formatting specifiers in JavaScript log messages. + Make bindings-generator supports to bind std::function argument. + + James Munro (jdmunro) + Added JSB support for ccpDistanceSQ. + + Rafael (rafaelx) + A warning fix of AL_INVALID_NAME and AL_INVALID_OPERATION in SimpleAudioEngineOpenAL.cpp. + + metalbass + Fixing an issue that sigslot::_connection_base# (from 0 to 8) don't have virtual destructors. + + thp + Port Cocos2D-X to Qt 5 + + Nako Sung (nakosung) + Fixing a bug that wrong logic when pass an empty std::vector to WebSocket::init. + Exposing cc.RemoveSelf to JS. + exposed AssetsManager to javascript and added multiple-assetsManager support + + dotsquid + Fixed the crash caused by improper deletion of VBOs and VAO in ParticleSystemQuad. + + maciekczwa + Fixing a bug that stroke color with channel color values other than 255 doesn't take effect on android. + + zcgit + a potential bug fix in Layer::init. + + gkosciolek + Fixing a bug that observers with the same target and name but different sender are the same observer in NotificationCenter. + + xbruce + Fixing a bug that crash appears when extending cc.ScrollView in JS. + Fixing a bug that cc.registerTargettedDelegate doesn't support pure js object as its target. + + elwinarens (Elwin Arens) + Minor spelling changes in description of CCScene.h + + signmotion (Andrey Syrokomsky) + Fixed some compiling-warnings (MSVC2012). + + michaelcontento + [Android] use onWindowFocusChanged(bool) instead of onResume()/onPause() + Prevent nullptr access in AssetsManager + [Android] re-introduce Cocos2dxHelper.runOnGLThread(Runnable) + [Android] added EGL_RENDERABLE_TYPE to OpenGL attributes + Android: add xlargeScreens="true" to supports-screens + Trigger onKeyReleased only after the key has been released. + Makes Colors are now comparable and explicit convertible + + bmanGH + Used gl caching functions in TexturePVR::createGLTexture() + Configuration of VAO in runtime + Added setUniformLocationWithMatrix2fv, setUniformLocationWithMatrix3fv mothed into GLProgram class + Fixed a bug that object which isn't in Vector would also be released when invoking Vector::eraseObject. + Fixed a bug that Timer::cancel always call Director::getInstance()->getScheduler() even in another Scheduler. + Fix crash if label's type is STRING_TEXTURE and label->sortAllChildren is called + + metadao + make create_project.py more pythonic and fix some typoes + + timothyqiu + Project creator: use absolute path for json config files + Documentation fixes + A better way to locate project creator + + rablwupei + Fixed a memory leak in ScriptingCore::runScript() + Fixed a memory leak in Spine. + Added support of passing array to cc.Sequence.create and cc.Spawn.create. + Fixed a bug that sys.localStorage.getItem() does not support non-ascii string. + Fixed a memory leak in XMLHttpRequest. + Fixed a bug that wrong convention to jsval in cccolor4f_to_jsval and cccolor3b_to_jsval. + + Keita Obo (ktaobo) + Avoid unnecessary object duplication for Scale9Sprite. + + jimmystar + Fixed a bug that cc.Scheduler.schedule(target, func) without repeat argument couldn't repeat schedule forever on device. + + XiaoLongHan (kpkhxlgy0) + Fixed a bug that outside of keyboard can't be responded to close keyboard when using EditBox. + + lettas + A fix for multi-platform template. + + HoGarfield (garfield_ho) + Fixed a bug that CCBReader can't play sequence automatically in JSB. + Could not set next animation in CCBAnimationCompleted callback. + Fixed missing to add JSAutoCompartment when invoking JS functions from C++. + CCBReader: To set anchor point to 0,0 when created by loader. + Potential crash when websocket connection closes. + + lite3 + Fixed a bug that Node's anchor point was changed after being added to ScrollView. + Added HttpClient::sendImmediate() + Added operator == != for Value + + superrad + Clear NoSuchMethodError Exception when JniHelper fails to find methodID + + Nite Luo (darkdukey) + Added Mouse Support For Desktop Platforms. + + ledyba + Fixed a bug that EventListeners can't be removed sometimes. + Fixed a bug that the data size has to be specified when parsing XML using TinyXML. + Closed X display after getting DPI on Linux. + + Luis Parravicini (luisparravicini) + Fixed typos in create_project.py. + + xhcnb + Device::setAccelerometerEnabled needs to be invoked before adding ACC listener. + Fixed a bug that it will get wrong custom properties when use different count custom properties in CocosBuilder. + Correct TotalTime of ActionObject + + bopohaa + Fixed a bug that Webp test crashes. + + lajos + FontTest isn't rendered correctly with custom TTF font on Mac platform. + + hulefei + Added gui namespace before SEL_TouchEvent. + + zhiqiangxu + Fixed a logic error in ControlUtils::RectUnion. + Fixed an issue that there is an useless conversion in ScrollView::onTouchBegan. + Deleted several lines of useless code in ScrollView::deaccelerateScrolling. + Fixed that ScrollView should implement ActionTweenDelegate. + + yinkaile (2youyouo2) + Maintainer of Armature Bone Animation. + + dmurtagh + Fixed a bug that UserDefault::getDoubleForKey() doesn't pass default value to Java. + + seobyeongky + Updates spine runtime. + Fixed a potential bug in Data's copy constructor. + + luocker + Fix a bug that string itself is also modified in `String::componentsSeparatedByString`. + + omersaeed + Fix a bug that game will crash if connection breaks during download using AssetManager. + + SBKarr + AngelCode binary file format support for LabelBMFont. + + zarelaky + OpenAL context isn't destroyed correctly on mac and ios. + + kicktheken (Kenneth Chan) + Fixed a bug that the setBlendFunc method of some classes wasn't exposed to LUA. + Fix lua project template crash on iOS5.1 device + Fix layout constant syntax error in lua-binding + + andyque + Fixed a bug that missing to check self assignment of Vector, Map, Value and String. + Fixed a bug that move assignment operator doesn't clear previous content bug. + Fixed the compile error of Map's getRandomObject. + + daltomi + Fixed a typo in Director class. + Removed an unnecessary boolean flag in CCFontAtlasCache.cpp. + Used 'cbegin/cend', 'const std::string' where it's reasonable. + + v1ctor + ControlSlider supports to set selected thumb sprite. + ControlButton supports to set scale ratio of touchdown state + + akof1314 + TestCpp works by using CMake and mingw on Windows. + + Pisces000221 + Corrected a few mistakes in the README file of project-creator. + Corrected a mistake in README. + Fixed a bug that a string which only contains CJK characters can't make a line-break when it's needed. + + hbbalfred + Fixed a bug that crash if file doesn't exist when using FileUtils::getStringFromFile. + Fixed a bug that cc.BuilderReader.load( path, null, parentSize ); was not allowed. + + liang8305 + Use multiple processes according the number of cores to build android project + + pandamicro + Exposed SAXParser to JS, it is used for parsing XML in JS. + + hanjukim + Fixed a bug that color and opacity settings were not applied when invoking Label::alignText. + Fixed the bug that FileUtils:getStringFromFile() may return a unterminated string + Skip BOM in DataReaderHelper::addDataFromJsonCache() + + bagobor + Fixed a memory leak in AssetsManager::uncompress. + Code format fix and small optimizations in cocostudio/CCActionNode.cpp. + + ucchen + Exposed the missing data structures of Spine to JS. + + justmao945 + Corrected the definition of CMake variables. + + maksqwe + Fixed string size check in BitmapDC::utf8ToUtf16 on win32 and assert condition in TriggerMng. + + wefiends + s3tc compressed textures with no mipmaps fail to be loaded. + Added createWithFullscreen overloaded method that sets video mode + + floatinghotpot + Fixed a bug that no callback is invoked when websocket connection fails + + Linghui + Updated README of template: fix wrong platform java path. + + seemk + Fixed crash if invoking Director::end() on WINDOWS. + + odedsh + Fixed a bug that loading custom fonts from ttf file fails on windows. + + Wilhansen + Fixed a bug that spine::Skeleton would not be updated after re-adding to scene. + + huangml + Fixed a bug that Node::removeAllChildrenWithCleanup() does not remove PhysicsBody. + + newnon + Adds getCurrentLanguageCode() which returns iso 639-1 language code + Adds support for get response when Activity's onActivityResult is triggered + Improve Android projects + Android jni error clear & more readable log + + youknowone + Adds iOS-like elastic bounceback support for cocos2d::extension::ScrollView + + aeonmine + Fixed ActionObject memory leak in ActionManagerEx::initWithDictionary + + LoungeKatt + Corrected a mistake of building android project in README.md + + flashjay + Remove deprecated code in lua tests & template + + zukkun + Fixed incorrect function invocation in PhysicsBody::setAngularVelocityLimit + + dbaack + Fixed a bug that removing and re-adding an event listener will trigger assert + + zakmandhro + A typo fix in RELEASE_NOTES.md + + mgcL + A potential memory leak fix in value's default constructor + Added ScriptHandlerMgr::destroyInstance to avoid memory leak + + Mazyod + Fixed a bug that HTTPClient reports 2xx status codes as errors + Added missing Text Font and Placeholder feature of EditBox for Mac platform + HttpRequest uses std::function as callback + EditBox: mac secure input + Fix a bug that can not get/set text in password mode on Mac OS X + + iSevenDays + Fixed a bug that the result of 'malloc' is incompatible with type 'unsigned char *' in Image::saveImageToPNG + Fixed a potential memory leak in CCEditBoxImplIOS.mm + Fixed incompatible pointer conversion in external/chipmunk/src/cpArray.c + Fixed memory leak in 'Image' + Fixed loosing precision when using 'recv' in 'Console' + Fixed link error with Xcode 6 when building with 32-bit architecture + + ololomax + Fixed a potential crash in SceneReader::createNodeWithSceneFile + + gaoxiaosong + Fixed a warning in cpCollision.c + + sachingarg05 + Re-added orientation change callback in java activity + GLProgram should not abort() if shader compilation fails, returning false is better. + + dplusic + Fixed that cc.pGetAngle may return wrong value + + zifter + Fixed a bug that the effect of particle loaded from CocosBuilder is incorrectly + Fix twice calling onExit + Fixed bug with cascade opacity and color for control button + Fix Progress Action. Not working with charging from 100 to 0. + + twhittock + Fixed a bug that Application::run returns wrong value on Mac platform + + asmodehn + Added SDK / NDK detection based on PATH in Setup.py + + myourys + Make cpp template support Eclipse c++ project + + NatWeiss + Fix compilation error using arch i386 + + favorcode + Correct some doxygen comment + + asuuma + Fix Repeat will run one more over in rare situations. + + uqtimes + Fix NSNotificationCenter and NSTimer leaks + + ntotani + fix building error in lua-binding in release mode + + kezhuw + AutoReleasePool manager improvement + + zhouxiaoxiaoxujian + Added TextField::getStringLength() + Add shadow, outline, glow filter support for UIText + Fix UITextField IME can't auto detach + Add getChildByName method for get a node that can be cast to Type T + + QiuleiWang + Fix the bug that calculated height of multi-line string was incorrect on iOS + + Rumist + Fix the bug that the result of Director->convertToUI() is error. + + kyokomi + Fix the bug that UIButton doesn't support TTF font + Fix a bug of TextReader + Fix a bug that UITextField doesn't support TTF font + + gin0606 + Add a new line at the end of a file + Fix a bug that crash happened when try to remove videoView(STATE_PLAYBACK_COMPLETED) in android + + billtt + Fixed a bug that Node::setScale(float) may not work properly + + Teivaz + Custom uniform search optimization + + chareice + Make `setup.py` work on zsh + + taug + Could add seach path and resolution order path in front. + + CaiCQ + Fix a but that LabelTTF may lost chinese characters on linux + +Retired Core Developers: + WenSheng Yang + Author of windows port, CCTextField, + Designer of CCApplication/CCEGLView/platform structure. + He's working together with 2dx core team but leading FishingJoy game + + Bin Zhang + core-team member but put himself in FishingJoy game since 2012. + + RongHong Huang (flyingpaper) + Author of cocos2d-xna and spent all his time on wp7. + + timur-losev + Fix a bug that GLProgramCache::addGLProgram() can not replace existing program + +Cocos2d-x can not grow so fast without the active community. +Thanks to all developers who report & trace bugs, discuss the engine usage in forum & QQ groups! +Special thanks to Ricardo Quesada for giving us lots of guidances & suggestions. diff --git "a/21451144\351\203\221\347\205\234/LastHW/cocos2d/CHANGELOG" "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/CHANGELOG" new file mode 100644 index 00000000..ced3fc67 --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/CHANGELOG" @@ -0,0 +1,1859 @@ +cocos2d-x-3.2 Jul.17 2014 + [NEW] Node: added getChildByName method for get a node that can be cast to Type T + [NEW] FileUtils: could add seach path and resolution order path in front + + [FIX] Animation3D: getOrCreate is deprecated and replaced with Animation3D::create + [FIX] Animate3D: setSpeed() accept negtive value, which means play reverse, getPlayback and setPlayBack are deprecated + [FIX] EditBox: can not set/get text in password mode on Mac OS X + [FIX] Game Controller: joystick y value inversed on iOS + [FIX] GLView: cursor position is not correct if design resolution is different from device resolution + [FIX] Label: color can not be set correctly if using system font on iOS + [FIX] LabelTTF: may lost chinese characters on linux + [FIX] Lua-binding: support UIVideoPlayer + [FIX] Node: setRotation3D not work based on anchor point + [FIX] Node: modify regular of enumerateChildren, now it just searchs its children + [FIX] Physics integration: body shape will be wrong when using negative value to scale + [FIX] ScrollViewDelegate: make the scrollView delegate methods optional + [FIX] Setup.py: will crash on windows because of checking `zsh` + [FIX] SpriteBatchNode: opacity can not work + [FIX] Sprite3D: may crash on Android if playing animation and replace Scene after come from background + [FIX] UIwidget: opacity is wrong when replace texture + [FIX] UIRichText: will crash when using utf8 string and the length exceed specified length + [FIX] UIText: can not wrap words automatically + [FIX] UITextField: keyboard can not hide if touching space outside of keyboard + [FIX] UITextField: can not wrap words automatically + [FIX] UIVideoPlayer: can not exit full screen mode on Android + + [FIX] Others: don't release singleton objects correctly that are needed in the whole game, which will be treated + as memory leak when using VLD. + [FIX] Others: compiling error when building for iOS 64-bit devices with Xcode6 beta3 + + +cocos2d-x-3.2rc0 Jul.7 2014 + [NEW] FastTMXTiledMap: added fast tmx, which is much more faster for static tiled map + [NEW] GLProgramState: can use uniform location to get/set uniform values + [NEW] HttpClient: added sendImmediate() + [NEW] Label: support setting line height and additional kerning of label that not using system font + [NEW] Lua-binding: Animation3D supported + [NEW] Lua-binding: UIEditor test cases added + [NEW] Lua-binding: UI focus test cases added + [NEW] Node: added getName(), setName(), getChildByName(), enumerateChildren() + and addChild(Node* node, int localZOrder, const std::string &name) + [NEW] Node: physical body supports rotation + [NEW] Sprite3D: support c3b binary format + [NEW] utils: added findChildren() to find all children by name + [NEW] Value: added operator == != + + + [FIX] Armature: blend func has no effect + [FIX] Armature: crashed when remove armature in frame event + [FIX] Animation3D: doesn't load original pose, which leads to wrong effect if not playing animation + [FIX] Animation3D: animation for unskined bones lost + [FIX] FileUtils: getStringFromFile may return a unterminated string + [FIX] Lua-binding: Sequence:create will cause drop-dead issue + [FIX] Lua-binding: lua-tests can’t be loaded on 64 bits iOS devices and Linux + [FIX] Node: Node::setScale(float) may not work properly + [FIX] Physics integration: child node can move with its father + [FIX] Physics integration: support scale + [FIX] Sprite3D: 20% performce improved, simplify shader, use VAO and batch draw + [FIX] Studio support: NodeReader may cause crash + [FIX] UIButton: doesn't support TTF font + [FIX] UIButton: `getTitleColor()` doesn't equal to the value set by `setTitleColor()` + [FIX] UIListView: addEventListener can not work + [FIX] UIListView: element position is changed a little when you click and up a list view without move + [FIX] UIListView: element will respond to item_end event when end of scrolling a list view + [FIX] UIVideo: crash when try to remove videoView(STATE_PLAYBACK_COMPLETED) on android + [FIX] WP8: crash of utils::captureScreen() + +cocos2d-x-3.2-alpha0 Jun.17 2014 + [NEW] Console: add a command to show engine version + [NEW] Node: added setter/getter for NormalizedPosition(). Allows to set positions in normalized values (between 0 and 1) + [NEW] Scene: Added createWithSize() method + [NEW] TextField: added getStringLength() + [NEW] TextureCache: added unbindImageAsync() and unbindAllImageAsync() + [NEW] utils: added captureScreen() + [NEW] UIText: added shadow, outline, glow filter support + [NEW] Sprite3D: support 3d animation + [NEW] Animation3D: 3d animation + + [FIX] Application.mk: not output debug message in release mode on Android + [FIX] Android: 3d model will be black when coming from background + [FIX] Android: don't trigger EVENT_COME_TO_BACKGROUND event when go to background + [FIX] Cocos2dxGLSurfaceView.java: prevent flickering when opening another activity + [FIX] Director: Director->convertToUI() returns wrong value. + [FIX] GLProgram: not abort if shader compilation fails, just retuan false. + [FIX] GLProgramState: sampler can not be changed + [FIX] Image: Set jpeg save quality to 90 + [FIX] Image: premultiply alpha when loading png file to resolve black border issue + [FIX] Label: label is unsharp if it's created by smaller font + [FIX] Label: Label's display may go bonkers if invoking Label::setString() with outline feature enabled + [FIX] Label: don't release cached texture in time + [FIX] Label: calculated height of multi-line string was incorrect on iOS + [FIX] Lua-binding: compiling error on release mode + [FIX] Lua-binding: Add xxtea encrypt support + [FIX] Node: setPhysicsBody() can not work correctly if it is added to a Node + [FIX] Node: state of _transformUpdated, _transformDirty and _inverseDirty are wrong in setParent() + [FIX] Node: _orderOfArrival is set to 0 after visit + [FIX] Other: link error with Xcode 6 when building with 32-bit architecture + [FIX] RenderTexture: saveToFile() lost alpha channel + [FIX] Repeat: will run one more over in rare situations + [FIX] Scale9Sprite: support culling + [FIX] Schedule: schedulePerFrame() can not be called twice + [FIX] ShaderTest: 7 times performance improved of blur effect + [FIX] SpriteFrameCache: fix memory leak + [FIX] Texture2D: use image's pixel format to create texture + [FIX] TextureCache: addImageAsync() may repeatedly generate Image for the same image file + [FIX] WP8: will restart if app goes to background, then touches icon to go to foreground + [FIX] WP8: will be black if: 1. 3rd pops up a view; 2. go to background; 3. come to foreground + [FIX] WP8: project name of new project created by console is wrong + [FIX] WP8: missing texture after app switch + + [3RD] curl: will crash if use https request on iOS simulator + [3RD] curl: update OpenSSL to v1.0.1h + +cocos2d-x-3.1.1 May.31 2014 + [FIX] GLProgramState: restores states after coming from background + +cocos2d-x-3.1 May.24 2014 + [FIX] EventKeyboard::KeyCode: key code for back button changed from KEY_BACKSPACE to KEY_ESCAPE + [FIX] Label: may crash when using outline effect + [FIX] Label: using outline and invoking 'Director::setContentScaleFactor' cause label show nothing + [FIX] ProgressTo: will start from 0 when it reaches 100 + [FIX] Physics integration: may crashes if remove bodies at physics contact callback + [FIX] UIWidget: copyProperties() lost copy some properties + [FIX] WP8: orientation is not correct when it is set to portrait + [FIX] WP8: fix for precompiled shaders and precompiled headers + [FIX] WP8: template supports orientation + +cocos2d-x-3.1-rc0 May.18 2014 + [NEW] Cocos2dxActivity: Adds a virtual method to load native libraries. + [NEW] Directory Structure: reorder some files within the cocos/ folder + [NEW] Sprite3D: a node that renders 3d models + [NEW] EditBox: support secure input on Mac + + [FIX] ControlButton: cascade opacity and color error + [FIX] Director: twice calling of onExit + [FIX] Math: Vector2->Vec2, Vector3->Vec3, Vector4->Vec4, Matrix->Mat4 + [FIX] GLProgram: uniform CC_Texture0 is pre-defined by cocos2d. MUST NOT be defined in shaders + [FIX] GLProgramState: Supports multitexturing + [FIX] Studio:ActionObject: correct TotalTime of ActionObject + [FIX] Studio: FrameData::copy doesn't copy `isTween` property + +cocos2d-x-3.1-alpha1 May.9 2014 + [NEW] Animate: Dispatch a custom event after an animation frame is displayed + [NEW] GLProgram: Easy to customize uniforms and attributes by using the new class GLProgramState + [NEW] Template: cpp project support Eclipse c++ project + [NEW] UI: add navigation support + [NEW] UI: add a widget to play video + [NEW] VS: support VS 2013 + + [FIX] Audio: pause sound automatically when go to background on Android + [FIX] Director: remove keepData and releaseData + [FIX] Label: label is unsharp if it's created by system font with small size on iOS & Mac OS X + [FIX] Label: Label created with system font is still visible when its opacity is 0 + [FIX] Label: Label created with system font havs black border on WP8/WINRT + [FIX] Lua: A potential crash in the bindings of sp.SkeletonAnimation.setAnimation + [FIX] Lua: Lua template should fail to launch on lua error + [FIX] ParticleSystem: Particles can be created without a texture + [FIX] ParticleSystem: yFlippedCoord behavior fixed. + Added cocos2d/tools/particle to fix particles that were based on the old (broken) behaviour + [FIX] Setup.py: Added SDK / NDK detection based on PATH + [FIX] UIText: support TTF + [FIX] Value: all types share the same union to reduce memory usage + +cocos2d-x-3.1-alpha0 May.1 2014 + [NEW] Android: Adds support for get response when Activity's onActivityResult is triggered + [NEW] Core: Adds RefPtr smart pointer support + [NEW] Label: supports auto-culling + [NEW] Math: New unified math library that supercedes Kazmath, CCGeometry and CCAffine* + [NEW] Test: Adds a sample for making a outline sprite by using a custom shader + + [FIX] Application: Application::run returns wrong value on Mac platform + [FIX] Build scripts: Improved cmake files for Linux, and Android.mk for Android + [FIX] Image: saveToImage may cause memory leak + [FIX] Lua: cc.pGetAngle may return wrong value + [FIX] Network: HttpRequest uses std::function as callback + [FIX] Particle: The effect of particle loaded from CocosBuilder is incorrectly + [FIX] ParticleSystem: particle direction in verticality is opposite when "configName" has value and "yCoordFlipped" is -1 + [FIX] Physics: PhysicsSprite's transform couldn't be updated + [FIX] Value: default value changed to false + [FIX] WP8: Some bug fixes + +cocos2d-x-3.0 Apr.23 2014 + [NEW] Lua: add `RichText` test cases + [NEW] EditBox: Added missing Text Font and Placeholder feature for Mac platform + + [FIX] cocos console: Zipalign the apk generated with release mode + [FIX] Director: Application crashes on closing if CC_ENABLE_CACHE_TEXTURE_DATA is enabled + [FIX] Image: memoery leak + [FIX] Image: crashes when save a jpg file + [FIX] Lua: 'EditBox' can't response 'changed','ended' and 'return' event on Windows + [FIX] Lua: new project will crash on iOS 5.1 devices + [FIX] Others: compiling error when CC_LABELBMFONT_DEBUG_DRAW or CC_LABELATLAS_DEBUG_DRAW is enabled + + [3rd] libcurl: support ssl again on iOS + +cocos2d-x-3.0rc2 Apr.15 2014 + [NEW] Event: Adds `EventListener::setEnabled/isEnabled` to support enable/disable event listeners + [NEW] GLView: Added createWithFullscreen overloaded method for selecting monitor and setting video mode + + [FIX] Android: Cocos2dxHelper.runOnGLThread() can't work + [FIX] Animation: Added 'loops' parameter to Animation::createWithSpriteFrames + [FIX] Audio: can not resume after pausing on windows + [FIX] Audio: stopalleffect lead to stop background music on WP8 + [FIX] Audio: play effect may lead to memory leak on WP8 + [FIX] CocoStudio: Potential crash in SceneReader::createNodeWithSceneFile + [FIX] Control: ControlButton can't swallow touch event + [FIX] Event: Removing and re-adding an event listener will trigger an assert + [FIX] Event: A potential crash when unregistering listener right after its registration + [FIX] Event: EventDispatcher::setDirtyForNode doesn't consider node's children + [FIX] FileUtils: 'isFileExist' doesn't consider SearchPaths and ResolutionOrders + [FIX] Image: The result of 'malloc' is incompatible with type 'unsigned char *' in Image::saveImageToPNG + [FIX] JNI: doesn't cache classloader which may cause crash on Android devices with 4.2 or upper version + [FIX] Network: HTTPClient reports 2xx status codes as errors + [FIX] Lua: Added ScriptHandlerMgr::destroyInstance to avoid memory leak + [FIX] Physics: Skips one frame when delta time is equal to zero + [FIX] Physics: PhysicsShapeEdgeChain::init() always return false + [FIX] Setup: Force updating environment variables in setup.py + [FIX] Value: A potential memory leak in value's default constructor + +cocos2d-x-3.0rc1 April.2 2014 + [NEW] Application: Adds getCurrentLanguageCode() which returns iso 639-1 language code + [NEW] cocos2d::extension::ScrollView: Elastic bounce back effect support + [NEW] Constructor: Added CC_CONSTRUCTOR_ACCESS macro to re-define constructor/initXXX methods to 'public' access. + [NEW] Label: Added new methods 'set(Anti)AliasTexParameters' for enabling/disabling antialias + + [FIX] Android: Reloaded texture is not shown if it has the mipmap + [FIX] Android: Application may become black at first time entering on some devices + [FIX] Audio: Stopped music could also be resumed on iOS + [FIX] CCBReader: Wrong logic in CCBAnimationManager::moveAnimationsFromNode + [FIX] CocoStudio: ActionObject memory leak in ActionManagerEx::initWithDictionary + [FIX] Console: initialize some variables that are not initilized in destructor + [FIX] Console: refactor 'upload' command, encode file with base64, detach 'upload' from main loop + [FIX] EventDispatcher: Potential crashes in EventDispatcher while using SceneGraphPriroity listeners + [FIX] FileUtils: addSearchResolutionsOrder doesn't check whether there is a 'slash' at the end of path + [FIX] FileUtils: Boolean value could not be written to specified plist file + [FIX] GLView: Can't receive touchEnded event when mouse up outside of window on desktop platforms + [FIX] Image: Some functions and variables in Image class is private, it should be protected + [FIX] Label: Crash if label's type is STRING_TEXTURE and label->sortAllChildren is called + [FIX] Label: Display incorrect of multi-line label if invoking 'getLetter' + [FIX] Label: Default Anchor point isn't in middle and shadow offset doesn't consider contentScaleFactor + [FIX] Label: Label's color is incorrect if it's created by font name + [FIX] Label: Missing letters if using old LabelTTF and running on iPhone 64bit simulator(device) + [FIX] Label: Refactor implementation of label's shadow + [FIX] Label: Stroke was not 'outside stroke' for Label which is generated by 'Font name' + [FIX] Label: Wrong logic in Label::setFontAtlas + [FIX] Label: Read file more than once for label created by different font size + [FIX] Label: Getting wrong rectangle by LabelTTF(LabelBMFont)::getBoundingBox. + [FIX] Label: Possible crash if invoking FontAtlasCache::purgeCachedData + [FIX] LuaBinding: Adds `addCustomHandler` in the ScriptHandlerMgr + [FIX] LuaBinding: Upgrading LuaSocket to the latest version + [FIX] Menu: Added missed scaleZ feature in ScaleTo and ScaleBy. + [FIX] Network: Implements 'SIODelegate::fireEventToScript' method to integrate JSB event handling with the original native code. + [FIX] Network: WebsocketTest crashes on win32, mutex varible may be deleted while it's still locked + [FIX] ParticleSystem: Particle will stop animating if it was removed and re-added to another node + [FIX] ParticleSystem: Set particle visible to false then set to true cause crashes + [FIX] Physics: Incorrect function invocation in PhysicsBody::setAngularVelocityLimit + [FIX] Physics: PhysicsBody::setGravityEnable doesn't work correctly sometimes + [FIX] Physics: PhysicsBody moves randomly when switch foreground/background + [FIX] Physics: Refactors PhysicsDebugDraw + [FIX] Tests: Memory leak in CocosDenshionTest + [FIX] Texture2D: Support to update partial texture + [FIX] Tools: The apk generated with release mode in cocos-console can't be installed + [FIX] UI: Widget::addNode is confused, need to add ProtectedNode to remove addNode API. + [FIX] UI: Adding HBox, VBox layouts, refactoring 'doLayout' function + + [3RD] Chipmunk: Upgraded to v6.2.1 + [3RD] libwebsockets: Upgraded to v1.23 + +cocos2d-x-3.0rc0 March.14 2014 +[All] + [NEW] Action: RotateBy supports 3D rotations + [NEW] Bindings: Using python to automatically generate script bindings + [NEW] ccConfig.h: removed support for CC_TEXTURE_ATLAS_USE_TRIANGLE_STRIP + [NEW] Console: Added command: 'autotest run|main|next|back|restart'. + [NEW] Console: Added 'resolution', 'projection' commands. Improved API + [NEW] Console: Added more commands: director resume|pause|stopanimation|startanimation. + [NEW] Console: Added command: 'touch tap|swipe' to simulating touch events. + [NEW] Console: Added command: 'upload filename filesize' to upload a file to writable path. + [NEW] Director: Displays 'Vertices drawn' in the stats. Useful to measure performance. + [NEW] GLProgram: initWithVertexShaderByteArray() -> initWithByteArrays() + [NEW] GLProgram: initWithVertexShaderFilename()a -> initWithFilenames() + [NEW] GLProgram: addAttribute() -> bindAttributeLocation() + [NEW] Label: can custom shadow and outline size + [NEW] Label: LabelTTF was re-implemented as a wrapper of Label + [NEW] Node: Added set/get Position3D() and set/get Rotation3D() + [NEW] Node: Calculates rotation X and Y correctly. + [NEW] Node: set/get VertexZ() -> set/get PositionZ() + [NEW] Node: setRotationX() -> setRotationSkewX() + [NEW] Node: setRotationY() -> setRotationSkewY() + [NEW] Node: visit() and draw() new arguments: Renderer, parentTransform, and whether or not the parentTransform has changed since the last frame + [NEW] Language: Added Dutch support + [NEW] Sprite: Added auto-culling support. Performance increased in about 100% when many sprites are outside the screen + [NEW] Setup.sh: added script to set up environment needed for cocos2d-x + [NEW] Scheduler: Added new API [ schedule(std::function, ...), schedule(member_func, ...) ], deprecated the old API [ scheduleSelector(member_func, ...) ] + [FIX] Action: FadeIn and FadeOut behaviours is incorrect if it doesn't start from an edge value( 0 or 255) + [FIX] Array: crash when invoking initWithObjects() + [FIX] Action: Merge cocostudio/CCActionXxx to CCAction + [FIX] Bindings: Adds a macro to disable inserting script binding relevant codes + [FIX] Bindings: Supports 'setTimeout' and 'setInterval' in JSB + [FIX] Bindngs: Exposes the missing data structures of Spine to JS + [FIX] Bindings: cc.BuilderReader.load( path, null, parentSize ); was not allowed + [FIX] Console: crashes on Windows + [FIX] ControlButton: Crash if it was removed from parent in its callback + [FIX] CocoStudio: Logical error in 'TriggerObj::detect()' + [FIX] Director: Crash if invoking Director::end() on WINDOWS + [FIX] Director: setAnimationInterval has not effect on Mac + [FIX] EditBox: position would not be updated if its parent's position changed + [FIX] EditBox: Voice recognition input would cause crash on ios7 + [FIX] EGLView: renamed to GLView, no longer a singleton, easier to customize + [FIX] EventDispatcher: removeAllEventListeners() remove event listeners used internally, make textures not reload on Android when come from background + [FIX] EventDispatcher: dispatchEventToListeners() causes "out of range" exception + [FIX] Image: s3tc compressed textures with no mipmaps fail to be loaded + [FIX] Label: A string which only contains CJK characters can't make a line-break when it's needed + [FIX] Label: Character would not be aligned on the baseline when label using distance field + [FIX] Label: Color and opacity can't take effect + [FIX] Label: Font size passed to new Label didn't consider 'contentScaleFactor' + [FIX] Label: loading custom fonts from ttf file fails on windows + [FIX] Label: LabelAtlas::setColor takes no effect + [FIX] MotionStreak: Added unimplemented position getter/setter + [FIX] Node: setAdditionalTransform receives a pointer and not a const reference + [FIX] Node: setRotation() moves opposite when node has a physics body + [FIX] Node: Can not use Node::setPhysicsBody to reset a physics body + [FIX] Object: Object -> Ref, and remove unneeded functions + [FIX] Other: Removes samples except testcpp|testjavascript|testlua. Moves sample games to `cocos2d/samples` repo + [FIX] Physics integration: Improves physical performance + [FIX] Physics integration: PhysicsContact::_contactData may be double freed. + [FIX] Physics integration: PhysicsShapeBox::getSize returns wrong value. + [FIX] ParticleSystemQuad: setTotalParticles() can not set a value larger than initialized value + [FIX] Renderer: Expand textureID bit from 18bits to 32bits. Resolves probably crash on Linux / Android + [FIX] RenderTexture: save screen with RenderTexture got unexpected result + [FIX] RenderTexture: saveToFile() can't write png file correctly + [FIX] Spine: spine::Skeleton would not be updated after being re-added to scene + [FIX] Sprite: not work as expected when CC_SPRITE_DEBUG_DRAW is 1 + [FIX] Scheduler: Thread deadlock if new functions are added in callback of Scheduler:: performFunctionInCocosThread + [FIX] Tests: EditBoxText crashes on Win32 when being clicked many times + [FIX] Tests: ChipmunkTest bounding box for debugging couldn't be shown + [FIX] Tests: CocoStudioGuiTest/LabelBMFontTest crashes + [FIX] Tests: Particle test/AddAndRemove test crashes + [FIX] Tests: RenderTextureTest not drawn when coming from background + [FIX] Tests: LabelTTFMultiline show nothing on mac + [FIX] Timer::cancel always call Director::getInstance()->getScheduler() even in another Scheduler + [FIX] Tests: Potential crash by switching repeatly between HttpClientTest, WebSocketTest, SocketIOTest + [FIX] Tests: State is changed to RESUME when game comes back to foreground if pause button was clicked in Interval Test + [FIX] TMXLayer: Removing child from TMXLayer may cause crash + [FIX] TMXObjectGroup: Object values (x, y, width and height) from TMXObjectGroup are incorrect + [FIX] TMXXMLParser: Refactored the codes of parsing pure xml layer format for tilemap + [FIX] TMXXMLParser: 'y' value is parsed incorrectly + [FIX] UI: Changes namespace from 'cocos2d::gui' to 'cocos2d::ui'. + [FIX] UI: Supports RichText + [FIX] Vector: Object which isn't in Vector would also be released when invoking Vector::eraseObject. + [FIX] Websocket: Potential crash when websocket connection closes. + [FIX] Websocket: No callback is invoked when websocket connection fails + [FIX] Xcode 5.1: Added Xcode 5.1 to build arm64 version, but can not require socket module in lua, will fix it soon + [3RD] Kazmath: Upgraded to latest version of Kazmath + + +cocos2d-x-3.0beta2 Jan.24 2014 +[All] + [NEW] Full screen support for desktop platforms. + [NEW] Adds performance test for EventDispatcher. + [NEW] Adds performance test for Containers(Vector<>, Array, Map, Dictionary). + [NEW] DrawNode supports to draw triangle, quad bezier, cubic bezier. + [NEW] Console: added the 'textures', 'fileutils dump' and 'config' commands + [NEW] GLCache: glActiveTexture() is cached with GL::activeTexture(). All code MUST call the cached version in order to work correctly + [NEW] Label: Uses a struct of TTF configuration for Label::createWithTTF to reduce parameters and make this interface more easily to use. + [NEW] Label: Integrates LabelAtlas into new Label. + [NEW] Node: Added `setGlobalZOrder()`. Useful to change the Node's render order. Node::setZOrder() -> Node::setLocalZOrder() + [NEW] Renderer: Added BatchCommand. This command is not "batchable" with other commands, but improves performance in about 10% + [FIX] event->stopPropagation can't work for EventListenerTouchAllAtOnce. + [FIX] Uses unified `desktop/CCEGLView.h/cpp` for desktop platforms (windows, mac, linux). + [FIX] Bindings-generator supports Windows again and remove dependency of LLVM since we only need binary(libclang.so/dll). + [FIX] Removes unused files for MAC platform after using glfw3 to create opengl context. + [FIX] Wrong arithmetic of child's position in ParallaxNode::addChild() + [FIX] CocoStudio: TestColliderDetector in ArmatureTest can't work. + [FIX] CocoStudio: The order of transform calculation in Skin::getNodeToWorldTransform() is incorrect. + [FIX] Crash if file doesn't exist when using FileUtils::getStringFromFile. + [FIX] If setting a shorter string than before while using LabelAtlas, the effect will be wrong. + [FIX] Label: Memory leak in FontFreeType::createFontAtlas(). + [FIX] Label: Crash when using unknown characters. + [FIX] Label: Missing line breaks and wrong alignment. + [FIX] Label: Corrupt looking characters and incorrect spacing between characters + [FIX] Label: Label:color and opacity settings are invalid afeter these these properties changed: 1)text content changed 2)align style changed 3)max line width limited + [FIX] Label: Crash when using unknown characters + [FIX] Console: log(format, va_args) is private to prevent possible resolution errors + [FIX] Configuration: dumpInfo() -> getInfo() + [FIX] ControlSlider doesn't support to set selected thumb sprite. + [FIX] ControlButton doesn't support to set scale ratio of touchdown state. + [FIX] Particles: Crash was triggered if there is not `textureFileName`section in particle plist file. + [FIX] Renderer: Uses a float as key with only the depth. Viewport, opaque are not needed now + [FIX] Renderer Performance Fix: QuadCommand::init() does not copy the Quads, it only store a reference making the code faster + [FIX] Renderer Performance Fix: Sprite and SpriteBatchNode (and subclasses) has much better performance + [FIX] Renderer Performance Fix: When note using VAO, call glBufferData() instead of glBufferSubData(). + [FIX] Renderer Performance Fix: Doesn't sort z=0 elements. It also uses sort() instead of stable_sort() for z!=0. + [FIX] Sprite: removed _hasChildren optimization. It uses !_children.empty() now which is super fast as well + [FIX] Tests: Sprites Performance Test has 4 new tests + [FIX] TextureCache: getTextureForKey and removeTextureForKey work as expected + [FIX] TextureCache: dumpCachedTextureInfo() -> getCachedTextureInfo() + [FIX] Websocket doesn't support send/receive data which larger than 4096 bytes. + [FIX] Object: Remove _retainCount + [FIX] ParallaxNode: Coordinate of Sprite may be wrong after being added into ParallaxNode + [FIX] Crash if there is not `textureFileName`section in particle plist file + [FIX] Websocket cannot send/receive more than 4096 bytes data + [FIX] TextureCache::addImageAsync can't load first image + [FIX] ControlSlider: Can not set "selected thumb sprite" + [FIX] ControlSlider: Can not set "scale ratio" + [FIX] Crash when loading tga format image + [FIX] Keyboard pressed events are being repeatedly fired before keyboard is released +[Android] + [FIX] Background music can't be resumed when back from foreground + [FIX] ANR (Application Not Responding) appears on android 2.3 when pressing hardware button. +[lua binding] + [NEW] Can bind classes that have the same class names but different namesapces + [FIX] Use EventDispatcher to update some test cases + [FIX] sp.SkeletonAnimation:registerScriptHandler should not override cc.Node:registerScriptHandler +[javascript binding] + [NEW] Bind SAXParser + [FIX] Pure JS class that wants to inherite from cc.Class will trigger an irrelevant log + [FIX] Mac and iOS Simulator should also use SpiderMonkey which was built in RELEASE mode + [FIX] Crash when running JSB projects on iOS device in DEBUG mode + [FIX] Crash when Firefox connects to JSB application on Mac platform. +[Desktop] + [NEW] Support fullscreen +[Linux] + [FIX] "Testing empty labels" in LabelTest crashes. +[Mac] + [FIX] Removes unused files after using glfw3 to create opengl context +[Win32] + [FIX] Compiling error when using x64 target + [FIX] Tests: TestCpp works with CMake + [FIX] Bindings-generator supports Windows again and remove dependency of LLVM since it only needs binary of libclang + +cocos2d-x-3.0beta Jan.7 2014 +[All] + [NEW] New label: shadow, outline, glow support + [NEW] AngelCode binary file format support for LabelBMFont + [NEW] New spine runtime support + [NEW] Add templated containers, such as `cocos2d::Map<>` and `cocos2d::Vector<>` + [NEW] TextureCache::addImageAsync() uses std::function<> as call back + [NEW] Namespace changed: network -> cocos2d::network, gui -> cocos2d::gui + [NEW] Added more CocoStudioSceneTest samples. + [NEW] Added UnitTest for Vector, Map, Value. + [NEW] AngelCode binary file format support for LabelBMFont. + [NEW] New renderer: Scene graph and Renderer are decoupled now. + [NEW] Upgrated Box2D to 2.3.0 + [NEW] SChedule::performFunctionInCocosThread() + [NEW] Added tga format support again. + [NEW] Adds UnitTest for Template container and Value class + [FIX] A Logic error in ControlUtils::RectUnion. + [FIX] Bug fixes for Armature, use Vector, Map instead of Array, Dictionary. + [FIX] Used c++11 range loop(highest performance) instead of other types of loop. + [FIX] Removed most hungarian notations. + [FIX] Merged NodeRGBA to Node. + [FIX] Potential hash collision fix. + [FIX] Updates spine runtime to the latest version. + [FIX] Uses `const std::string&` instead of `const char*`. + [FIX] LabelBMFont string can't be shown integrally. + [FIX] Deprecates FileUtils::getFileData, adds FileUtils::getStringFromFile/getDataFromFile. + [FIX] GUI refactoring: Removes UI prefix, Widget is inherited from Node, uses new containers(Vector, Map). + [FIX] String itself is also modified in `String::componentsSeparatedByString`. + [FIX] Sprites with PhysicsBody move to a wrong position when game resume from background. + [FIX] Crash if connection breaks during download using AssetManager. + [FIX] OpenAL context isn't destroyed correctly on mac and ios. + [FIX] Useless conversion in ScrollView::onTouchBegan. + [FIX] Two memory leak fixes in EventDispatcher::removeEventListener(s). + [FIX] CCTMXMap doesn't support TMX files reference external TSX files + [FIX] Logical error in `CallFuncN::clone()` + [FIX] Child's opacity will not be changed when its parent's cascadeOpacityEnabled was set to true and opacity was changed + [FIX] Disallow copy and assign for Scene Graph + Actions objects + [FIX] XMLHttpRequest receives wrong binary array + [FIX] XMLHttpRequest.status needs to be assigned even when connection fails + [FIX] TextureCache::addImageAsync may load a image even it is loaded in GL thread + [FIX] EventCustom shouldn't use std::hash to generate unique ID, because the result is not unique + [FIX] CC_USE_PHYSICS is actually impossible to turn it off + [FIX] Crash if connection breaks during download using AssetManager + [FIX] Project_creator supports creating project at any folder and supports UI +[Android] + [NEW] build/android-build.sh: add supporting to generate .apk file + [NEW] Bindings-generator supports to bind 'unsigned long'. + [FIX] XMLHttpRequest receives wrong binary array. + [FIX] 'Test Frame Event' of TestJavascript/CocoStudioArmatureTest Crashes. + [FIX] UserDefault::getDoubleForKey() doesn't pass default value to Java. +[iOS] + [FIX] Infinite loop in UserDefault's destructor +[Windows] + [NEW] CMake support for windows. +[Bindings] + [NEW] Support CocoStudio v1.2 + [NEW] Adds spine JS binding support. + [FIX] Don't bind override functions for JSB and LuaBining since they aren't needed at all. + [FIX] The order of onEnter and onExit is wrong. + [FIX] The setBlendFunc method of some classes wasn't exposed to LUA. + [FIX] Bindings-generator doesn't support 'unsigned long' + [FIX] Potential hash collision by using typeid(T).hash_code() in JSB and LuaBinding +[Lua binding] + [NEW] New label support + [NEW] Physcis integrated support + [NEW] EventDispatcher support + [FIX] CallFuncND + auto remove lua test case have no effect + [FIX] Lua gc will cause correcsponding c++ object been released + [FIX] Some lua manual binding functions don't remove unneeded element in the lua stack + [FIX] The setBlendFunc method of some classes wasn't exposed to LUA +[Javascript binding] + [FIX] `onEnter` event is triggered after children's `onEnter` event + +cocos2d-x-3.0alpha1 Nov.19 2013 +[all platforms] + [DOC] Added RELEASE_NOTES and CODING_STYLE.md files + [FIX] Texture: use CCLOG to log when a texture is being decoded in software + [FIX] Spine: fix memory leaks + [FIX] fixed a memory leak in XMLHTTPRequest.cpp + [FIX] removeSpriteFramesFromFile() crashes if file doesn't exist. + [FIX] Avoid unnecessary object duplication for Scale9Sprite. + [FIX] create_project.py does not rename/replace template projects completely. + [FIX] Could not set next animation in CCBAnimationCompleted callback. + [FIX] The Node's anchor point was changed after being added to ScrollView. + [FIX] Refactored and improved EventDispatcher. + [FIX] EventListeners can't be removed sometimes. + [FIX] When parsing XML using TinyXML, the data size has to be specified. + [FIX] Parameter type: const char* -> const string& + [FIX] Armature: many bug fixed, add more samples, add function to skip some frames when playing animation + [FIX] Configuration of VAO in runtime + [FIX] Webp Test Crashes. + [FIX] TransitionScenePageTurn: z fighting + [FIX] AssetsManager: Adding test whether the file directory exists when uncompressing file entry,if does not exist then create directory + [FIX] CCBReader: To set anchor point to 0,0 when loading Scale9Sprite + [FIX] OpenGL Error 502 in Hole Demo + [FIX] AssetsManager: downloading progress is not synchronized with actual download + [FIX] SpriteFrameCache: memory leak when loading a plist file + [FIX] removeSpriteFramesFromFile() crashes if file doesn't exist + [FIX] EditBox: can't click the area that outside of keyboard to close keyboard + [FIX] CCBReader: can not set next animation in AnimationCompleted callback + [FIX] Node's anchor point was changed after being added to ScrollView + [FIX] EventDispather: refactor method and fix some bugs + [FIX] EventListner: cann't be removed sometimes + [FIX] UserDefault: didn't set data size when parsing XML using TinyXML + [FIX] Webp test crashed + [FIX] CCHttpClient: The subthread of CCHttpClient interrupts main thread if timeout signal comes. + [NEW] Arm64 support. + [NEW] Added Mouse Support For Desktop Platforms. + [NEW] Point: Adds ANCHOR_XXX constants like ANCHOR_MIDDLE, ANCHOR_TOP_RIGHT, etc. + [NEW] Sprite: Override setScale(float scaleX, float scaleY) + [NEW] External: added | operator for Control::EventType + [NEW] Android & iOS screen size change support + [NEW] GLProgram: setUniformLocationWithMatrix2fv, setUniformLocationWithMatrix3fv + [NEW] Color[3|4][B|F]: comparable and explicit convertible + [NEW] Contorl::EventType add | operation + [NEW] Performance Test: Sprite drawing + [NEW] Adjusted folder structure + [NEW] Added tools to simplify upgrading game codes from v2.x to v3.x + [FIX] Added virtual destructors on Interfaces +[Android] + [FIX] Added EGL_RENDERABLE_TYPE to OpenGL attributes + [FIX] Fixed application will crash when pause and resume. + [FIX] Clear NoSuchMethodError Exception when JniHelper fails to find method id + [FIX] Fixed crash when backging from background + [FIX] LabelTTF: crashed when setting dimension input height value less than the height of the font and the input width value is 0 + [FIX] Changed data type of 'char' to signed as default + [NEW] Added xlargeScreens="true" to supports-screens + [NEW] Added build/android-build.py to build all Android samples, and remove all build_native.sh/cmd + [NEW] Added build_native.py to build template projects, and remove build_native.sh/cmd + [NEW] Added Cocos2dxHelper.runOnGLThread(Runnable) again + [NEW] Added support for orientation changed + [NEW] Disabled CDT Builder on Eclipse +[Mac] + [FIX] Removed unused CCLOG() from GL initialization + [FIX] HttpClientTest: crash +[iOS] + [FIX] Can't click the area that outside of keyboard to close keyboard when using EditBox. + [NEW] Added support for orientation changed +[Linux] + [NEW] Used CMake to build linux projects. + [FIX] Closed X display after getting DPI on Linux. +[Win32] + [FIX] Last test case of OpenglTest crashed +[Desktop] + [FIX] Trigger onKeyReleased only after the key has been released. + [NEW] Added mouse support +[Javascript binding] + [FIX] Fixed a memory leak in ScriptingCore::runScript() + [FIX] sys.localStorage.getItem() does not support non-ascii string. + [FIX] cc.Scheduler.schedule(target, func) without repeat argument couldn't repeat schedule forever on device. + [FIX] CCBReader can't play sequence automatically in JSB. + [FIX] Wrong convention to jsval in cccolor4f_to_jsval and cccolor3b_to_jsval + [FIX] sys.localStorage: doesn't support non-ascii string + [FIX] BuilderReader: can't play sequence automatically + [FIX] Wrong conversion to javal in cccolor4f_to_jsval and cccolor3b_to_jsval + [NEW] main.js -> cocos2d-jsb.js + [NEW] Remote debugging using Firefox, "step into" can not work + [NEW] Added binding for Node::setScale(float, float) + [NEW] Impvoved armature binding + [NEW] Added CocoStudio releated binding codes: gui, scene parser, and add corresponding samples +[Lua Binding] + [NEW] Added Armature lua binding and added test samples. + [NEW] Added LuaObjectBridge & LuaJavaBridge to simplify invoking objective-c codes and java codes from lua + [NEW] Added CocoStudio releated binding codes: gui, scene parser, and add corresponding samples + [NEW] Added AssetsManager binding and corresponding sample + [NEW] Added XMLHttpRequest lua binding and corresponding sample + +cocos2d-x-3.0alpha0 @Sep.19 2013 +[all platforms] + [FIX] TargetAction::reverse() works as expected + [FIX] Fixed crash in OpenGLTest + [FIX] Fixed logic when passing an empty std::vector to WebSocket::init() + [FIX] Fixed crash in ParticleSystemQuad due to improper deletion of VBO and VAO + [FIX] Point::isSegmentIntersect() returns correct value + [FIX] Improved UTF8 response code in XmlHttpRequest + [FIX] Observers with the same target and name but different sender are the same observer in NotificationCenter + [NEW] Added ATITC format support + [NEW] Better integration with physics engine + [NEW] New Event Dispatcher: supports Keybaord, Touches, Accelerometer, Custom events. Added Tests as well + [NEW] New Label code: Faster and more efficient than previous code + [NEW] Added S3TC support + [NEW] Added a method to get duration of timeline for CCBAnimationManager class + [NEW] Array is compatible with STL containers. + [3RD] Upgraded SpiderMonkey to Firefox v23 +[Android] + [FIX] Fixed When lock screen or entering background and resume the application textures from pvr.ccz file become black + [FIX] Fixed Stroke font color + [NEW] Uses Native Activity +[iOS] + [FIX] Status bar can be hidden on iOS 7 + [FIX] Added iOS7 icons to templates and tests +[Mac OS X] + [NEW] iOS and Mac tempaltes were merged into one single Xcode project file. + [NEW] Added Lua template +[JavaScript bindings] + [FIX] CCBReader is able to set properties to owner if 'owner var' is setted + [FIX] Fixed crash when extending cc.ScrollView in JS + [FIX] cc.registerTargettedDelegate supports pure js object as its target + [FIX] Fixed memory leak in the binding glue code of cc.FileUtils.getStringFromFile(getByteArrayFromFile) + [NEW] Added bindigns for Sprite::getDisplayFrame(), ControlButton callback and RemoveSelf +[Lua bindings] + [NEW] Bind Sprite::getDisplayFrame() + + +cocos2d-x-3.0alpha0-pre @Jul.30 2013 +[all platforms] + [FIX] #2124: Image::initWithImageFileThreadSafe is not thread safe + [FIX] #2230: Node::onEnterTransitionDidFinish was called twice when a node is added in Node::onEnter + [FIX] #2237: calculation offset in font rendering + [FIX] #2303: missing precision when getting strokeColor and fontFillColor + [FIX] #2312: WebSocket can not parse url like "ws://domain.com/websocket" + [FIX] #2327: implement Node::isScheduled + [FIX] #2338: ccbRootPath is not passed to sub ccb nodes + [FIX] #2346: OpenGL error 0x0502 in TextureAtlas::drawNumberOfQuads + [FIX] #2359: Sprite will become white block when using ControlSwitch + [FIX] #2361: some bug fixed of the Set class + [FIX] #2366: text shadow + [FIX] #2367: ClippingNode works differently on different platforms + [FIX] #2370: Pivotjoint constructor and pointQueryFirst in Space class will return false instead of invalid shape object + [FIX] #2381: ControlSwitch wasn't displayed correctly when adding more than one switch + [FIX] #2384: The submenu of ExtensionTest in TestCpp can't scroll + [FIX] #2386: ClippingNode works wrongly when being set as a child + [FIX] #2396: Scale9Sprite::setInsetLeft/XXX can't work for rotated sprite frame + [FIX] #2401: LabelBMFont crashes in glDrawElements of CCTextureAtlas::drawNumberOfQuads randombly + [FIX] #2410: Black screen appears on android randomly + [FIX] #2411: Opacity option for shadow in CCLabelTTF is not working + [FIX] #2406: Color and Opacity of Scale9Sprite will not be changed when it's added to NodeRGBA and run with FadeIn/Out actions + [FIX] #2415: Warning of AL_INVALID_NAME and AL_INVALID_OPERATION in SimpleAudioEngineOpenAL.cpp + [FIX] #2418: Unused spriteframes also need to be removed when purgeCachedData + [FIX] #2431: Potential crash when loading js files + [FIX] #2229: Explicitly initialising CCAcceleration structure + [FIX] #2234: Add destructor to CCGLBufferedNode + [Feature] #2232: adding Norwegian language support + [Feature] #2235: Ability to save/retrieve CCData into/from CCUserDefault + [Feature] #2250: add support for std::function<> in CCMemuItem and CCCallFunc + [Feature] #2273: Hardware keyboard support + [Feature] #2278: Adds CALLBACK_0, CALLBACK_1 and CALLBACK_2 macros for MenuItems + [Feature] #2279: Updates chipmunk2d to v6.1.5 + [Feature] #2283: Adds Polish language support + [Feature] #2289: Uses clone() pattern for actions + [Feature] #2332: Adding project for QtCreator + [Feature] #2364: Adds DrawPrimitives::DrawSolidCircle + [Feature] #2365: Adds Rect::unionWithRect + [Feature] #2385: Implemented pitch, pan and gain for SimpleAudioEngine + [Feature] #2389: Adding cookie support for HttpClient + [Feature] #2392: Adds append() function for String class + [Feature] #2395: Adds Scale9SpriteTest for TestCpp + [Feature] #2399: Adds SocketIO support + [Feature] #2408: Adds String::componentsSeparatedByString function for splitting string + [Feature] #2414: Bindings-generator could bind std::function<> argument + [Refactor] #2129: Removes Hungarian notation from ivars. Removes CC and cc prefixes from name classes and free functions. + [Refactor] #2242: Enables c++11 + [Refactor] #2300: Using clone() pattern instead of 'copyWithZone' pattern + [Refactor] #2305: Use std::thread instead of pthread + [Refactor] #2328: ETC support for all platforms + [Refactor] #2373: Change some member functions to const + [Refactor] #2378: Remove the usage of CC_PROPERTY_XXX in engine code + [Refactor] #2388: Creating a default texture for CCSprite if setTexture(nullptr) is invoked + [Refactor] #2397: Singleton refactor, sharedXXX --> getInstance, purgeXXX --> destroyInstance + [Refactor] #2404: Move all deprecated global functions and variables into CCDeprecated.h + [Refactor] #2430: Uses strongly typed enums (enum class) instead of simple enums +[iOS] + [FIX] #2274: compile and run for iOS7 and Xcode5 + [Refactor] #2371: use one single Xcode project for iOS and Mac projects +[Android] + [FIX] #2306: CCLabelTTF::setString crash + [Refactor] #2329: use Android "asset manager" to improve file system read performance + [Refactor] #2400: use onWindowFocusChanged(bool) instead of onResume()/onPause() +[OS X] + [FIX] #2275: LabelTTF vertical alignment + [FIX] #2398: Add support for initializing Image with raw data +[windows] + [FIX] #2322: link error becasue of using multiply inheritance +[JavaScript bindings] + [FIX] #2307: PhysicsSprite::getCPBody return wrong type + [FIX] #2313: bind cc.ClippingNode + [FIX] #2315: iterating through cc.Node children crash + [Feature] #2285: bind MontionStreak + [Feature] #2340: Updates SpiderMonekey to Firefox v22 (JS Bindings) + [Feature] #2427: bind FileUtils.getInstance().createDictionaryWithContentsOfFile +[Lua bindings] + [Feature] #2276: Add CCScrollView Lua binding and corresponding test sample + [Feature] #2277: Add OpenGL Lua binding and corresponding test sample + [Feature] #2324: Add OpenGL Lua module + [Feature] #2343: Redesign the mechanism of invoking Lua func from c++ + [Feature] #2344: make some execute functions into one function in ScriptEngineProtocol + [Feature] #2426: Add DrawPrimitives test sample + [Feature] #2429: LuaWebSocket supports sending binary string +[plugin-x] + [FIX] #2348: event will not be sent to server when paramMap argument of logEvent function is nil +[Emscript] + [Feature] #2289: Asynchronous Image loading + + +2.1rc0-x-2.1.4 @Jnue.12 2013 +[all platforms] + Bug #2098: fix TouchPriority issue of CCScrollView + Bug #2107: fix crash in HttpClient request on 64Bit + Bug #2115: fix linking errors for TestCPP with libcurl + Bug #2128: remove setting ignoreAnchorPoint for child CCB files and fix crash while trying to load sprite frame when the file is missing + Bug #2140: fix a bug that the displayed color of CCDrawNode is incorrect when VAO is disabled + Bug #2142: adding CCDataVisitor and implementing CCPrettyPrinter + Bug #2143: fix a crash caused by ScrollView.setDelegate(tmp function) + Bug #2146: unpack texture data correctly + Bug #2147: fix null pointer access in CCBAnimationManager::getRunningSequenceName() + Bug #2150: fix a bug that setColor and setOpacity of CCControlButton and CCScale9Sprite are broken + Bug #2251: fix a logical error in CCDrawNode::drawPolygon() + Bug #2271: fix memory leak as possible + Feature #1859: make AssetsManager download resources in a new thread + Feature #2086: make CCLabelTTF supports shadows and stroke + Feature #2100: add CCDirector::popToSceneStackLevel(int level) + Feature #2105: add Travis build support + Feature #2108: add example for russian language in TestCpp + Feature #2111: add CC_DISABLE_COPY macro + Feature #2114: add __attribute__(__format__()) for CCLog and CCString + Feature #2116: support negative node scales for CCScrollView + Feature #2117: implement CCDictionary::writeToFile() + Feature #2122: add method to create a CCMenuItemToggle from a CCArray with a target selector + Feature #2132: add encrypted PVR.CCZ support to ZipUtils + Tests + Feature #2157: add Mingw-crt Support without breaking VS SDK + Feature #2265: add CCLabelTTF::createWithFontDefinition() + Feature #2270: add Armature(CocoStudio runtime) support + Refactor #2109: add const modifier for classes CCArray, CCObject + Refactor #2118: move ccpX functions to CCPoint methods and operators + Refactor #2119: use httpresponse_selector instead of callfuncND_selector for the callback function of CCHttpRequest + Refactor #2123: refactor network extension, fixing unlikely memory leaks, adding PUT/DELETE methods + Refactor #2127: add CCLOG before original path is returned in CCFileUtils::fullPathForFileName to aid in debugging + Refactor #2149: add const qualification to some CCNode's getters + Refactor #2189: CCLabelTTF::enableShadow() const update + Refactor #2215: refactor CCConfiguration + Refactor #2217: use CCLabelAtlas instead of CCLabelTTF to show FPS + Refactor #2231: implement a format of CCConfiguration + Refactor #2233: add support for "CCString" types for boolean and integers in CCConfiguration + Refactor #2236: fix memory hot spot of CCTextureAtlas::updateQuad() +[android] + Bug #1284: fix a bug that SimpleAudioEngine may cause crash on i9100 + Bug #2151: fix custom font loading on Android for resource mapped font files + Bug #2190: updat .classpath of Android project to latest ADT 22 build tool compatibility + Bug #2266: fix a bug that CCFileUtils::getFileData() may not get file data correctly on Android + Feature #2161: add ETC1 image format +[iOS] + Bug #2102: fix missing protocol method warning for iOS 6.0 addition + Bug #2104: fix a bug that JPEG picture not displayed correctly on iOS 4.3 + Bug #2260: fix a bug that CCDirectory::createWithContentsOfFile() returns a valid pointer though the file is missing on iOS + Refactor #2101: update cocos2dx Xcode project to detect more warnings + Refactor #2253: add UITextField only when keyboard was opened, removing it when keyboard was closed +[mac] + Bug #2249: fix linebreaks on Mac OSX +[win32] + Bug #2131: fix memory leak of SimpleAudioEngine::preloadEffect() + Bug #2145: center the window correctly on windows +[emscripten] + Feature #2120: compile c++ to js + Bug #2159: use browser font rendering instead of FreeType + Refactor #2133: compile for Emscripten in asm.js mode + Document #2121: write a document to describe the usage of emscriptenate port +[tizen] + Feature #2185: add support for Tizen +[JavaScript bindings] + Bug #2099: fix a bug in ScriptingCore::evalString() not setting the outval + Bug #2179: fix a bug that pointQueryFirst returns invalid Shape when a shape is not found + Bug #2186: fix a bug that new PivotJoint can't access 4 parameters like in html5 version + Bug #2187: JavaScript debugger improved and bug fixed + Bug #2243: fix a bug that XMLHttpRequest dones't support non-ascii characters + Bug #2244: fix a bug that cc.Camera.getEyeXYZ, cc.Camera.getCenterXYZ, cc.Camera.getUpXYZ return bad values + Feature #1647: Bind websocket to JavaScript + Feature #2092: add XMLHttpRequest and bind it to JSB + Feature #2106: add support for JavaScript byte code + Feature #2162: add command line tool for generating JavaScript bytecode + Feature #2214: upgrade Spidermonkey to Firefox v21 + Refactor #2152: log assert messages to the console and renaming CCScriptSupport::executeAssert to CCScriptSupport::handleAssert + Refactor #2247: use functions instead of macros to speeding up building for JSB project +[Lua bindings] + Feature #2103: implement most test cases + +cocos2d-2.1rc0-x-2.1.3 @May.01 2013 +[all platforms] + Bug #1853: use SHELLOPTS instead of "-o igncr" for Android Eclipse project + Bug #1860: fix a bug that onNodeLoaded will be called twice if ccb was added as a CCBFile + Bug #1862: fix a bug that CCScrollView::setContainer may cause dangling pointer when NULL is passed into + Bug #1876: fix a bug that CCScale9Sprite::setColor() & setOpacity() are broken + Bug #1935: fix a bug that use "==" for float comparison of CCPoint and CCSize + Bug #1937: fix a bug that CCControl's touch priority is not set correctly, m_nDefaultTouchPriority is never used + Bug #1943: added some missing function for setting integer shader uniforms in CCGLProgram + Bug #1999: allowing to set fontName and fontSize separately for CCEditBox + Bug #2003: fix a potential crash in CCScheduler::removeHashElement() + Bug #2030: fix a bug that scissor rectangle in nested CCScrollView is wrong + Bug #2031: make CCFileUtils::createXXXXWithContentsOfFile() support relative path + Bug #2035: fix a potential crash in CCSaxParser + Bug #2037: fix a wrong logic in CCArray::initWithObjects() + Bug #2040: get scale property from sub-ccb node may trigger an assert + Bug #2054: fix a bug that anchorPoint property of CCScale9Sprite doesn't work in CCBReader + Bug #2055: enable easy switching between Box2D and chipmunk + Bug #2058: properly resets the tile's Y flipping + Bug #2061: fix a bug that wrong type of argument signature is used in setAccelerometerIntervalJNI function + Bug #2073: fix a memory leak in CCUserDefault + Bug #2080: fix a bug that _realOpacity isn't assigned in CCLayerColor::initWithColor + Feature #2001: add CCRemoveSelf Action + Feature #2048: support variable cell sizes in CCTableView + Feature #2065: adding kResolutionFixedHeight and kResolutionFixedWidth resolution policy + Feature #2068: adding a secureTextEntry property to CCTextFieldTTF + Feature #2069: adding new macro CCB_MEMBERVARIABLEASSIGNER_GLUE_WEAK to CCBMemberVariableAssigner.h + Feature #2075: support spine editor + Feature #2076: adding a method CCBReader::setResolutionScale for setting resolution scale manually + Refactor #1592: updating UTHASH to v1.9.8 + Refactor #2042: remove libxml2 + Refactor #2097: use pthread mutex and condition variable instead of pthread semaphore to load image asynchronizely +[android] + Bug #1996: adding missing JNIEXPORT / JNICALL declarations + Bug #2028: fix a bug taht application can not run correctly on Android simulator + Bug #2045: some small fixes to CocosPlayer + Bug #2062: fix for spaces at the beginning of wrapped lines + Bug #2083: fix a bug that Bytecode of LuaJIT can't work on android + Refactor #1613: not reload resources when coming from background on Android + Refactor #1861: CocosPlayer Android update + Refactor #1904: strip libcurl.a on x86 architecture + Refactor #2027: reduce function call in nativeInitBitmapDC to improve performance + Refactor #2047: clean up linked libraries for android +[iOS] + Bug #1863: fix a bug that CCUserDefault on iOS may not save immediately + Feature #2096: adding Cocosplayer for iOS and bug fixes +[linux] + Bug #1932: fix a bug that font rendering crashed for certain fonts + Bug #2036: correct passed buffer size to readlink + Bug #2044: link libpthread and libGL + Bug #2046: strip newlines from log message and fixing linux library location + Bug #2052: fix a bug that [-Werror=array-bounds] error appears when compiling Box2dTestBed + Feature #2032: Linux OpenAL support + Refactor #2000: improve font rendering performance for linux platform + Refactor #2053: set writable path to "/.config/" +[mac] + Bug #2051: fix a bug that TestCpp/ExtensionsTest/CocosbuilderTest crashes under x86_64 target + Feature #1856: adding 64bit target for Mac project +[JavaScript bindings] + Bug #1855: fix a bug that std_string_to_jsval generates messy js string when passed a non-ascii UTF8 std::string + Bug #2057: adding response for back and menu keypad event for Android + Bug #2059: fix a bug that cc.FileUtils.getInstance().getStringFromFile(filename) doesn't return a whole string + Bug #2071: fix a bug that cc.TMXLayer.getTiles() can't work + Feature #1841: find a way to obfuscate JavaScript code on the top of JSB + Feature #1936: adding OpenGL Bindings to Javascript + Feature #2043: upgrading SpiderMonkey to Firefox20.0 + Feature #2060: support for cc.FileUtils.getInstance().getByteArrayFromFile(filename) + Feature #2064: exposing cc.Node.nodeTo***Transform to JS + Refactor #1944: subclass of cc.Sprite,cc.Layer... doesn't need cc.associateWithNative anymore +[Lua bindings] + Feature #1814: add menutest + Feature #1941: add TileMapTest + Feature #1942: add LayerTest + Feature #1945: use CCLOG to implement print() function + Feature #1993: add ParallaxTest + Feature #1994: add ActionManagerTest + Feature #1997: add IntervalTest + Feature #1998: add SceneTest + Feature #2002: add Texture2dTest, RenderTexture, ZwoptexTest, FontTest, CocosDenshionTest and EffectsAdvancedTest + Feature #2004: add UserDefaultTest + Feature #2005: add CurrentLanguageTest + Refactor #1847: use luajit + Refactor #2084: unify the method of loading Lua files on all platforms + +cocos2d-2.1rc0-x-2.1.2 @Mar.20 2013 +[all platforms] + Bug #1529: use NSUserDefaults on iOS and SharedPreferences on Android implement CCUserDefault + Bug #1672: fix a bug that CCTableView is too sensitive on some devices with high density display + Bug #1689: support horizontal alignment for Custom TTF fonts + Bug #1691: fix a bug that CCControlSwitch::setOn(isOn,false) doesn't work + Bug #1692: add TMX polygon parsing + Bug #1697: fix a logical error in CCRenderTexture::initWithWidthAndHeight() + Bug #1710: add simpler,correct handling of spritesheet sources for CCScale9Sprite + Bug #1711: fix a bug that clipping rectangle of CCScrollView is wrong when the scale of its ancestors isn't equal to 1 + Bug #1731: change declaration of CCSize, CCPoint and CCRect in pkg file + Bug #1751: fix a bug that clicking outside of CCTableViewCell will also get response when container size is smaller than view size + Bug #1754: fix a bug that offset of the container is wrong in CCTableView + Bug #1821: fix a bug that the display result is wrong when invoking CCControlButton::setHighlighted() + Feature #1686: synchronize to cocos2d-iphone v2.1rc0 + Feature #1708: adding Portuguese and Arabic language support + Feature #1712: add an interface to get DPI + Feature #1741: CCLens3d can be concave + Feature #1742: add 'rotationIsDir' property to ParticleSystem + Feature #1761: implement setVisible() for CCEditBox + Feature #1807: add getStartLocationInView() and getStartLocation() methods in CCTouch + Feature #1822: add CCNotificationCenter::removeAllObservers(CCObject *target) + Feature #1838: synchronize CCBReader to the lastest version + Feature #1489: add AssetsManager + Refactor #1687: refactor CCFileUtils and CCImage + Refactor #1700: add webp image format support + Refactor #1702: change return value of CCFileUtils::getWritablePath() + Refactor #1703: replace libxml2 with tinyxml2 + Refactor #1749: add 'setFont' and 'setAnchorPoint' to CCEditBox +[android] + Bug #1752: fix a bug that libcurl.a causes link error after being stripped + Bug #1760: fix a bug that cpufeatures module is redefined + Bug #1775: fix a bug that OpenSLEngine can not load resources from SD card + Bug #1812: fix a warning of getStringWithEllipsisJni() function when compiling it with clang + Feature #1827: support building android project, including native codes, in Eclipse +[iOS] + Bug #1750: fix a bug that CCEditBox's position is incorrect when it's added to a non-fullscreen CCNode + Bug #1804: fix for loading custom fonts on iOS when referenced from a CCB file + Feature #1842: support kEditBoxInputFlagSensitive setting for CCEditBox on iOS + Refactor #1755: add CocosDenshion xcode project + Refactor #1825: use CCLabelTTF to show text for CCEditBox +[JavaScript bindings] + Bug #1707: fix a crash caused by unaligned memory access in CCBReader::readFloat() + Bug #1726: fix crash of JSB application on android device with armv6 architecture + Bug #1729: fix compiling error of ScriptingCore.cpp with C++11 on iOS + Bug #1747: fix a crash when passing null to cc.AnimationFrame.initWithSpriteFrame() + Bug #1823: use shared NodeLoaderLibrary in CCBReader bindings + Feature #1724: add HelloJS sample + Feature #1730: bind CCScrollView and CCTableView to js + Feature #1748: separate chipmunk and sqlite from js_binding_core.cpp + Feature #1753: upgrade SpiderMonkey to Firefox19. + Feature #1808: make cxx_generator support parsing functions that have default parameters + Feature #1811: add a method to get file data for JSB + Feature #1824: bind CCEditBox to JS + Refactor #1682: add ScriptingCore::getGlobalObject() function + Refactor #1740: add cleanup and reset methods to ScriptingCore + Refactor #1830: use JS::CompileOptions::setUTF8(true) to compile script + Refactor #1836: make js target of "cc.Scheduler().scheduleCallbackForTarget()" accept a object that not depend on CCNode or its subclass + Refactor #1837: refactor schedule binding codes +[Lua bindings] + Bug #1745: fix a bug that CCRepeat:create() receives error argument + Feature #1425: fix errors in Lua test cases and add more test cases + Feature #1698: add CCLuaObjcBridge + Feature #1802: add TouchesTest for Lua binding + Refactor #1818: cleanup the tolua++ bindings build system +[win32] + Feature #1634: CCEditBox support + Feature #1746: add VS2012 Express template installing support +[linux] + Bug #1688: fix a bug that truetype fonts from resource directory can't be found + Bug #1810: fix a bug that SimpleAudioEngine::playEffect() and playBackgroundMusic() play twice on linux + Bug #1819: fix a bug that building script exits when missing packages + Bug #1834: fix the size calculations for true type fonts (especially for italic fonts) + Refactor #1806: refactor linux build system + Refactor #1820: add 'make run' target for linux projects +[mac os] + Bug #1637: fix a bug that CCLabelTTF & CCMenuItemLabel cannot display on Mac Retina +[black berry] + Refactor #1709: add support for multiple background music sources +[chrome native client] + Feature #1762: add Native Client support + + +cocos2d-2.1beta3-x-2.1.1 @Jan.29 2013 +[ all platforms] + Bug #1547: fix a bug that when CCMenuItem is removed before touch ended, application will crash if keeping moving + Bug #1553: fix a memory leak in CCControllButton + Bug #1604: fix a bug that the enum values in ccPVR3TexturePixelFormat are truncated to 32bit + Bug #1605: fix a crash that when adding just one action to CCSequence + Bug #1639: fix a bug that CCBReader miss parsing some properties + Bug #1659: fix a bug that invoking runAnimation() in CCBAnimationManagerDelegate::completedAnimationSequenceNamed will cause crash + Bug #1662: fix a bug that returns wrong full path if texture name in the plist doesn't contain relative path + Bug #1664: fix a logical error in CCAtlasNode::setOpacityModifyRGB + Bug #1670: fix a memory leak in CCBReader + Bug #1674: fix a logical error in CCScale9Sprite constructor + Bug #1680: fix a bug that can't set touch priority by invoking CCMenu::setTouchPriority() + Bug #1681: fix a bug that CCTableView crashes if CCTableViewDelegate is not provided + Feature #1598: add japanese language support + Feature #1625: add stackable action support and exchange the order of parameters for 3d relative actions + Feature #1667: add file name lookup support + Refactor #1593: remove all deprecated methods + Refactor #1599: do some improvements of CCScrollView and CCTableView + Refactor #1602: add randomObject to CCDictionary + Refactor #1603: adjust samples directory structure + Refactor #1606: return CCSequence pointer for CCSequence::create + Refactor #1648: make CCPoint, CCRect and CCSize not inherit from CCObject + Refactor #1649: change return type to const reference for member variable accessing + Refactor #1654: report function and line number for CCAssert + Refactor #1683: refactor CCFileUtils to make it be compatible with the resource searching strategy of cocos2d-iphone + Document #1650: add detailed comments for CCDictionary + Document #1678: add detailed doxygen comments for CCNode +[android] + Bug #1544: fix a bug that CCRenderTexture works wrong after coming back to foreground + Bug #1580: fix a bug that application may lost focus after popping up keyboard + Bug #1607: fix a bug that the path CCUserDefault saves in may cause issue + Bug #1610: fix a bug that CCLabelTTF will lost a character at the end of a line + Bug #1623: fix a bug that SimpleAudioEngine::playBackgroundMusic() may not take effect + Bug #1679: upload unstripped prebuilt libraries for armeabi-v7a architectures + Refactor #1673: add to AndroidManifest.xml +[iOS] + Bug #1600: fix a bug that application created by xCode template will crash after coming to foreground + Bug #1612: fix some compilation errors when using c++11 compiler + Bug #1657: fix a memory leak in CCTextureCache::addImageAsync() + Refactor #1636: refactor CCEditBox +[win32] + Refactor #1627: add VS version check in project file +[marmalade] + Bug #1631: make SimpleGame force landscape + Refactor #1629: add marmalade third party cleanup + Refactor #1630: add TestLua post-build script + Refactor #1632: remove grskia dependency and add in freetype support to the builds. +[linux] + Feature #1611: add Lua support + Refactor #1621: add linux 64bit target for eclipse project + Refactor #1676: refactor makefile and eclipse project configuration +[JavaScript bindings] + Bug #1550: fix some memory leaks in JSBinding + Bug #1614: fix a crash caused by DrawNodeTest + Bug #1622: fix a crash when cc.Node.getChildren is invoked if it has no children + Bug #1641: fix a bug that the coins in WatermelonWithMe don't animate + Bug #1644: fix a crash caused by passing NULL parameter to ccdictionary_to_jsval + Bug #1645: fix a bug that JS Project created by xXode template doesn't work correctly + Bug #1653: handle correctly when parsing int value in JSB + Feature #1620: add sys.localStorage support for JSB + Feature #1642: add tools for generating js-binding codes on windows + Feature #1646: update SpiderMonkey to v18.0 + Feature #1660: add js-debugger for js-binding + Feature #1661: add jsb sample game CrystalCraze + Refactor #1530: do some improvements to JS Bindings + Refactor #1633: implement sys.capabilities for JSB +[Lua bindings] + Refactor #1608: add CCNode::scheduleUpdateWithPriorityLua() for LuaBinding + Refactor #1626: add CCDirector::setDisplayStats() for luabinding + +cocos2d-2.1beta3-x-2.1.0 @Dec.5 2012 + [all platforms] + Bug #1556: set a default texture for CCParticleFire, CCParticleFireworks, etc + Feature #1555: update to cocos2d-iphone v2.1 beta3 + Feature #1564: update tests to cocos2d-iphone v2.1beta3 + Feature #1572: add sample game WatermelonWithMe + Feature #1573: add sample game CocosDragonJS + Refactor #1545: remove the usage of NODE_FUNC and CREATE_FUNC + Refactor #1565: remove VS2008 support + Refactor #1576: update CCBReader to latest version of CocosBuilder + Refactor #1589: add CCBReader::setCCBRootPath() + [iOS] + Bug #1548: update libcurl header files to 7.26.0 on iOS + [android] + Bug #1551: add error handler when reading image data using libjpeg + Refactor #1558: improve the speed of accessing to files from apk + [marmalade] + Bug #1559: fix a bug that if a file in resource directory doesn't exist, it will not search from root directory + Bug #1571: add box2d rope to marmalade project + Bug #1590: JPEG and File fixes for marmalade + Feature #1557: Marmalade support + Refactor #1574: update marmalade languages + Refactor #1575: update samples/TestCpp to compatible with marmalade + Refactor #1578: create cocos2dx-ext marmalade project + Refactor #1591: add TestLua marmalade project + [JavaScript bindings] + Bug #1577: fix a bug that touch events lost on Win32 when using JSBinding + Bug #1586: fix a crash in WatermelonWithMe + Bug #1588: rescheduleCallback support for JSBinding + Refactor #1570: improve the debugger for JSBinding + [Lua bindings] + Bug #1587: remove Lua script handler in CCCallFunc's destructor + +cocos2d-2.0-x-2.0.4 @Nov.2 2012 + [all platforms] + Bug #1473: fix a bug that CCScale9Sprite does not support rotated spriteframe in atlas + Bug #1494: fix a bug that missing removing auto-release object from AutoReleasePool if it invokes 'autorelease' method more than one time + Bug #1495: fix a bug that CCScrollView display area and touch area are wrong if its parent's postion isn't at CCPointZero in world + Bug #1508: fix a bug that potential observer array modification while it's traversed in CCNotificationCenter + Bug #1510: fix a bug that application will freeze when 'numberOfCellsInTableView' returns zero + Bug #1516: fix a bug that the font size of labels for displaying FPS,SPF,DrawCount is incorrect in different design resolutions + Bug #1536: CCControl* should not respond to touches if the control is not visible + Bug #1538: fix a logic error in CCControlHuePicker::checkSliderPosition() + Bug #1543: fix a bug that CCLayerGradient background of CocosBuilderTest can't be shown + Feature #1515: add a zoom function for debugging large resolution (e.g.new ipad) app on desktop + Refactor #1312: upgrade libcurl to 7.26.0 + Refactor #1486: apply multi-resolution mechanic on iOS, especially for iphone5 + Refactor #1520: add comments to describe the usage of multiresolution in HelloCpp + Refactor #1521: use relative coordinates in TestCpp + Document #1532: write a document describes how to debug games for ipad3 on low-resolution PC + Document #1493: add doxygen comments in CCNotificationCenter.h + [android] + Bug #1466: reload shader for test case "ShaderTest" after it comes from background + Bug #1500: fix a bug that CCRenderTexture cannot render properly on some Qualcomm Adreno GPUs + Bug #1507: fix a bug that can not play effect for the first time without pre-load effect + [iOS] + Bug #1527: fix a bug that MoonWarriors can not run on iOS simulator sometimes + Refactor #1491: remove dependency of FontLabel lib + [JavaScript bindings] + Bug #1526: fix a bug that JavaScript binding related samples will crash on iOS devices + Feature #1469: add MoonWarriors as a sample game + Refactor #1487: use shared JavaScript test cases with cocos2d-html5 and cocos2d-iphone + Refactor #1517: upgrade SpiderMonkey to FF 17.0 beta3 + [Lua bindings] + Bug #1506: fix a compilation error of TestLua if the path of cocos2d-x contains spaces + [win32] + Bug #1496: fix an error of comparing font's face name in CCImage of win32 port + Bug #1511: fix openGL framebuffer access violation + Bug #1540: fix win32 CCLuaLog memory leaks and invalid console UTF8 output + Feature #1513: add Multi-Touch support for win7/8 tablet or ultrabook + Refactor #1512: change writable directory to "C:\Documents and Settings\username\Local Settings\Application Data\your app name" if the app be built in release mode + +cocos2d-2.0-x-2.0.3 @Sep.26 2012 + [all platforms] + Bug #1452: change CCRGBAProtocol to public in order for actions like CCTintTo to have an affect on the CCScale9Sprite + Bug #1454: make JavaScript binding work together with Lua binding and c++ codes + Bug #1464: fix a crash caused by CCLabelBMFont + Bug #1478: fix a bug that TMX parser causes tileset images not to be loaded + Bug #1479: fix a bug that CCNotificationCenter does not check whether the object is valid before post notification + Bug #1485: fix potential memory leak in CCNotificationObserver + Feature #1458: add CCTableView + Feature #1460: min/max allowed value for CCControlSlider + Feature #1470: update CCBReader to cocosbuilder v2.1 beta + Feature #1483: synchronize CCControlExtension to newest version + Refactor #1477: abstracts Lua and JS binding protocol, some bugs fixes in lua-binding, adding custom menu on win32 and mac for switching resolutions + [iOS] + Bug #1482: fix a bug that orientation is wrong on iOS 6 SDK + Bug #1453: fix a bug that CCGL.h includes wrong path of a header file + Bug #1484: fix a minor memory-logic error in EditBoxImplIOS.mm + Feature #1455: add Xcode template for cocos2dx-js + [android] + Refactor #1481: refactor android Java+JNI + [mac os] + Bug #1456: remove code signing from MAC TestCpp project + [linux] + [win32] + Feature #1457: Add vs2012 sln + Feature #1474: popup a warning dialog instead of crash directly when OpenGL version is too old to run 2dx + [js-bindings] + Feature #1451: merge new js-binding codes + Refactor #1476: update location of spidermonkey-android makefile + [lua] + Refactor #1480: Update lua-binding for overloaded functions + [tools] + Feature #1404: add scripts for jenkins-ci + +cocos2d-2.0-x-2.0.2 @Aug.30 2012 + [all platforms] + Bug #1298: fix a logical error of CCSequence + Bug #1371: fix a particle crashes if setAutoRemoveOnFinish(true) + Bug #1379: fix a typo error of comment in CCNode.cpp + Bug #1381: fix a bug that CCLayerColor::setContentSize() declared differently with CCNode::setContentSize() + Bug #1382: fix a crash of CCBReader caused by null pointer + Bug #1384: fix an error when loading CCControlButton from ccbi + Bug #1385: fix a logic error in BitmapFontMultiLineAlignment + Bug #1386: fix a crash of PauseResumeActionsTest + Bug #1395: fix a bug that CCTextureCache::addImage ignores error in CCTexture2D::initWithImage() + Bug #1400: re-assign texture rect of CCControlSlider to consider SpriteFrame orientation + Bug #1403: fix a bug that do not support png8 format + Bug #1408: fix a bug that CCMenuItemImage is not loaded when the target and selector are empty in CCBReader + Bug #1409: fix a bug that loading CCControlButton from ccbi failed + Bug #1427: fix a bug that CCArray::randomObject() may use index that out of range + Bug #1430: fix a bug that can not compute correct label's width or height when its value is 0 + Bug #1440: fix a bug that CCSprite::displayFrame() uses wrong offset to create a sprite frame + Feature #1416: add object-oriented API of CCGeometry + Feature #1405: implement multi-resolution adaption solution + Feature #1424: add a simple wrapper of http access + Feature #1429: add CCEditBox which wraps system edit control + Feature #1439: synchronize to cocos2d-iphone 2.0 stable version + Refactor #1399: adjust directory structure + Refactor #1402: improve static creator function names to avoid confusion + Refactor #1413: improve CCTouch::getLocation(), getDelta() which returns OpenGL coordinates directly + Refactor #1437: change the return type of CCApplication::sharedApplication() and CCGLView::sharedOpenGLView() to a pointer + Refactor #1441: put hd and iPad resources of TestCpp into separate directories + Refactor #1442: use CREATE_FUNC to replace LAYER_CREATE_FUNC and SCENE_CREATE_FUNC + [iOS] + Bug #1389: fix a Xcode 4.5-specific compiling errors that can not convert -1 to unsigned int + Bug #1432: fix a bug that "MutiTouchTest" crashes on IOS if putting more than 5 fingers on the screen + Refactor #1383: change the file path that CCUserDefault saves xml file in + Refactor #1433: remove fpsxxx.png in template + Refactor #1443: Fix some warnings + [android] + Bug #1284: use OpenSL ES to play effects when the device is i9100 + Bug #1372: fix a typo error in platform/android/CCEGLView.h + Bug #1377: fix TMX Tile cracks in the Test App + Refactor #1407: cleaner build script + Refactor #1438: make android template use its own source files + [mac os] + Bug #1417: fix a compiling error when building TestCpp for mac port using command line + Feature #1401: add mac port + [win32] + Bug #1390: fix a win32 error says "The application failed to initialize properly" + [linux] + Bug #1445: fix compiling errors on linux + Feature #1419: add linux port + [blackberry] + Feature #1420: add blackberry port + +cocos2d-2.0-rc2-x-2.0.1 @Jun.28 2012 + [all platforms] + Bug #1257: synchronize CCGrabber.cpp + Bug #1280: fix a bug that BitmapFontMultiLineAlignment test doesn't work correctly + Bug #1286: fix the declaration of tgaLoadRLEImageData() + Bug #1293: fix a bug that CCDirector::getFrames() returns wrong value + Bug #1296: fix a logical error in CCTMXTiledMap::tilesetForLayer() + Bug #1300: fix a typo of CC_ENABLE_CACHE_TEXTTURE_DATA + Bug #1301: apply scissor with points in CCGLView::sharedOpenGLView().setScissorInPoints() + Bug #1302: change the parameter type of CCMenu::setHandlerPriority to signed int + Bug #1308: fix a logical bug in CCTouchDispatcher + Bug #1326: fix a bug that the compilation of HelloLua and testjs project was broken after synchronizing to rc2 + Bug #1330: fix bugs of CCBIReader + Bug #1335: fix memory leaks in cocos2dx and CCBReader + Bug #1368: implement a test case(Effect4) in EffectsAdvancedTest + Feature #1202: remove CCFileData + Feature #1310: synchronize to rc2 + Feature #1323: support CCBIReader + Feature #1324: add create() for static member functions that new an autorelease object + Feature #1332: add macro COCOS2D_VERSION in cocos2d.h + Feature #1333: support CCScrollView + Feature #1334: add ScrollViewTest to CocosBuilderTest + Refactor #1181: refactor CCRenderTexture + Refactor #1283: use relative path in cocos2d.h + Refactor #1288: enhances CCTransitionScene to work even if there is no running scene + Refactor #1289: update CCControlButton: add zoomOnTouchDown property and setPreferredSize + Refactor #1292: modify some function names to make them more readable + Refactor #1336: use CC_DEPRECATED_ATTRIBUTE macro to mark deprecated interfaces + Refactor #1367: change some function names that start with "createWith" to "create" + [iOS] + Bug #1290: fix a bug that a project generated by template can not find Shaders folder + Bug #1297: fix a bug that the effect is wrong when using projection 2d and enabling retina + Bug #1299: fix a bug that SimpleAudioEngine::resumeEffect and SimpleAudioEngine::resumeAllEffects will play effects that are played previously + Bug #1315: fix wrong effect of TileMapTest when enabling retina + Bug #1338: fix a crash of CocosdenshionTest when playing effect then clicking HOME menu + Bug #1343: fix a bug of Xcode template + Bug #1364: fix a bug that can not resume background music after pausing it + Refactor #1269: generate project for cocos2dx, then HelloWorld, tests, HelloLua and testjs can refer it + [android] + Bug #1239: fix a bug that can not stop effect if play effect with loop mode twice + Bug #1278: fix a bug that CocosDenshion::unloadEffect() can not stop playing effect + Bug #1322: make CCLabelTTF support vertical alignment + Refactor #1287: make android template's build_native.sh automatically copy new icons + Refactor #1329: move all java files part of engine into a certain directory, then all projects refer them + [win32] + Bug #1282: fix a crash that if the display card is ATI + Bug #1344: fix a bug of win32 template + Bug #1365: fix a bug that some files of Resources folder which is copied by build_native.sh will lost authority in cygwin + Bug #1366: fix a crash of tests + [lua] + Bug #1369: fix a crash when invoking CCLabelTTF:setPosition(x,y) + Feature #1327: export 'create' method for Lua bindings + +cocos2d-2.0-rc0a-x-2.0 @May.31 2012 + [all platforms] + Bug #1094: fix a bug that nothing will be shown when using CCParticleBatchNode + Bug #1115: fix a bug that CCFileUtils::fullPathFromRelativePath() with resolution parameter return error value with empty string + Bug #1137: fix a memory leak in CCLabelBMFont and sync the implementation of CCLabelBMFont to gles20 branch + Bug #1138: fix a memory leak in CCTextureCache::addPVRImage. + Bug #1155: revert CCDirector singleton to original implementation + Bug #1157: fix a bug that nothing is shown in TMX Orthogonal Test + Bug #1158: fix a bug in CCParticleSystemQuad + Bug #1159: update "CallFuncND + auto remove" test demo + Bug #1160: rename 'CGFloat' to 'CCFloat' + Bug #1164: add the render mode which uses VBO without VAO in CCParticleSystemQuad + Bug #1165: merge pull request #842 + Bug #1187: fix a bug that spanish(Buen día) cannot be shown completely in CCLabelBMFont unicode test + Bug #1189: CCLabelBMFont updateLabel() optimizations and fixes + Bug #1212: fix a bug that TMXBug787Test crash. + Bug #1217: fix a bug that EaseActions reverse broken + Bug #1232: fix a bug that CCLayerGradient::updateColor() assign wrong value to m_pSquareColors + Bug #1244: fix memory leak in CCParticleSystem::initWithDictionary() + Bug #1273: fix a bug that app will crash after clicking closed button in TextureCacheTest + Bug #1275: fix memory leaks in tests project + Bug #1277: implement CCToggleVisibility::copyWithZone() + Feature #1114: integrate CCControlExtension and implement corresponding tests + Feature #1180: synchronize CCConfiguration + Feature #1194: merge texturewatcher contributed by NetGragon + Feature #1205: add ccbreader and test case for CocosBuilder + Feature #1240: support TIFF format picture + Feature #1258: merge Rolando's testjs into gles20 branch + Refactor #1156: synchronize CCDirector + Refactor #1166: improve CCString and CCArray, optimize CCDictionary + Refactor #1176: change linebreak symbol to UNIX format ('\n'), replace 'tab' with four spaces + Refactor #1177: refactor platform + Refactor #1178: use macro NS_CC_BEGIN instead of "namespace cocos2d {", NS_CC_END instead of "}" + Refactor #1188: refactor directory structure + Refactor #1191: update templates for all platforms + Refactor #1198: optimize CCTextureCache::removeUnusedTextures() + Refactor #1203: remove CCFileUtils::setResource(const char* pszZipFileName) and SimpleAudioEngine::setResource + Refactor #1204: refactor AppDelegate::initInstance() + Refactor #1206: remove some unused files, only supports iOS, win32 and android + Refactor #1211: translate Chinese comments to English for CCTextureWatcher and CCListView + Refactor #1246: fix CCDirector using CCLabelBMFont instead of CCLabelTTF + Refactor #1252: add CCEGLViewProtocol::getFrameSize() method for getting the real screen size of device + Refactor #1253: add static method "purgeConfiguration" for CCConfiguration to avoid memory leak + [iOS] + Bug #1109: add parentheses to remove Xcode warnings + Bug #1230: fix a bug that Calculation of string width may be wrong on iOS + Bug #1266: fix a bug that CCTextureCahce::addImageAsync() don't work correctly on iOS + Feature #1095: IOS screen resolution support + [android] + Bug #1139: fix a bug that screen becomes black when backing from background + Bug #1140: fix a bug that ParticleTest crashed + Bug #1141: fix a bug that NodeTest crashed in StressTest1 and StressTest2 + Bug #1142: fix a bug that TouchesTest crashed + Bug #1143: fix a bug that MenuTest crashed + Bug #1144: fix a bug that ParallaxTest crashed + Bug #1145: fix a bug that TileMap crashed + Bug #1146: fix a bug that IntervalTest crashed + Bug #1147: fix a bug that ChipmunkAccelTouchTest crashed + Bug #1148: fix a bug that LabelTest crashed + Bug #1149: fix a bug that SpriteTest crashed when go to second test case + Bug #1150: fix a bug that RenderTextureTest crashed at second test case + Bug #1151: fix a bug that Box2DTest crashed + Bug #1152: fix a bug that PerformanceTest crashed at 1, 2, 5 test cases + Bug #1185: fix a bug that when backing to foreground, will lost texture if it uses sprite batch node + Bug #1216: fix JNI memory leaks + Bug #1229: fix a bug that android port can not be compiled on ndk android-8 level + Bug #1236: fix a bug that JniHelper::jstring2string may crash when parameter is null + Bug #1237: fix a bug that line number message printed by CCAssert is wrong + Bug #1279: fix a bug that NodeNonOpaqueTest can't be shown correctly + Feature #1247: add profiler support for android + Feature #1265: build dynamic library of SpiderMonkey for Android, and implement testjs for android + Refactor #1179: popup a message box when invoking CCAssert() on Android + Refactor #1201: simplify the usage of writing Android.mk + [windows] + Bug #1215: fix a bug that Win32 retina cannot work + Bug #1251: add CocosBuilderTest to the test project for VS2008 + Bug #1264: fix wrong string alignment when using utf-8 encoded text with CCLabelTTF + Bug #1268: fix a bug that Testjs will crash after clicking the close button on win32 + Bug #1270: fix some warning on win32 + Feature #1186: add console window for Win32 application, all debug message output to this console window + Feature #1263: build dynamic library of SpiderMonkey for win32, and add testjs project to solution + Refactor #1170: remove win32 template of wophone + [lua] + Refactor #1190: update Lua binding to 2.0 + Refactor #1220: using CCString::stringWithContentsOfFile to get string from Lua script files + + +cocos2d-1.0.1-x-0.12.0 @ Mar.5 2012 + [all platforms] + Bug #925: rename HelloWorld/Resource to HelloWorld/Resources + Bug #948: fix a bug that CCMutableArray::getIndexOfObject returns 0 on both "index 0" and "not existing" + Bug #951: remove definition of NSMutableSet + Bug #961: fix mad behaviour in second stage of CCEaseBackInOut + Bug #965: remove some dynamic_cast calling since selector_protocol.h was removed + Bug #967: fix a bug that PVR Textures cannot be reloaded after GL context lost + Bug #986: add init() funciton in CCMenu class + Feature #952: make CCLabelBMFont supports other languages, include Chinese, Korean, Janpanese and so on. + Feature #972: add Support for CCNotificationCenter + Refactor #933: refactor CCUserDefault + Refactor #958: move the implement of SelectorProtocol to CCObject + Document #975: add comment for CCTMXTiledMap::getMapSize and more methods + [iOS] + Bug #946: fix a bug that can not load HD image for both Retina and Normal correctly + Bug #762: fix a bug that CCLabelTTF is in different position (higher) than in previous version on iphone + Refactor #985: remove template for xcode3 + [android] + Bug #947: fix a bug that long chinese string causes closed loop on android + Bug #950: fix a crash when touching the screen because of RTTI + Bug #954: fix a bug that accelerometer axes inverted on android tablet when setting orientation to portrait + Bug #957: fix a bug that when running textInputTest, application enters background after input character and click back key on android devices + Bug #959: fix a bug that get wrong multitouch id + Bug #964: fix a bug that can not show whole charactor + Bug #971: fix dynamic_cast error on android + Feature #982: make android template supports box2d, chipmunk and lua + Refactor #970: use modules in the Android NDK build + Bug #1008: fix a bug that missing "return" in SimpleAudioEngine::getEffectsVolume() method on android platform + [bada] + Bug #984: use static library for cocos2dx project on bada and qnx platform + [blackberry] + Bug #960: detect when the application goes and return from background in QNX (Black Berry Playbook) + Bug #962: fix some bugs on qnx port + Bug #963: fix a bug that applicationWillEnterForeground will be invoked twice when application is launched + Bug #968: fix a bug about "Out of bound" in CCFileUtils::getWriteablePath() for BlackBerry + Feature #994: add support for bbndk2.0 + [marmalade] + Bug #995: modify project configure for marmalade port after adding extension support and refactor resource folder + [win32] + Feature #969: implement Accelerometer Simulation for Win32. + [lua] + Bug #942: fix a crash when invoking CCScheduler:sharedScheduler():scheduleScriptFunc in lua + Bug #953: add tolua++ for Mac + Refactor #973: refactor Lua support + +cocos2d-1.0.1-x-0.11.0 @ Jan.13 2012 + [blackberry] + Feature #907: support blackberry playbook + [all platforms] + Bug #752: fix a bug that enable and disable touch more times in touch handler callback function may cause memory leak + Bug #911: fix a bug that TextureCache::addUIImage() cannot create texture when key is null + Bug #920: export export functions in CCAffineTransform with CC_DLL + Bug #922: make CCTexture2D::setPVRImagesHavePremultipliedAlpha() to be a static function + Bug #926: fix a crash caused by RTTI when running TouchesTest + Bug #936: fix a bug that touch menu item may crash when selector is null + Feature #892: use RTTI to simplify the codes + Feature #903: add touch index for CCTouch + Refactor #934: add 'isEqual' function for CCString, make CCObject::isEqual to a virtual function + Refactor #940: use new icons and new background pictures with new logo of cocos2d-x + [android] + Bug #923: fix a bug that CCTextureCache::addImageAsync() crashes when a game enters foreground from background + Bug #906: remove unneeded codes in CCImage_android.cpp + Bug #910: fix a bug that create-android-project.bat may erase exist folder with appointed name + Bug #884: fix a crash error caused by CocosDenshion on android simulator + Bug #921: fix a bug that accelerometer axes inverted in Motorola Xoom tablet + Bug #928: fix a bug that 16-bit texture is changed to 32-bit after application enter foreground + Bug #935: fix a bug that terminateProcessJNI() invoke wrong jni function + Bug #937: fix a compiling error on android x86 + Bug #941: fix a bug that volume of background music may not in [0, 1.0] + Feature #887: define GL_GLEXT_PROTOTYPES = 1 automatically when compile on ndk r7 + Feature #919: improve build_native.sh and create-android-project.sh + Refactor #924: make loading music resources thread safe + Document #837: Write a document describes how to use jni + Document #914: update document to fit android r5~r7 + [iOS] + Bug #917: implement CCFileUtils::getFileDataFromZip() + Feature #893: remove cached data when receiving memory warning on iOS + [bada] + Bug #918: fix a compiling error after renaming airplay to marmalade + Bug #927: fix a crash caused by invoking unloadEffect after invoking stopEffect + Bug #938: fix a bug that glGenFramebuffersOES isn't supported on wave m device + Bug #943: fix a bug that box2d can't be compiled successfully on bada sdk 1.2.1 + Refactor #904: Recreate bada 2.0 projects + [win32] + Bug #915: fix a bug that msvc template uses old version of .cpp files + [linux] + Bug #888: fix compiling error with eclipse + Bug #930: fix a crash caused by load jpg format files + [marmalade] + Refactor #908: merge marmalade to latest cocos2d-x source + +cocos2d-1.0.1-x-0.10.0 @ Dec.2 2011 + [bada] + Feature #223 integrate cocos2d-bada branch to master + Bug #852 fix a bug that CCSpriteBatchNode cannot be drawn correctly + [all platforms] + Feature #854 integrate pthread and write a test case on all platforms + Feature #465 implement CCTextureCache::addImageAsync() + Feature #850 upgrade box2d from 2.1.2 to last 2.2.1 + Feature #781 add functions for effects + Feature #760 add methods to get/set CCDirector::m_pNotificationNode + Bug #883 fix the crash of SpriteTest + Refactor #879 use CCAssert() instead of assert() + Document #882 Write a document describes some cautions about using pthread + [android] + Feature #838 support android x86 platform + Bug #758 fix a bug that custom TTF fonts causing low memory + Bug #848 fix a bug that accelerometer values are wrong if the content is scaled + Bug #885 fix a bug that SimpleAudioEngine::setEffectVolume() don't take effect immediately + Document #864 write a describe how to build on sdk 4.0 & ndk-r7 + Document #878 write a document describe how to build project for x86 android + Document #881 write a document describes building android ndk project with ndk-r7 + [linux] + Bug #780 fix build error on ubuntu 11.0 + Bug #776 fix a bug in the audio player + +cocos2d-1.0.1-x-0.9.2 @ Oct.20,2011 + [linux] + Feature #728 Linux port is born! http://www.cocos2d-x.org/projects/cocos2d-x/wiki/How_to_run_HelloWorld_and_tests_on_linux + [all platforms] + Feature #672 Implements copyWithZone() for CCShow & CCHide + Feature #676 add more languages into CCApplication::getCurrentLanguage() + Feature #678 add private constructor for CCArray + Feature #684 add test case for CCApplication::getCurrentLanguage() + Feature #685 add test case in LabelTest to display Chinese charactors + Bug #675 Fix memory leak in CCLayer when using accelerometer + Bug #686 CCTMXLayer::appendTileForGID() not setting Z index tag causes the first screen of tiles to be re-created + Bug #689 CCRect should assert the width and height is positive + Bug #698 CCSprite::init() is excited twice in all CCSprite's static methods + Bug #700 CC_SWAP32 marco has a typo with leads to error swap result + Bug #701 CCZHeader.version should be unsigned short + Bug #715 CCFadeOut causes a crash when applied to CCMenuItem and m_pSelectedImage is NULL + Bug #718 fix a typo in method CCMenu::alignItemsInRows + Bug #749 CCSpriteTest crashes at the test case SpriteNilTexture + Bug #750 CCTextureCache::textureForKey() can't find textures added by function addUIImage() + Refactor #677 Pass arguments by reference instead of pointer if possible + Refactor #703 Refactor Accelerometer. Because it only sends data to one delegate, so it needs only one setDelegate() + Document #692 Describe the usage of view orientation http://www.cocos2d-x.org/projects/cocos2d-x/wiki/About_device_orientation + [android] + Feature #670 Pause & resume effect playing when activity is paused & resumed + Feature #687 Implement preloadBackgroundMusic to android + Feature #688 Support reading resources not only from apk + Feature #726 use external storage on android + Feature #746 add a helper method to draw filled polygons + Bug #683 getPackagenameJNI() and getCurrentLanguageJNI() mustn't return invalid pointer + Bug #696 Some android devices may crash at CCRenderTexture::end(bool) + Bug #719 CocosDenshionTest crashes when start the test case on android + Bug #714 CCLabelTTF has different visual result between Android & Windows + Bug #727 Memory leak of NewStringUTF + Bug #736 Remove android:installLocation in AndroidManifest.xml + Bug #743 nativeInit is called with wrong screen size when running on device with software android buttons + Bug #744 CCUserDefault crashes in v0.9.1 + Bug #755 Multi-touch causes crash on sum sung devices + [ios] + Bug #660 CCLabelBMFont image error in retina display + Bug #693 CCLabelTTF can not break line by '\n' on iOS + Bug #716 subbing & adding volume of sound effects don't change volume little by little on iOS + Bug #738 Passing CCSize(width,0) to CCLabelTTF causes the label invisible + Bug #753 visual orientation is wrong on ios5 simulator + Bug #754 Missing png file for CCLabelAtlas cause crashes on iOS 4.3.3 & 5.0 + [win32] + Feature #731 add ability of simulating android back/menu key on win32 + Feature #735 add ability of simulating android enter/resume background on win32. Shift+F1=android Back, Shift+F2 =android Menu + Feature #745 export CCTime to all + Bug #747 Win32 templates should put all resources into "Resources" folder + Bug #748 build error in win32 release version + [wophone] + Bug #702 tests crash at the start on wophone devices + [lua] + Feature #704 Print error descriptions ad pop error code in CCLuaScriptModule::executeString & CCLuaScriptModule::executeScriptFile + Feature #707 Support 'require' for Lua on android + Feature #732 Add particle systems to Lua bindings + Feature #733 Use ant to generate a Lua project, refer to http://www.cocos2d-x.org/boards/11/topics/3957 + Feature #734 Use ant to generate LuaCocos2d.cpp + + +cocos2d-1.0.1-x-0.9.1 @ Aug.17,2011 + [all platforms] + Feature #347 Support custom TTF fonts + Feature #536 Support PVR Texture + Feature #645 update to cocos2d-iphone v1.0.1 + Feature #633 allow SimpleAudioEngine::playEffect repeatly + Feature #630 implement CCRenderTexture::saveBuffer method + Feature #613 Call executeCallFuncN instead of executeCallFunc in CCMenuItem::active() + Feature #620 add Texture2d test case + Feature #638 Add support for per ccz format + Feature #641 users can CCRenderTexture::saveBuffer to any path + Feature #643 swap Accelerometer input x/y according to the orientation + Feature #665 add test case for CCRenderTexture::saveBuffer + Bug #513 CCProgressTimer doesn't work with CCspriteFrameCache + Bug #609 Retain & Release CCObject in CCSet + Bug #628 CCMutableArray::arrayWithObjects should autorelease array object + Bug #629 pass eImgFmt to initWithImageData in initWithImageFile + Bug #636 CCTextureCache::textureForKey() can't find the right texture + Bug #639 m_PositionInPixels isn't correctly initialized + Bug #640 the image read from render texture is upseted + Bug #644 CCSpriteBatchNode::removeAllChildrenWithCleanup() not work as expected + Bug #680 CCtouchDispatcher::rearrangeHandlers() crash + Refactor #623 refactor Cocos2dJni.cpp + Refactor #652 refactor char* JniHelper::jstringtochar() + Document #622 comment CCUserDefault in doxygen format + Document #651 add CCFileUtils to oxygen api document + [lua] + Feature #679 bind Lua to CocosDenshion + Feature #647 add a method to set search path of Lua script + Feature #611 Add some methods in CCMenuItemLabel & CCMenuItemToggle for lua + Feature #612 Export CCNode::getContentSizeInPixels & setContentSizeInPixels to lua + Feature #653 add CCScheduler::unscheduleScriptFunc + Bug #615 CCLOG may crash in LuaEngineImpl + [android] + Feature #610 Remove the support of ndk-r4 crystax.net version + Bug #608 CCRenderTexture cannot show textures after sleep and wake-up + Bug #618 HelloWorld & Tests crash when X is clicked + Bug #619 CCFadeTo may crash on android + Bug #624 CCLabelTTF::setString("\n\n\n") crashes on android + Bug #625 test_image_rgba4444.pvr.gz can not packed into app + Bug #631 TextInputTest crash when input nothing + Bug #637 Create resources folder instead of resource in create-android-project.sh + Bug #648 CCRenderTexture::saveBuffer may crash on some devices like Moto Defy + Bug #655 CCLabelTTF doesn't draw all characters, it may lost the last char + Refactor #656 refactor CCFileUtils, make it support reading data from directory other than assets + [ios] + Feature #642 CCImage_ios.mm should be modified for saving image + Feature #658 xcode3 template should create AppDelegate.cpp/.h instead of ${PROJECT_NAME}AppDelegate.cpp/.h + Feature #661 fix TMXTiledMap for iPhone Retina mode + Bug #667 AppDelegate::applicationDidEnterBackground isn't invoked on iOS + Bug #668 CCLabelBMFont display 4 characters in a square per character block in retina mode + [win32] + Feature #620 change Lua library to static lib + Feature #632 Update visual studio template for Lua support + + +cocos2d-1.0.0-x-0.9.0 @ Jul.14,2011 + [all platforms] + Feature #584 sync with cocos2d-iphone v1.0.0 + Feature #601 use Chipmunk v5.3.5 + Feature #581 change return types of xxxAction::reverse() to its own type + Bug #522 CCSpriteFrameCache::addSpriteFramesWithFile(const char* pszPlist) crashed if the param have no '/' + Bug #522 CCTextureCache::removeTextureForKey(const char*) cache the image path incorrectly + Bug #573 CCLayerColor does not init its m_tColor, which will result to a random color + Bug #576 some CCMutableDictionary methods must return _KeyT instead of std::string + Bug #577 CCReverseTime may crash + Bug #578 Debian & LavaFlow of ParticleTest have not picture, the effect of ParticleFire is wrong + Bug #580 ShuffleTilesTest of EffectText may crash + [ios] + Bug #546 CCLabelTTF::labelWithString() works incorrectly when height = 0 + Bug #604 test.xcodeproject miss Summary & Info in xcode4 since v0.8.5 + [android] + Feature #547 deal with line wrap of CCLabelTTF::initWithString(...) + [win32] + Bug #659 ChipmunkTest Sensors crashes in a few seconds + Bug #583 SimpleAudioEngine::playBackgroundMusic(const char*, true) have no sound on win32 + Bug #605 export C methods in CCNS.h to dll interfaces + Bug #548 export CCConfiguration to dll interfaces + [marmalade/airplay] + Bug #600 incorrect memory allocation in marmalade port + Refactor #582 use libpng instead of CIwImage in CCImage_airplay.cpp + [wophone] + Bug #545 fix the wrong effect of ChipmunkTest + Bug #606 PageTransitionForward in TransitionsTest has wrong visual effect + + + +cocos2d-0.99.5-x-0.8.5 @ Jun.28,2011 + [all platforms] + Feature #577 Lua Support! We export all the cocos2d-x classes & methods to lua! + Please compile and run HelloLua, and read HelloLua/Resource/hello.Lua for more details. + And the Lua new project template/wizard is ready on xcode3, xcode4 and VisualStudio2008 & 2010 + Feature #398 Xcode4 templates! Run install-template-xcode.sh to do the magic + Feature #323 Internationalization support! Add CCApplication::getCurrentLanguage() method on all platforms + Feature #529 add static node() method to CCLayerColor & CCLayerGradient + Bug #534 don't raise compile error if ios project includes CCImage.cpp & CCFileUtils.cpp + Bug #429 Effect is wrong when the value of defaultAlphaPixelFormet=kCCTexture2DPixelFormat_A8 in CCTexture2D + Bug #491 Unsafe cycle in CCScheduler::unscheduleAllSelectors + Bug #502 Refactor the singleton mode of CCConfiguration + Bug #512,#525 fix warnings in /Wall flag + Bug #516 Undefined behavious in ccCArray.h (signed / unsigned conversion) + Bug #518 CCScheduler::unscheduleAllSelectors() uses tHashSelectorEntry in wrong way + Bug #521 the effect of PageTurn3D is curious + Bug #523 CCParticleSystemQuad::particleWithFile() can't work correctly + Bug #524 CCFileUtils::dictionaryWithContentsOfFile() can't parse special plist format + Bug #526 glScissior can't work correctly when use autoscale function + Bug #543 EffectTest renders x4 scale when use auto-scale on android/win32/wophone + Bug #544 some test cases of TransitionTest renders x4 scale when use auto-scale on android/win32/wophone + [android] + Bug #490 TextInputTest show words on soft keyboard detach instead of each key pressed + Bug #507 RenderTextureTest failed on some android devices + Bug #532 GLSurface has no response when tap screen frequently for a long time + Bug #542 SimpleAudioEngine::setBackgroundMusicVolume() not work when background music changed + Refactor #535 remove skia dependence when drawing strings, which cause bug #507 + [ios] + Feature #540 Add RootViewController into xcode3/xcode4 templates. Games can use ios rotation mechanism + [win32] + Feature #537 Update PVRFrame lib to version 2.8 for ATI graphic card new driver + [wophone] + Bug #539 games on wophone wva devices probably failed on reading resource from zip package + + + +cocos2d-0.99.5-x-0.8.4 @ May.26,2011 + [android] + Feature #496 SUPPORT ANDROID 3.0! We test it on both Motorola XOOM & Samsung Galaxy Tab 10.1 (Highlight!!!!!) + Bug #494 typo fixed, Cocos2dxActivity::setPackgeName() to setPackageName() + Bug #495 Memory leak of CCFileUtils::getWriteablePath() + Bug #497 soft keyboard stays shown on some devices while the project includes CCTextFieldTTF + Bug #501 projects creaed by android template have the same package name + Bug #510 Tests progress is killed at the power down phase + [all platforms] + Feature #503 upgrade chipmunk from 5.1 to 5.3.4, keep sync with cocos2d-iphone (Highlight!) + Feature #509 For integrting IME, we had to rotate UI to landscape by default + Bug #499 CCRGBAProtocol isn't inherited and implemented in CCMenuItemSprite + [ios] + Bug #493 the return value of CCFileUtils::getWriteablePath() is not end with '/' + Bug #508 Problem in running Tests in Retina resolution since 0.8.2 + [win32] + Bug #492 CCFileUtils::fullPathFromRelativeFile forget to consider the path separated by '\' + Feature #489 Use GetCurrentDirectory instead of GetModuleFileName in CCFileUtils_win32.cpp + + + +cocos2d-0.99.5-x-0.8.3 @ May.12,2011 + [all platforms] + Feature #317 wrap input box for game dev, CCTextFieldTTF. (Highlight!) + Feature #455 implement CCUserDefault for data persistence (Highlight!) + Feature #456 integrate libcurl for network access (Highlight!) + Feature #468 implement CCProfiler & CCProfilingTimer + Feature #450 can set default pixel format other than RGBA888 + Feature #449 Remove the sources for mac platform. We plan to focus on mobile platforms & reduce the complexity + Refactor #451 Remove the event dispatcher and refactor CCLayer & CCMenu & CCParticleSystemPoint. + Refactor #452 Refactor CCDirector CCGrid CCNode, reduce the complexity + Refactor #472 Refactor duplicated modules under cocos2dx/platform, reduce the complexity + Bug #341 CCTMXFiledMap crashed when a child is not the obj of CCTMXLayer + Bug #371 A layer can't registered as a StandardTouchDelegate when touch event is handling + Bug #428 Function addChild low efficiency + Bug #448 CCCallFuncO crashes + Bug #467 CCLayer:m_eTouchDelegateType = ccTouchDeletateAllBit all the time + Bug #471 invoke CCFileUtils::setResourcePath may cause loading texture for ParticleSystem failed + Bug #484 CCTextureAtlas::initWithTexture() may cause memory leak + Bug #486 transition test FlipX, FlipY, FlipAngular, ZoomFlipXxx flickers on ios simulator & device + [ios] + Bug #447 really exit application when "x" button is clicked + Bug #460 cocos2dx + box2d template cannot find libxml2.dylib + [android] + Feature #393 use full version of libxml2, with xmlXPath.. serial methods + Feature #477 Set compilation default ndk version to r5 + Bug #374 replace the method for EGL rendering context lost + Bug #453 Android Cocosdenshion can't replace background music + Bug #462 no applicationDidEnterBackground / applicationWillEnterBackground on Android + Bug #470 use GAME_ROOT or other words instead of HELLOWORLD_ROOT in anroid new projects + Bug #475 CCImage::initWithString return true even if the bitmap hasn't been initialized + [win32] + Feature #454 Modify the including path of Box2D genereated by win32 template + Bug #459 the project create by template for vs use the RuntimeLibrary MTd, different with other project + [wophone] + Feature #482 Modify the resource data path for the new WoPhone SDK + Feature #487 Implement the function CCFiltUtils::getWriteablePath() on wophone + Refactor #466 Refactor CCFileUtils for the new packing approach on wophone + Bug #481 After power down & up, backlight will turn off automaticlly if there's no operation + Bug #485 reduce the CPU occupation, modify the approach of FPS control on wophone + [airplay] + Feature #480 add template for airplay + + + +cocos2d-0.99.5-x-0.8.2 @ Apr.7,2011 + [all platforms] + 390 Feature Implement performance test + 411 Feature support .plist format outputed by the last version of Zwoptex + 415 Feature Make all xxxFromFile methods can accept relative path + 439 Feature all file reading must pass though CCFileUtils::getFileData + 441 Feature Initialize pointers in construction & detect them in destruction + 427 Refactor refactor CCTMXXMLParser with multi-platform CCSAXParser design + 434 Refactor refactor class CCFileUtils + 396 Refactor remove ccxScopedPtr & ccxScopedArray, use STL instead + 350 Bug TransitionFade flickers + 391 Bug CCSpriteFrameCache doesn't support .plist files which format isn't equal to 0 + 420 Bug CCSprite::spriteWithFile() returns a valid object when the image file isn't present + 440 Bug Can't show MessageBox when imageFromFile can't find the image + [ios] + 349 Bug deal with plist files in binary format + 435 Bug CocosDenshion crashes at foreground/background switching + 438 Bug MotionStreak Test crashes on device + [android] + 421 Feature Add a template & new project script for android + 443 Feature implement CCKeypadDelegate on android + 367 Bug Android.mk of HelloWorld and Tests depends on alphabet order + 422 Bug the 2nd point in multi-touch isn't located to the correct coordinate + 430 Bug replace glColor4ub with glColor4f to avoid "called unimplement OpenGL ES API" on some android devices + 431 Bug ParticleFlower on G3 can't show the particles correctly + [win32] + 417 Bug No touchEnd when the mouse move out from the window + 424 Bug open vs2010.sln says cannot open CCamera.cpp + [airplay] + 379 Feature integrate airplay sdk port + 442 feature implement CocosDenshion on airplay port + + + +cocos2d-0.99.5-x-0.8.1 @ Mar.21,2011 + [all platforms] + 400 Bug typo, rename CCamera.cpp to CCCamera + 403 Feature rename cocos2d::UIEvent to cocos2d::CCEvent, to avoid class name conflict on ios + 405 Bug CCConfiguration::checkForGLExtension(const string&) sometimes may crashes + 407 Bug replace "CCGL.h" with "CCGL.h" in CCCamera.cpp, for case-sensitive systems + 408 Bug memory leak in CCImage::_initWithPngData + 409 Feature rename cocos2d::NSArray to cocos2d::CCArray, to avoid the conflict on ios + 418 Feature add copyright of cocos2d-iphone original authors to each file + 423 Bug fix compilation warnings when COCOS2D_DEBUG == 2 + [ios] + 404 Bug HiResTest isnot prerfect on HVGA/Retina yet + 410 Bug xcode3 template, cannot find libxml from header searh paths in release build + 419 Bug test case TMXIsoVertexZ in TileMapTst has wrong effect on ios + [android] + 399 Bug HelloWorld crashes when the screen is touched + 405 Bug CocosDenshion test, BGM isn't paused after HOME key tapped + [win32] + 395 Bug make AppDelegate.cpp created by VS wizard portable without any modification + 401 Bug VisualStudio template for 2010 OutputDir errors + + + +cocos2d-0.99.5-x-0.8.0 @ Mar.15,2011 + [all platforms] + 316 Feature Resolution auto adjustment, auto scale HVGA resource to WVGA or any other resolutions + 336 Refactor refactor platform porting layer + 253 Bug xml parser sometimes crashes + 375 Feature Rename NS,CG,UI prefix classes/definitions to CC prefix, avoid the crash at ios dev + 332 Feature upgrade tests from 0.99.4 to 0.99.5 + [ios] + 363 Bug CCLabelTTF can't treat line breaks and wrapping correctly. + 351 Feature CCLabelTTF cannot automatic line break on iphone + 352 Bug ccRemoveHDSuffixFromFile & CCFileUtils::getDoubleResolutionImage isnot work + 392 Bug border of sprite debug draw isn't scaled if enableRetinaDisplay(true) + 385 Feature implement ccos2d::CCLog + 388 Feature update the template for iOS + [android] + 247 Feature support multitouch + 242 Feature support accelerometer on android + 353 Feature support jpg on android + 344 Feature add APP_ABI := armeabi armeabi-v7a to improve the performance on some devices + 356 Bug CCLabelTTF::initWithString crashed + [wophone] + 386 Bug resolve the compile conflict on wophone sdk + 383 Bug The approach which handle left soft-key clicked is not work + 377 Feature Replace the word "uphone" with "wophone" + 357 Bug CCLabelTTF doesn't support words contain line breaks. + 348 Bug CCLabelTTF blur if color = white and fontSize < 24 + [win32] + 373 Feature Disable PVRFrame window when cocos2d running + 355 Bug CCLabelTTF doesn't support line breaks and wrapping words + 300 Feature wizard for Visual C++ 2008 Express & VS2010 Express/Professional + + + +cocos2d-0.99.5-x-0.7.2 @ Jan.26,2011 + [all platforms] + - upgrade engine logic internal & interfaces to 0.99.5 + - the list of menu items in tests is showing how to scroll now + - lots of bugs fixed + [iphone] + - add new project templates for Xcode + - add the c++ wrapper for CocosDenshion::SimpleAudioEngine + - support UTF8 charactors in text renderring, such as CCLabelTTF, CCMenuItemFont + [android] + - add CocosDenshion::SimpleAudioEngine implement on android + - the engine can adjust the apk filename automatically + - the engine will not crash at surface recreate, especially at background-to-foreground switching + [wophone] + - switch the game to background, then press power key will not cause the background music play again + - remove the methods of using resouce map in cocos2d-wophone & SimpleAudioEngine. + Only zip resource is recommended and suppported. + - can auto find the installed path of your game, and load zip resource file from the current folder. + No absolute path in code any more. Do this to support installing games to micro-SD card + + + +cocos2d-0.99.4-x-0.7.1 @ Dec.20,2010 + [all platforms] + - add CCKeypadDelegate class, which enable CCLayer to respond "back" key in wophone & android + - Add namespace for CocosDenshion + - fix compile errors when enable CC_XXX_DEBUG_DRAW switchs in ccConfig.h + - fix memory leaks on each platform + - more details: http://www.cocos2d-x.org/versions/show/5 + [android] + - Run through all the test cases of cocos2d, support ndk r4,r5, sdk higher than 2.0. Tested on HTC G2,G3,G6,G7 + - HelloWorld integrate all platforms in one directory now + - WANRNING: this version isn't ready for android games porting yet. The CocosDenshion isn't ported to android, + and this version will crashes when screen orientation changes or the game gack to foreground + look more on this bug http://www.cocos2d-x.org/boards/10/topics/202 + [iphone] + - Add support of loading textureImageData from the ParticleDesign plist file + - Fix more then 3000 complie warnings + - You can try to use this version to develop your iOS game now. It's much more stable than the previous version + [wophone] + - Games can easily read resources from zip file now. This will drastically reduce the memory usage + - Add power management: pause the message loop when cocos2d-x game is switched to background or backlight down + - Multi-touch support + [win32] + - SimpleAudioEngine can play background musci with repeating now + + + +cocos2d-0.99.4-x-0.7.0 @ Nov.29,2010 +* cocos2d-iphone-cpp port ready! include accelerometer & multi-touch +* refactor the directory structure of HelloWorld & tests +* cocos2d-wophone supports accelerometer +* add cocos2d-x wizard for cocos2d-win32 & cocos2d-wophone for VisualStudio2008 +* jump out a message box when load texture failed (win32 & wophone) +* more details: http://www.cocos2d-x.org/versions/show/4 + +cocos2d-0.99.4-wophone-win32-stable-rc1 + http://www.cocos2d-x.org/versions/show/1 + http://www.cocos2d-x.org/versions/show/2 + http://www.cocos2d-x.org/versions/show/3 + + diff --git "a/21451144\351\203\221\347\205\234/LastHW/cocos2d/CMakeLists.txt" "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/CMakeLists.txt" new file mode 100644 index 00000000..7db3ea14 --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/CMakeLists.txt" @@ -0,0 +1,280 @@ +#/**************************************************************************** +# Copyright (c) 2013 cocos2d-x.org +# Copyright (c) 2012-2013 martell malone +# +# http://www.cocos2d-x.org +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# ****************************************************************************/ + +cmake_minimum_required(VERSION 2.8) +project (Cocos2dx) + +# The version number +set(Cocos2dxSamples_VERSION_MAJOR 3) +set(Cocos2dxSamples_VERSION_MINOR 0) + +include(build/BuildHelpers.CMakeLists.txt) + +if(WIN32 OR APPLE) + +option(USE_CHIPMUNK "Use chipmunk for physics library" ON) +option(USE_BOX2D "Use box2d for physics library" OFF) +option(DEBUG_MODE "Debug or release?" ON) +option(BUILD_LIBS_LUA "Build lua libraries" OFF) +option(BUILD_EXTENSIONS "Build extension library" ON) +option(BUILD_EDITOR_SPINE "Build editor support for spine" ON) +option(BUILD_EDITOR_COCOSTUDIO "Build editor support for cocostudio" ON) +option(BUILD_EDITOR_COCOSBUILDER "Build editor support for cocosbuilder" ON) + +option(BUILD_CppTests "Only build TestCpp sample" ON) +option(BUILD_LuaTests "Only build TestLua sample" OFF) +else()#temp + +option(USE_CHIPMUNK "Use chipmunk for physics library" ON) +option(USE_BOX2D "Use box2d for physics library" OFF) +option(DEBUG_MODE "Debug or release?" ON) +option(BUILD_LIBS_LUA "Build lua libraries" ON) +option(BUILD_EXTENSIONS "Build extension library" ON) +option(BUILD_EDITOR_SPINE "Build editor support for spine" ON) +option(BUILD_EDITOR_COCOSTUDIO "Build editor support for cocostudio" ON) +option(BUILD_EDITOR_COCOSBUILDER "Build editor support for cocosbuilder" ON) + +option(BUILD_CppTests "Only build TestCpp sample" ON) +option(BUILD_LuaTests "Only build TestLua sample" ON) +endif()#temp + + +if(DEBUG_MODE) + set(CMAKE_BUILD_TYPE DEBUG) +else(DEBUG_MODE) + set(CMAKE_BUILD_TYPE RELEASE) +endif(DEBUG_MODE) + +set(CMAKE_C_FLAGS_DEBUG "-DCOCOS2D_DEBUG=1") +set(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG}) + +if(WIN32) + ADD_DEFINITIONS (-D_USRDLL -DCOCOS2DXWIN32_EXPORTS -D_WINDOWS -DWIN32) + + if(MSVC) + ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS + -D_SCL_SECURE_NO_WARNINGS + -wd4251 -wd4244 -wd4334 + -wd4005 -wd4820 -wd4710 + -wd4514 -wd4056 -wd4996 -wd4099) + else(MSVC)#MINGW + + endif(MSVC) +elseif(APPLE) + + +else()#Linux +ADD_DEFINITIONS(-DLINUX) +endif() + + +if(NOT MSVC)# all gcc +set(CMAKE_C_FLAGS_DEBUG "-g -Wall -DCOCOS2D_DEBUG=1") +set(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG}) +set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} "-std=c99") +set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-std=c++11") +endif() + +if(MINGW) + add_definitions(-DGLEW_STATIC) + add_definitions(-D__SSIZE_T) + set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES} -lws2_32") + set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} -lws2_32") +endif() + + +if(USE_CHIPMUNK) + message("Using chipmunk ...") + add_definitions(-DCC_ENABLE_CHIPMUNK_INTEGRATION=1) +elseif(USE_BOX2D) + message("Using box2d ...") + add_definitions(-DCC_ENABLE_BOX2D_INTEGRATION=1) +else(USE_CHIPMUNK) + message(FATAL_ERROR "Must choose a physics library.") +endif(USE_CHIPMUNK) + +# architecture +if ( CMAKE_SIZEOF_VOID_P EQUAL 8 ) +set(ARCH_DIR "64-bit") +else() +set(ARCH_DIR "32-bit") +endif() + +if(WIN32) # Win32 + set(PLATFORM_FOLDER win32) +elseif(APPLE)# osx or ios + set(PLATFORM_FOLDER mac) +else() # Assume Linux + set(PLATFORM_FOLDER linux) +endif() + +include_directories( + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/cocos + ${CMAKE_CURRENT_SOURCE_DIR}/cocos/platform/desktop + ${CMAKE_CURRENT_SOURCE_DIR}/cocos/platform/${PLATFORM_FOLDER} + ${CMAKE_CURRENT_SOURCE_DIR}/cocos/audio/include + ${CMAKE_CURRENT_SOURCE_DIR}/cocos/editor-support + ${CMAKE_CURRENT_SOURCE_DIR}/cocos/scripting/lua-bindings/auto + ${CMAKE_CURRENT_SOURCE_DIR}/cocos/scripting/lua-bindings/manual + ${CMAKE_CURRENT_SOURCE_DIR}/extensions + ${CMAKE_CURRENT_SOURCE_DIR}/external + ${CMAKE_CURRENT_SOURCE_DIR}/external/tinyxml2 + ${CMAKE_CURRENT_SOURCE_DIR}/external/unzip + ${CMAKE_CURRENT_SOURCE_DIR}/external/edtaa3func + ${CMAKE_CURRENT_SOURCE_DIR}/external/chipmunk/include/chipmunk + ${CMAKE_CURRENT_SOURCE_DIR}/external/jpeg/include/${PLATFORM_FOLDER} + ${CMAKE_CURRENT_SOURCE_DIR}/external/png/include/${PLATFORM_FOLDER} + ${CMAKE_CURRENT_SOURCE_DIR}/external/tiff/include/${PLATFORM_FOLDER} + ${CMAKE_CURRENT_SOURCE_DIR}/external/webp/include/${PLATFORM_FOLDER} + ${CMAKE_CURRENT_SOURCE_DIR}/external/glfw3/include/${PLATFORM_FOLDER} + ${CMAKE_CURRENT_SOURCE_DIR}/external/freetype2/include/${PLATFORM_FOLDER} + ${CMAKE_CURRENT_SOURCE_DIR}/external/websockets/include/${PLATFORM_FOLDER} + ${CMAKE_CURRENT_SOURCE_DIR}/external/xxhash + ${CMAKE_CURRENT_SOURCE_DIR}/external/xxtea +) + +if(WIN32 AND NOT MINGW) + include_directories( + ${CMAKE_CURRENT_SOURCE_DIR}/external/${PLATFORM_FOLDER}-specific/gles/include/OGLES + ${CMAKE_CURRENT_SOURCE_DIR}/external/${PLATFORM_FOLDER}-specific/icon/include + ${CMAKE_CURRENT_SOURCE_DIR}/external/${PLATFORM_FOLDER}-specific/zlib/include + external/curl/include/${PLATFORM_FOLDER} + ) +elseif(APPLE) + include_directories( + ${CMAKE_CURRENT_SOURCE_DIR}/external/curl/include/${PLATFORM_FOLDER} + ) +else() + include_directories( + /usr/include + /usr/include/GLFW + /usr/local/include/GLFW + ${CMAKE_CURRENT_SOURCE_DIR}/external/${PLATFORM_FOLDER}-specific/fmod/include/${ARCH_DIR} + ) +endif() + + +if(WIN32) + + if(NOT MINGW) + link_directories( + ${CMAKE_CURRENT_SOURCE_DIR}/external/jpeg/prebuilt/${PLATFORM_FOLDER} + ${CMAKE_CURRENT_SOURCE_DIR}/external/tiff/prebuilt/${PLATFORM_FOLDER} + ${CMAKE_CURRENT_SOURCE_DIR}/external/png/prebuilt/${PLATFORM_FOLDER} + ${CMAKE_CURRENT_SOURCE_DIR}/external/freetype2/prebuilt/${PLATFORM_FOLDER} + ${CMAKE_CURRENT_SOURCE_DIR}/external/curl/prebuilt/${PLATFORM_FOLDER} + ${CMAKE_CURRENT_SOURCE_DIR}/external/${PLATFORM_FOLDER}-specific/icon/prebuilt + ${CMAKE_CURRENT_SOURCE_DIR}/external/${PLATFORM_FOLDER}-specific/zlib/prebuilt + ) + endif() + +elseif(APPLE) + +else() + + link_directories( + /usr/local/lib + ${CMAKE_CURRENT_SOURCE_DIR}/external/jpeg/prebuilt/${PLATFORM_FOLDER}/${ARCH_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/external/tiff/prebuilt/${PLATFORM_FOLDER}/${ARCH_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/external/webp/prebuilt/${PLATFORM_FOLDER}/${ARCH_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/external/png/prebuilt/${PLATFORM_FOLDER}/${ARCH_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/external/freetype2/prebuilt/${PLATFORM_FOLDER}/${ARCH_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/external/websockets/prebuilt/${PLATFORM_FOLDER}/${ARCH_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/external/${PLATFORM_FOLDER}-specific/fmod/prebuilt/${ARCH_DIR} + ) + +endif() + +# chipmunk library +add_subdirectory(external/chipmunk/src) + +# box2d library +add_subdirectory(external/Box2D) + +# unzip library +add_subdirectory(external/unzip) + +# tinyxml2 library +add_subdirectory(external/tinyxml2) + +# xxhash library +add_subdirectory(external/xxhash) + +# audio +add_subdirectory(cocos/audio) + +# cocos2d library +add_subdirectory(cocos) + +if(BUILD_EXTENSIONS) +# extensions +add_subdirectory(extensions) +endif(BUILD_EXTENSIONS) + +## Editor Support + +if(BUILD_EDITOR_SPINE) +# spine +add_subdirectory(cocos/editor-support/spine) +endif(BUILD_EDITOR_SPINE) + +if(BUILD_EDITOR_COCOSBUILDER) +# cocosbuilder +add_subdirectory(cocos/editor-support/cocosbuilder) +endif(BUILD_EDITOR_COCOSBUILDER) + +if(BUILD_EDITOR_COCOSTUDIO) +# cocostudio +add_subdirectory(cocos/editor-support/cocostudio) +endif(BUILD_EDITOR_COCOSTUDIO) + +## Scripting +if(BUILD_LIBS_LUA) +# lua +add_subdirectory(external/lua/lua) + +# tolua +add_subdirectory(external/lua/tolua) + +# luabinding +add_subdirectory(cocos/scripting/lua-bindings) + +# xxtea +add_subdirectory(external/xxtea) +endif(BUILD_LIBS_LUA) + +# build tests + +add_subdirectory(tests/cpp-empty-test) + +if(BUILD_CppTests) +add_subdirectory(tests/cpp-tests) +endif(BUILD_CppTests) + +if(BUILD_LuaTests) +add_subdirectory(tests/lua-tests/project) +add_subdirectory(tests/lua-empty-test/project) +endif(BUILD_LuaTests) diff --git "a/21451144\351\203\221\347\205\234/LastHW/cocos2d/README.md" "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/README.md" new file mode 100644 index 00000000..4112f6aa --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/README.md" @@ -0,0 +1,204 @@ + + + +cocos2d-x +========= + +[![Build Status](https://travis-ci.org/cocos2d/cocos2d-x.png?branch=v3)](https://travis-ci.org/cocos2d/cocos2d-x) +[![Build Status](https://travis-ci.org/cocos-travis-mac/cocos2d-x.png?branch=v3)](https://travis-ci.org/cocos-travis-mac/cocos2d-x) + +[cocos2d-x][1] is a multi-platform framework for building 2d games, interactive books, demos and other graphical applications. +It is based on [cocos2d-iphone][2], but instead of using Objective-C, it uses C++. +It works on iOS, Android, Windows Phone, OS X, Windows and Linux. + +cocos2d-x is: + + * Fast + * Free + * Easy to use + * Community Supported + +Git user attention +----------------------- + +1. After cloning the repo, please execute `download-deps.py` to download and install some dependences. + + $ cd cocos2d-x + $ python download-deps.py + +2. Please execute `download-deps.py` once you synchronize with this repo. If there aren't any updates, it will not download dependences again. + +How to start a new game +----------------------- + +1. Download the code from [cocos2d download site][4] +2. Run `setup.py` +3. Run the `cocos` script + +Example: + + $ cd cocos2d-x + $ ./setup.py + $ source FILE_TO_SAVE_SYSTEM_VARIABLE + $ cocos new MyGame -p com.your_company.mygame -l cpp -d NEW_PROJECTS_DIR + $ cd NEW_PROJECTS_DIR/MyGame + +### Build and run new project for android ### + + $ cocos run -p android -j 4 + +### Build and run new project for iOS ### + + $ cocos run -p ios + +### Build and run new project for OSX ### + + $ cocos run -p mac + +### Build and run new project for linux ### + +if you never run cocos2d-x on linux, you need to install all dependences by the +script in **cocos2d/build/install-deps-linux.sh** + + $ cd cocos2d-x/build + $ ./install-deps-linux.sh + +Then + + $ cd NEW_PROJECTS_DIR/MyGame + $ cocos run -p linux + +Run + + $ bin/MyGame + +### Build and run new project for win32 ### + + $ cocos run -p win32 + + +Main features +------------- + * Scene management (workflow) + * Transitions between scenes + * Sprites and Sprite Sheets + * Effects: Lens, Ripple, Waves, Liquid, etc. + * Actions (behaviours): + * Trasformation Actions: Move, Rotate, Scale, Fade, Tint, etc. + * Composable actions: Sequence, Spawn, Repeat, Reverse + * Ease Actions: Exp, Sin, Cubic, Elastic, etc. + * Misc actions: CallFunc, OrbitCamera, Follow, Tween + * Basic menus and buttons + * Integrated with physics engines: [Box2d][5] and [Chipmunk][6] + * Particle system + * Skeleton Animations: [Spine][7] and Armature support + * Fonts: + * Fast font rendering using Fixed and Variable width fonts + * Support for .ttf fonts + * Tile Map support: Orthogonal, Isometric and Hexagonal + * Parallax scrolling + * Motion Streak + * Render To Texture + * Touch/Accelerometer on mobile devices + * Touch/Mouse/Keyboard on desktop + * Sound Engine support (CocosDenshion library) based on OpenAL + * Integrated Slow motion/Fast forward + * Fast and compressed textures: PVR compressed and uncompressed textures, ETC1 compressed textures, and more + * Resolution Independence + * Language: C++, with Lua and JavaScript bindings + * Open Source Commercial Friendly: Compatible with open and closed source projects + * OpenGL ES 2.0 (mobile) / OpenGL 2.1 (desktop) based + +Build Requirements +------------------ + +* Mac OS X 10.7+, Xcode 4.6+ +* or Ubuntu 12.10+, CMake 2.6+ +* or Windows 7+, VS 2012+ +* Python 2.7.5 + + +Runtime Requirements +-------------------- + * iOS 5.0+ for iPhone / iPad games + * Android 2.3+ for Android games + * Windows Phone 8+ for Windows Phone games + * OS X v10.6+ for Mac games + * Windows 7+ for Win games + + +Running Tests +-------------------- + +Select the test you want from Xcode Scheme chooser. + +* For OS X / iOS + +``` +$ cd cocos2d-x/build +$ open cocos_tests.xcodeproj +``` + +* For Linux + +``` +$ cd cocos2d-x/build +$ ./install-deps-linux.sh +$ cmake .. +$ make +``` + +Run Samples + +``` +$ bin/cpp-empty-test/cpp-empty-test +or +$ bin/lua-empty-test/lua-empty-test +``` + + You may meet building errors when building libGLFW.so. It is because libGL.so directs to an error target, + you should make it to direct to a correct one. `install-deps-linux.sh` only has to be run once. + +* For Windows + +Open the `cocos2d-x/build/cocos2d-win32.vc2012.sln` + +* For Android + +``` +$ cd cocos2d-x/build +$ python ./android-build.py cpp-empty-test -p 10 +$ adb install ../tests/cpp-empty-tst/proj.android/bin/CppEmptyTest-debug.apk +``` + +Then click item on Android device to run tests. Available value of `-p` is the API level, cocos2d-x supports from level 10. + + +Contributing to the Project +-------------------------------- + +Did you find a bug? Do you have feature request? Do you want to merge a feature? + + * [contributing to cocos2d-x][8] + + +Contact us +---------- + + * Forum: [http://forum.cocos2d-x.org][9] + * Twitter: [http://www.twitter.com/cocos2dx][10] + * Weibo: [http://t.sina.com.cn/cocos2dx][11] + * IRC: [https://webchat.freenode.net/][12] (#cocos2d and #cocos2d-x channels) + +[1]: http://www.cocos2d-x.org "cocos2d-x" +[2]: http://www.cocos2d-iphone.org "cocos2d for iPhone" +[3]: http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Download +[4]: http://www.cocos2d-x.org/download/version#Cocos2d-x +[5]: http://www.box2d.org "Box2D" +[6]: http://www.chipmunk-physics.net "Chipmunk2D" +[7]: http://esotericsoftware.com/ "http://esotericsoftware.com/" +[8]: http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Contribution +[9]: http://forum.cocos2d-x.org "http://forum.cocos2d-x.org" +[10]: http://www.twitter.com/cocos2dx "http://www.twitter.com/cocos2dx" +[11]: http://t.sina.com.cn/cocos2dx "http://t.sina.com.cn/cocos2dx" +[12]: https://webchat.freenode.net/ "https://webchat.freenode.net/" diff --git "a/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/BuildHelpers.CMakeLists.txt" "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/BuildHelpers.CMakeLists.txt" new file mode 100644 index 00000000..6e848d4f --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/BuildHelpers.CMakeLists.txt" @@ -0,0 +1,13 @@ +macro(pre_build TARGET_NAME) + add_custom_target( ${TARGET_NAME}_PRE_BUILD ALL ) + + add_custom_command( + TARGET ${TARGET_NAME}_PRE_BUILD + ${ARGN} + PRE_BUILD + COMMENT "${TARGET_NAME}_PRE_BUILD ..." + ) + + add_custom_target( ${TARGET_NAME}_CORE_PRE_BUILD ) + add_dependencies( ${TARGET_NAME}_PRE_BUILD ${TARGET_NAME}_CORE_PRE_BUILD ) +endmacro() diff --git "a/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/android-build.py" "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/android-build.py" new file mode 100755 index 00000000..675ff3ae --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/android-build.py" @@ -0,0 +1,260 @@ +#!/usr/bin/python +# android-build.py +# Build android + +import sys +import os, os.path +import shutil +from optparse import OptionParser + +CPP_SAMPLES = ['cpp-empty-test', 'cpp-tests', 'game-controller-test'] +LUA_SAMPLES = ['lua-empty-test', 'lua-tests', 'lua-game-controller-test'] +ALL_SAMPLES = CPP_SAMPLES + LUA_SAMPLES + +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() + except Exception: + print "Can't know cpuinfo, use default 1 cpu" + return 1 + +def check_environment_variables(): + ''' Checking the environment NDK_ROOT, which will be used for building + ''' + + try: + NDK_ROOT = os.environ['NDK_ROOT'] + except Exception: + print "NDK_ROOT not defined. Please define NDK_ROOT in your environment" + sys.exit(1) + + return NDK_ROOT + +def check_environment_variables_sdk(): + ''' Checking the environment ANDROID_SDK_ROOT, which will be used for building + ''' + + try: + SDK_ROOT = os.environ['ANDROID_SDK_ROOT'] + except Exception: + print "ANDROID_SDK_ROOT not defined. Please define ANDROID_SDK_ROOT in your environment" + sys.exit(1) + + return SDK_ROOT + +def select_toolchain_version(): + pass + +def caculate_built_samples(args): + ''' Compute the sampels to be built + 'cpp' for short of all cpp tests + 'lua' for short of all lua tests + ''' + + if 'all' in args: + return ALL_SAMPLES + + targets = [] + if 'cpp' in args: + targets += CPP_SAMPLES + args.remove('cpp') + if 'lua' in args: + targets += LUA_SAMPLES + args.remove('lua') + + targets += args + + # remove duplicate elements, for example + # python android-build.py cpp hellocpp + targets = set(targets) + return list(targets) + +def do_build(cocos_root, ndk_root, app_android_root, ndk_build_param,sdk_root,android_platform,build_mode): + + ndk_path = os.path.join(ndk_root, "ndk-build") + + # windows should use ";" to seperate module paths + platform = sys.platform + if platform == 'win32': + ndk_module_path = 'NDK_MODULE_PATH=%s;%s/external;%s/cocos' % (cocos_root, cocos_root, cocos_root) + else: + ndk_module_path = 'NDK_MODULE_PATH=%s:%s/external:%s/cocos' % (cocos_root, cocos_root, cocos_root) + + num_of_cpu = get_num_of_cpu() + if ndk_build_param == None: + command = '%s -j%d -C %s NDK_DEBUG=%d %s' % (ndk_path, num_of_cpu, app_android_root, build_mode=='debug', ndk_module_path) + else: + command = '%s -j%d -C %s NDK_DEBUG=%d %s %s' % (ndk_path, num_of_cpu, app_android_root, build_mode=='debug', ndk_build_param, ndk_module_path) + print command + if os.system(command) != 0: + raise Exception("Build dynamic library for project [ " + app_android_root + " ] fails!") + elif android_platform is not None: + sdk_tool_path = os.path.join(sdk_root, "tools/android") + cocoslib_path = os.path.join(cocos_root, "cocos/platform/android/java") + command = '%s update lib-project -t %s -p %s' % (sdk_tool_path,android_platform,cocoslib_path) + if os.system(command) != 0: + raise Exception("update cocos lib-project [ " + cocoslib_path + " ] fails!") + command = '%s update project -t %s -p %s -s' % (sdk_tool_path,android_platform,app_android_root) + if os.system(command) != 0: + raise Exception("update project [ " + app_android_root + " ] fails!") + buildfile_path = os.path.join(app_android_root, "build.xml") + command = 'ant clean %s -f %s -Dsdk.dir=%s' % (build_mode,buildfile_path,sdk_root) + os.system(command) + +def copy_files(src, dst): + + for item in os.listdir(src): + path = os.path.join(src, item) + # Android can not package the file that ends with ".gz" + if not item.startswith('.') and not item.endswith('.gz') and os.path.isfile(path): + shutil.copy(path, dst) + if os.path.isdir(path): + new_dst = os.path.join(dst, item) + os.mkdir(new_dst) + copy_files(path, new_dst) + +def copy_resources(target, app_android_root): + + # remove app_android_root/assets if it exists + assets_dir = os.path.join(app_android_root, "assets") + if os.path.isdir(assets_dir): + shutil.rmtree(assets_dir) + + os.mkdir(assets_dir) + + # copy resources(cpp samples) + if target in CPP_SAMPLES: + resources_dir = os.path.join(app_android_root, "../Resources") + if os.path.isdir(resources_dir): + copy_files(resources_dir, assets_dir) + + + # lua samples should copy lua script + if target in LUA_SAMPLES: + resources_dir = os.path.join(app_android_root, "../../res") + assets_res_dir = os.path.join(assets_dir, "res") + os.mkdir(assets_res_dir) + + if target != "lua-tests": + copy_files(resources_dir, assets_res_dir) + + src_dir = os.path.join(app_android_root, "../../src") + assets_src_dir = os.path.join(assets_dir, "src") + os.mkdir(assets_src_dir) + copy_files(src_dir, assets_src_dir) + + common_script_dir = os.path.join(app_android_root, "../../../../cocos/scripting/lua-bindings/script") + copy_files(common_script_dir, assets_dir) + + luasocket_script_dir = os.path.join(app_android_root, "../../../../external/lua/luasocket") + for root, dirs, files in os.walk(luasocket_script_dir): + for f in files: + if os.path.splitext(f)[1] == '.lua': + fall = os.path.join(root, f) + shutil.copy(fall, assets_dir) + + # lua-tests shared resources with cpp-tests + if target == "lua-tests": + resources_cocosbuilder_res_dir = os.path.join(resources_dir, "cocosbuilderRes") + assets_cocosbuilder_res_dir = os.path.join(assets_res_dir, "cocosbuilderRes") + os.mkdir(assets_cocosbuilder_res_dir) + copy_files(resources_cocosbuilder_res_dir, assets_cocosbuilder_res_dir) + + resources_dir = os.path.join(app_android_root, "../../../cpp-tests/Resources") + copy_files(resources_dir, assets_res_dir) + if target == "lua-game-controller-test": + print("coming generator game controller") + resources_dir = os.path.join(app_android_root, "../../../game-controller-test/Resources") + copy_files(resources_dir, assets_res_dir) + +def build_samples(target,ndk_build_param,android_platform,build_mode): + + ndk_root = check_environment_variables() + sdk_root = None + select_toolchain_version() + build_targets = caculate_built_samples(target) + + current_dir = os.path.dirname(os.path.realpath(__file__)) + cocos_root = os.path.join(current_dir, "..") + + if android_platform is not None: + sdk_root = check_environment_variables_sdk() + if android_platform.isdigit(): + android_platform = 'android-'+android_platform + else: + print 'please use vaild android platform' + exit(1) + + if build_mode is None: + build_mode = 'debug' + elif build_mode != 'release': + build_mode = 'debug' + + app_android_root = '' + + target_proj_path_map = { + "cpp-empty-test": "tests/cpp-empty-test/proj.android", + "game-controller-test": "tests/game-controller-test/proj.android", + "cpp-tests": "tests/cpp-tests/proj.android", + "lua-empty-test": "tests/lua-empty-test/project/proj.android", + "lua-tests": "tests/lua-tests/project/proj.android", + "lua-game-controller-test": "tests/lua-game-controller-test/project/proj.android" + } + + for target in build_targets: + if target in target_proj_path_map: + app_android_root = os.path.join(cocos_root, target_proj_path_map[target]) + else: + print 'unknown target: %s' % target + continue + + copy_resources(target, app_android_root) + do_build(cocos_root, ndk_root, app_android_root, ndk_build_param,sdk_root,android_platform,build_mode) + +# -------------- main -------------- +if __name__ == '__main__': + + #parse the params + usage = """ + This script is mainy used for building tests built-in with cocos2d-x. + + Usage: %prog [options] [cpp-empty-test|cpp-tests|lua-empty-test|lua-tests|cpp|lua|all] + + If you are new to cocos2d-x, I recommend you start with cpp-empty-test, lua-empty-test. + + You can combine these targets like this: + + python android-build.py -p 10 cpp-empty-test lua-empty-test + + + Note: You should install ant to generate apk while building the andriod tests. But it is optional. You can generate apk with eclipse. + """ + + parser = OptionParser(usage=usage) + parser.add_option("-n", "--ndk", dest="ndk_build_param", + help='Parameter for ndk-build') + parser.add_option("-p", "--platform", dest="android_platform", + help='Parameter for android-update. Without the parameter,the script just build dynamic library for the projects. Valid android-platform are:[10|11|12|13|14|15|16|17|18|19]') + parser.add_option("-b", "--build", dest="build_mode", + help='The build mode for java project,debug[default] or release. Get more information,please refer to http://developer.android.com/tools/building/building-cmdline.html') + (opts, args) = parser.parse_args() + + if len(args) == 0: + parser.print_help() + sys.exit(1) + else: + try: + build_samples(args, opts.ndk_build_param,opts.android_platform,opts.build_mode) + except Exception as e: + print e + sys.exit(1) diff --git "a/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/build-mingw32-clang-make.sh" "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/build-mingw32-clang-make.sh" new file mode 100644 index 00000000..acf5961c --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/build-mingw32-clang-make.sh" @@ -0,0 +1,62 @@ +#!/bin/bash + +# msys2 Pacman Manager for cocos2d-x + +#/**************************************************************************** +# Copyright (c) 2013-2014 Martell Malone +# +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# ****************************************************************************/ + +set -e + +THISDIR="$(dirname $0)" +test "$THISDIR" = "." && THISDIR=${PWD} +OSTYPE=${OSTYPE//[0-9.]/} +HOST_ARCH=$(uname -m) + +if [ "${HOST_ARCH}" = "i686" ]; then + BITS=32 +elif [ "${HOST_ARCH}" = "x86_64" ]; then + BITS=64 +fi + +if [ "${OSTYPE}" = "msys" ]; then + + CC=clang + CXX=clang++ + PP=mingw-w64-${HOST_ARCH} + + MINGW_PACKAGES=(glfw glew libwebp libjpeg-turbo libpng freetype libiconv zlib curl + make clang binutils headers cmake) + + MINGW_PACKAGES=(${MINGW_PACKAGES[@]/#/${PP}-}) + + pacman -S --force --noconfirm --needed ${MINGW_PACKAGES[@]} + + mkdir -p mingw${BITS}-clang && cd mingw${BITS}-clang + + export PATH=/mingw${BITS}/bin:${PATH} + + cmake -G"MinGW Makefiles" -DCMAKE_MAKE_PROGRAM="mingw32-make" \ + -DCMAKE_C_COMPILER="${CC}" -DCMAKE_CXX_COMPILER="${CXX}" ../.. + + mingw32-make +fi diff --git "a/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/build-mingw32-gcc-make.sh" "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/build-mingw32-gcc-make.sh" new file mode 100644 index 00000000..09b03137 --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/build-mingw32-gcc-make.sh" @@ -0,0 +1,62 @@ +#!/bin/bash + +# msys2 Pacman Manager for cocos2d-x + +#/**************************************************************************** +# Copyright (c) 2012-2013 Martell Malone +# +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# ****************************************************************************/ + +set -e + +THISDIR="$(dirname $0)" +test "$THISDIR" = "." && THISDIR=${PWD} +OSTYPE=${OSTYPE//[0-9.]/} +HOST_ARCH=$(uname -m) + +if [ "${HOST_ARCH}" = "i686" ]; then + BITS=32 +elif [ "${HOST_ARCH}" = "x86_64" ]; then + BITS=64 +fi + +if [ "${OSTYPE}" = "msys" ]; then + + CC=${HOST_ARCH}-w64-mingw32-gcc + CXX=${HOST_ARCH}-w64-mingw32-g++ + PP=mingw-w64-${HOST_ARCH} + + MINGW_PACKAGES=(glfw glew libwebp libjpeg-turbo libpng freetype libiconv zlib curl + make gcc binutils headers cmake) + + MINGW_PACKAGES=(${MINGW_PACKAGES[@]/#/${PP}-}) + + pacman -S --force --noconfirm --needed ${MINGW_PACKAGES[@]} + + mkdir -p mingw${BITS} && cd mingw${BITS} + + export PATH=/mingw${BITS}/bin:${PATH} + + cmake -G"MinGW Makefiles" -DCMAKE_MAKE_PROGRAM="mingw32-make" \ + -DCMAKE_C_COMPILER="${CC}" -DCMAKE_CXX_COMPILER="${CXX}" ../.. + + mingw32-make +fi diff --git "a/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/cocos2d-win32.vc2012.sln" "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/cocos2d-win32.vc2012.sln" new file mode 100644 index 00000000..dc713f72 --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/cocos2d-win32.vc2012.sln" @@ -0,0 +1,116 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Express 2012 for Windows Desktop +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libAudio", "..\cocos\audio\proj.win32\CocosDenshion.vcxproj", "{F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d", "..\cocos\2d\cocos2d.vcxproj", "{98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libBox2D", "..\external\Box2D\proj.win32\Box2D.vcxproj", "{929480E7-23C0-4DF6-8456-096D71547116}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libchipmunk", "..\external\chipmunk\proj.win32\chipmunk.vcxproj", "{207BC7A9-CCF1-4F2F-A04D-45F72242AE25}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libExtensions", "..\extensions\proj.win32\libExtensions.vcxproj", "{21B2C324-891F-48EA-AD1A-5AE13DE12E28}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cpp-tests", "..\tests\cpp-tests\proj.win32\cpp-tests.vcxproj", "{76A39BB2-9B84-4C65-98A5-654D86B86F2A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libCocosBuilder", "..\cocos\editor-support\cocosbuilder\proj.win32\libCocosBuilder.vcxproj", "{811C0DAB-7B96-4BD3-A154-B7572B58E4AB}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libCocosStudio", "..\cocos\editor-support\cocostudio\proj.win32\libCocosStudio.vcxproj", "{B57CF53F-2E49-4031-9822-047CC0E6BDE2}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libNetwork", "..\cocos\network\proj.win32\libNetwork.vcxproj", "{DF2638C0-8128-4847-867C-6EAFE3DEE7B5}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libSpine", "..\cocos\editor-support\spine\proj.win32\libSpine.vcxproj", "{B7C2A162-DEC9-4418-972E-240AB3CBFCAE}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libLocalStorage", "..\cocos\storage\local-storage\proj.win32\libLocalStorage.vcxproj", "{632A8F38-D0F0-4D22-86B3-D69F5E6BF63A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "liblua", "..\cocos\scripting\lua-bindings\proj.win32\liblua.vcxproj", "{DDC3E27F-004D-4DD4-9DD3-931A013D2159}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lua-tests", "..\tests\lua-tests\project\proj.win32\lua-tests.win32.vcxproj", "{4E6A7A0E-DDD8-4BAA-8B22-C964069364ED}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libGUI", "..\cocos\ui\proj.win32\libGUI.vcxproj", "{7E06E92C-537A-442B-9E4A-4761C84F8A1A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cpp-empty-test", "..\tests\cpp-empty-test\proj.win32\cpp-empty-test.vcxproj", "{B8BF9E81-35FD-4582-BA1C-B85FA365BABB}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lua-empty-test", "..\tests\lua-empty-test\project\proj.win32\lua-empty-test.vcxproj", "{13E55395-94A2-4CD9-BFC2-1A051F80C17D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Debug|Win32.ActiveCfg = Debug|Win32 + {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Debug|Win32.Build.0 = Debug|Win32 + {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Release|Win32.ActiveCfg = Release|Win32 + {F8EDD7FA-9A51-4E80-BAEB-860825D2EAC6}.Release|Win32.Build.0 = Release|Win32 + {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Debug|Win32.ActiveCfg = Debug|Win32 + {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Debug|Win32.Build.0 = Debug|Win32 + {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Release|Win32.ActiveCfg = Release|Win32 + {98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}.Release|Win32.Build.0 = Release|Win32 + {929480E7-23C0-4DF6-8456-096D71547116}.Debug|Win32.ActiveCfg = Debug|Win32 + {929480E7-23C0-4DF6-8456-096D71547116}.Debug|Win32.Build.0 = Debug|Win32 + {929480E7-23C0-4DF6-8456-096D71547116}.Release|Win32.ActiveCfg = Release|Win32 + {929480E7-23C0-4DF6-8456-096D71547116}.Release|Win32.Build.0 = Release|Win32 + {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Debug|Win32.ActiveCfg = Debug|Win32 + {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Debug|Win32.Build.0 = Debug|Win32 + {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Release|Win32.ActiveCfg = Release|Win32 + {207BC7A9-CCF1-4F2F-A04D-45F72242AE25}.Release|Win32.Build.0 = Release|Win32 + {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Debug|Win32.ActiveCfg = Debug|Win32 + {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Debug|Win32.Build.0 = Debug|Win32 + {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Release|Win32.ActiveCfg = Release|Win32 + {21B2C324-891F-48EA-AD1A-5AE13DE12E28}.Release|Win32.Build.0 = Release|Win32 + {76A39BB2-9B84-4C65-98A5-654D86B86F2A}.Debug|Win32.ActiveCfg = Debug|Win32 + {76A39BB2-9B84-4C65-98A5-654D86B86F2A}.Debug|Win32.Build.0 = Debug|Win32 + {76A39BB2-9B84-4C65-98A5-654D86B86F2A}.Release|Win32.ActiveCfg = Release|Win32 + {76A39BB2-9B84-4C65-98A5-654D86B86F2A}.Release|Win32.Build.0 = Release|Win32 + {811C0DAB-7B96-4BD3-A154-B7572B58E4AB}.Debug|Win32.ActiveCfg = Debug|Win32 + {811C0DAB-7B96-4BD3-A154-B7572B58E4AB}.Debug|Win32.Build.0 = Debug|Win32 + {811C0DAB-7B96-4BD3-A154-B7572B58E4AB}.Release|Win32.ActiveCfg = Release|Win32 + {811C0DAB-7B96-4BD3-A154-B7572B58E4AB}.Release|Win32.Build.0 = Release|Win32 + {B57CF53F-2E49-4031-9822-047CC0E6BDE2}.Debug|Win32.ActiveCfg = Debug|Win32 + {B57CF53F-2E49-4031-9822-047CC0E6BDE2}.Debug|Win32.Build.0 = Debug|Win32 + {B57CF53F-2E49-4031-9822-047CC0E6BDE2}.Release|Win32.ActiveCfg = Release|Win32 + {B57CF53F-2E49-4031-9822-047CC0E6BDE2}.Release|Win32.Build.0 = Release|Win32 + {DF2638C0-8128-4847-867C-6EAFE3DEE7B5}.Debug|Win32.ActiveCfg = Debug|Win32 + {DF2638C0-8128-4847-867C-6EAFE3DEE7B5}.Debug|Win32.Build.0 = Debug|Win32 + {DF2638C0-8128-4847-867C-6EAFE3DEE7B5}.Release|Win32.ActiveCfg = Release|Win32 + {DF2638C0-8128-4847-867C-6EAFE3DEE7B5}.Release|Win32.Build.0 = Release|Win32 + {B7C2A162-DEC9-4418-972E-240AB3CBFCAE}.Debug|Win32.ActiveCfg = Debug|Win32 + {B7C2A162-DEC9-4418-972E-240AB3CBFCAE}.Debug|Win32.Build.0 = Debug|Win32 + {B7C2A162-DEC9-4418-972E-240AB3CBFCAE}.Release|Win32.ActiveCfg = Release|Win32 + {B7C2A162-DEC9-4418-972E-240AB3CBFCAE}.Release|Win32.Build.0 = Release|Win32 + {632A8F38-D0F0-4D22-86B3-D69F5E6BF63A}.Debug|Win32.ActiveCfg = Debug|Win32 + {632A8F38-D0F0-4D22-86B3-D69F5E6BF63A}.Debug|Win32.Build.0 = Debug|Win32 + {632A8F38-D0F0-4D22-86B3-D69F5E6BF63A}.Release|Win32.ActiveCfg = Release|Win32 + {632A8F38-D0F0-4D22-86B3-D69F5E6BF63A}.Release|Win32.Build.0 = Release|Win32 + {DDC3E27F-004D-4DD4-9DD3-931A013D2159}.Debug|Win32.ActiveCfg = Debug|Win32 + {DDC3E27F-004D-4DD4-9DD3-931A013D2159}.Debug|Win32.Build.0 = Debug|Win32 + {DDC3E27F-004D-4DD4-9DD3-931A013D2159}.Release|Win32.ActiveCfg = Release|Win32 + {DDC3E27F-004D-4DD4-9DD3-931A013D2159}.Release|Win32.Build.0 = Release|Win32 + {4E6A7A0E-DDD8-4BAA-8B22-C964069364ED}.Debug|Win32.ActiveCfg = Debug|Win32 + {4E6A7A0E-DDD8-4BAA-8B22-C964069364ED}.Debug|Win32.Build.0 = Debug|Win32 + {4E6A7A0E-DDD8-4BAA-8B22-C964069364ED}.Release|Win32.ActiveCfg = Release|Win32 + {4E6A7A0E-DDD8-4BAA-8B22-C964069364ED}.Release|Win32.Build.0 = Release|Win32 + {7E06E92C-537A-442B-9E4A-4761C84F8A1A}.Debug|Win32.ActiveCfg = Debug|Win32 + {7E06E92C-537A-442B-9E4A-4761C84F8A1A}.Debug|Win32.Build.0 = Debug|Win32 + {7E06E92C-537A-442B-9E4A-4761C84F8A1A}.Release|Win32.ActiveCfg = Release|Win32 + {7E06E92C-537A-442B-9E4A-4761C84F8A1A}.Release|Win32.Build.0 = Release|Win32 + {B8BF9E81-35FD-4582-BA1C-B85FA365BABB}.Debug|Win32.ActiveCfg = Debug|Win32 + {B8BF9E81-35FD-4582-BA1C-B85FA365BABB}.Debug|Win32.Build.0 = Debug|Win32 + {B8BF9E81-35FD-4582-BA1C-B85FA365BABB}.Release|Win32.ActiveCfg = Release|Win32 + {B8BF9E81-35FD-4582-BA1C-B85FA365BABB}.Release|Win32.Build.0 = Release|Win32 + {13E55395-94A2-4CD9-BFC2-1A051F80C17D}.Debug|Win32.ActiveCfg = Debug|Win32 + {13E55395-94A2-4CD9-BFC2-1A051F80C17D}.Debug|Win32.Build.0 = Debug|Win32 + {13E55395-94A2-4CD9-BFC2-1A051F80C17D}.Release|Win32.ActiveCfg = Release|Win32 + {13E55395-94A2-4CD9-BFC2-1A051F80C17D}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(DPCodeReviewSolutionGUID) = preSolution + DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000} + EndGlobalSection + GlobalSection(DPCodeReviewSolutionGUID) = preSolution + DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000} + EndGlobalSection +EndGlobal diff --git "a/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/cocos2d-wp8.vc2012.sln" "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/cocos2d-wp8.vc2012.sln" new file mode 100644 index 00000000..bd66958f --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/cocos2d-wp8.vc2012.sln" @@ -0,0 +1,445 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d", "..\cocos\2d\cocos2d_wp8.vcxproj", "{B5AF91B3-64EA-44E1-84B0-D759E93758FB}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libSpine", "..\cocos\editor-support\spine\proj.wp8\libSpine.vcxproj", "{7D4FC6EB-9497-4804-98F3-3EAEDC896154}" + ProjectSection(ProjectDependencies) = postProject + {B5AF91B3-64EA-44E1-84B0-D759E93758FB} = {B5AF91B3-64EA-44E1-84B0-D759E93758FB} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libCocosStudio", "..\cocos\editor-support\cocostudio\proj.wp8\libCocosStudio.vcxproj", "{51E5736E-E1A3-4C94-ABB7-E92ECEF9C12E}" + ProjectSection(ProjectDependencies) = postProject + {B5AF91B3-64EA-44E1-84B0-D759E93758FB} = {B5AF91B3-64EA-44E1-84B0-D759E93758FB} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libCocosBuilder", "..\cocos\editor-support\cocosbuilder\proj.wp8\libCocosBuilder.vcxproj", "{20D4035D-FD3F-4FD3-BABA-97BC1C38DFC2}" + ProjectSection(ProjectDependencies) = postProject + {B5AF91B3-64EA-44E1-84B0-D759E93758FB} = {B5AF91B3-64EA-44E1-84B0-D759E93758FB} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libExtensions", "..\extensions\proj.wp8\libExtensions.vcxproj", "{04A0C42F-23BB-469B-A9D8-CA49136ADBD4}" + ProjectSection(ProjectDependencies) = postProject + {B5AF91B3-64EA-44E1-84B0-D759E93758FB} = {B5AF91B3-64EA-44E1-84B0-D759E93758FB} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Box2D", "..\external\Box2D\proj.wp8\Box2D.vcxproj", "{C55734A3-702C-4FA1-B950-32C8E169302F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "chipmunk", "..\external\chipmunk\proj.wp8\chipmunk.vcxproj", "{BA568A33-98F9-4D2A-BFFF-C065ADCB447A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libLocalStorage", "..\cocos\storage\local-storage\proj.wp8\libLocalStorage.vcxproj", "{88982C27-5A7B-40A8-86E7-B3187B44B322}" + ProjectSection(ProjectDependencies) = postProject + {B5AF91B3-64EA-44E1-84B0-D759E93758FB} = {B5AF91B3-64EA-44E1-84B0-D759E93758FB} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CocosDenshion", "..\cocos\audio\proj.wp8\CocosDenshion.vcxproj", "{DF125891-EEE9-4466-B903-F828FD272158}" + ProjectSection(ProjectDependencies) = postProject + {B5AF91B3-64EA-44E1-84B0-D759E93758FB} = {B5AF91B3-64EA-44E1-84B0-D759E93758FB} + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "cpp-tests", "cpp-tests", "{671E147E-1DBD-41FC-99B3-2119CA828C8A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "cpp-tests", "..\tests\cpp-tests\proj.wp8-xaml\cpp-tests\cpp-tests.csproj", "{60D53713-1675-4466-81DC-D67A031C3D21}" + ProjectSection(ProjectDependencies) = postProject + {86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9} = {86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cpp-testsComponent", "..\tests\cpp-tests\proj.wp8-xaml\cpp-testsComponent\cpp-testsComponent.vcxproj", "{86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libNetwork", "..\cocos\network\proj.wp8\libNetwork.vcxproj", "{7DAA99E7-8E07-4FEF-8374-8EC04E395D2E}" + ProjectSection(ProjectDependencies) = postProject + {B5AF91B3-64EA-44E1-84B0-D759E93758FB} = {B5AF91B3-64EA-44E1-84B0-D759E93758FB} + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "cpp-empty-test", "cpp-empty-test", "{2C306303-EB4F-4058-8CA0-1F28A4FECE39}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "cpp-empty-test", "..\tests\cpp-empty-test\proj-wp8-xaml\cpp-empty-test\cpp-empty-test.csproj", "{5921FE12-7EF3-4847-8453-42EF286DDBE7}" + ProjectSection(ProjectDependencies) = postProject + {F5D665F8-AE19-4F3F-99A7-230A1E8305D2} = {F5D665F8-AE19-4F3F-99A7-230A1E8305D2} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cpp-empty-testComponent", "..\tests\cpp-empty-test\proj-wp8-xaml\cpp-empty-testComponent\cpp-empty-testComponent.vcxproj", "{F5D665F8-AE19-4F3F-99A7-230A1E8305D2}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libGUI", "..\cocos\ui\proj.wp8\libGUI.vcxproj", "{08FB23E4-1517-4EDC-B682-DA238CDAA83D}" + ProjectSection(ProjectDependencies) = postProject + {B5AF91B3-64EA-44E1-84B0-D759E93758FB} = {B5AF91B3-64EA-44E1-84B0-D759E93758FB} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CopyTemplateFiles", "..\cocos\platform\wp8-xaml\CopyTemplateFiles.vcxproj", "{271FEE84-9198-4C26-8567-4247C563B0B1}" + ProjectSection(ProjectDependencies) = postProject + {5921FE12-7EF3-4847-8453-42EF286DDBE7} = {5921FE12-7EF3-4847-8453-42EF286DDBE7} + {60D53713-1675-4466-81DC-D67A031C3D21} = {60D53713-1675-4466-81DC-D67A031C3D21} + {86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9} = {86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9} + {F5D665F8-AE19-4F3F-99A7-230A1E8305D2} = {F5D665F8-AE19-4F3F-99A7-230A1E8305D2} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|ARM = Debug|ARM + Debug|Mixed Platforms = Debug|Mixed Platforms + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|ARM = Release|ARM + Release|Mixed Platforms = Release|Mixed Platforms + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {B5AF91B3-64EA-44E1-84B0-D759E93758FB}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {B5AF91B3-64EA-44E1-84B0-D759E93758FB}.Debug|ARM.ActiveCfg = Debug|ARM + {B5AF91B3-64EA-44E1-84B0-D759E93758FB}.Debug|ARM.Build.0 = Debug|ARM + {B5AF91B3-64EA-44E1-84B0-D759E93758FB}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {B5AF91B3-64EA-44E1-84B0-D759E93758FB}.Debug|Mixed Platforms.Build.0 = Debug|Win32 + {B5AF91B3-64EA-44E1-84B0-D759E93758FB}.Debug|Win32.ActiveCfg = Debug|Win32 + {B5AF91B3-64EA-44E1-84B0-D759E93758FB}.Debug|Win32.Build.0 = Debug|Win32 + {B5AF91B3-64EA-44E1-84B0-D759E93758FB}.Debug|x64.ActiveCfg = Debug|Win32 + {B5AF91B3-64EA-44E1-84B0-D759E93758FB}.Debug|x86.ActiveCfg = Debug|Win32 + {B5AF91B3-64EA-44E1-84B0-D759E93758FB}.Debug|x86.Build.0 = Debug|Win32 + {B5AF91B3-64EA-44E1-84B0-D759E93758FB}.Release|Any CPU.ActiveCfg = Release|Win32 + {B5AF91B3-64EA-44E1-84B0-D759E93758FB}.Release|ARM.ActiveCfg = Release|ARM + {B5AF91B3-64EA-44E1-84B0-D759E93758FB}.Release|ARM.Build.0 = Release|ARM + {B5AF91B3-64EA-44E1-84B0-D759E93758FB}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {B5AF91B3-64EA-44E1-84B0-D759E93758FB}.Release|Mixed Platforms.Build.0 = Release|Win32 + {B5AF91B3-64EA-44E1-84B0-D759E93758FB}.Release|Win32.ActiveCfg = Release|Win32 + {B5AF91B3-64EA-44E1-84B0-D759E93758FB}.Release|Win32.Build.0 = Release|Win32 + {B5AF91B3-64EA-44E1-84B0-D759E93758FB}.Release|x64.ActiveCfg = Release|Win32 + {B5AF91B3-64EA-44E1-84B0-D759E93758FB}.Release|x86.ActiveCfg = Release|Win32 + {B5AF91B3-64EA-44E1-84B0-D759E93758FB}.Release|x86.Build.0 = Release|Win32 + {7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Debug|ARM.ActiveCfg = Debug|ARM + {7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Debug|ARM.Build.0 = Debug|ARM + {7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Debug|Mixed Platforms.Build.0 = Debug|Win32 + {7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Debug|Win32.ActiveCfg = Debug|Win32 + {7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Debug|Win32.Build.0 = Debug|Win32 + {7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Debug|x64.ActiveCfg = Debug|Win32 + {7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Debug|x86.ActiveCfg = Debug|Win32 + {7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Debug|x86.Build.0 = Debug|Win32 + {7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Release|Any CPU.ActiveCfg = Release|Win32 + {7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Release|ARM.ActiveCfg = Release|ARM + {7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Release|ARM.Build.0 = Release|ARM + {7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Release|Mixed Platforms.Build.0 = Release|Win32 + {7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Release|Win32.ActiveCfg = Release|Win32 + {7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Release|Win32.Build.0 = Release|Win32 + {7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Release|x64.ActiveCfg = Release|Win32 + {7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Release|x86.ActiveCfg = Release|Win32 + {7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Release|x86.Build.0 = Release|Win32 + {51E5736E-E1A3-4C94-ABB7-E92ECEF9C12E}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {51E5736E-E1A3-4C94-ABB7-E92ECEF9C12E}.Debug|ARM.ActiveCfg = Debug|ARM + {51E5736E-E1A3-4C94-ABB7-E92ECEF9C12E}.Debug|ARM.Build.0 = Debug|ARM + {51E5736E-E1A3-4C94-ABB7-E92ECEF9C12E}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {51E5736E-E1A3-4C94-ABB7-E92ECEF9C12E}.Debug|Mixed Platforms.Build.0 = Debug|Win32 + {51E5736E-E1A3-4C94-ABB7-E92ECEF9C12E}.Debug|Win32.ActiveCfg = Debug|Win32 + {51E5736E-E1A3-4C94-ABB7-E92ECEF9C12E}.Debug|Win32.Build.0 = Debug|Win32 + {51E5736E-E1A3-4C94-ABB7-E92ECEF9C12E}.Debug|x64.ActiveCfg = Debug|Win32 + {51E5736E-E1A3-4C94-ABB7-E92ECEF9C12E}.Debug|x86.ActiveCfg = Debug|Win32 + {51E5736E-E1A3-4C94-ABB7-E92ECEF9C12E}.Debug|x86.Build.0 = Debug|Win32 + {51E5736E-E1A3-4C94-ABB7-E92ECEF9C12E}.Release|Any CPU.ActiveCfg = Release|Win32 + {51E5736E-E1A3-4C94-ABB7-E92ECEF9C12E}.Release|ARM.ActiveCfg = Release|ARM + {51E5736E-E1A3-4C94-ABB7-E92ECEF9C12E}.Release|ARM.Build.0 = Release|ARM + {51E5736E-E1A3-4C94-ABB7-E92ECEF9C12E}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {51E5736E-E1A3-4C94-ABB7-E92ECEF9C12E}.Release|Mixed Platforms.Build.0 = Release|Win32 + {51E5736E-E1A3-4C94-ABB7-E92ECEF9C12E}.Release|Win32.ActiveCfg = Release|Win32 + {51E5736E-E1A3-4C94-ABB7-E92ECEF9C12E}.Release|Win32.Build.0 = Release|Win32 + {51E5736E-E1A3-4C94-ABB7-E92ECEF9C12E}.Release|x64.ActiveCfg = Release|Win32 + {51E5736E-E1A3-4C94-ABB7-E92ECEF9C12E}.Release|x86.ActiveCfg = Release|Win32 + {51E5736E-E1A3-4C94-ABB7-E92ECEF9C12E}.Release|x86.Build.0 = Release|Win32 + {20D4035D-FD3F-4FD3-BABA-97BC1C38DFC2}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {20D4035D-FD3F-4FD3-BABA-97BC1C38DFC2}.Debug|ARM.ActiveCfg = Debug|ARM + {20D4035D-FD3F-4FD3-BABA-97BC1C38DFC2}.Debug|ARM.Build.0 = Debug|ARM + {20D4035D-FD3F-4FD3-BABA-97BC1C38DFC2}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {20D4035D-FD3F-4FD3-BABA-97BC1C38DFC2}.Debug|Mixed Platforms.Build.0 = Debug|Win32 + {20D4035D-FD3F-4FD3-BABA-97BC1C38DFC2}.Debug|Win32.ActiveCfg = Debug|Win32 + {20D4035D-FD3F-4FD3-BABA-97BC1C38DFC2}.Debug|Win32.Build.0 = Debug|Win32 + {20D4035D-FD3F-4FD3-BABA-97BC1C38DFC2}.Debug|x64.ActiveCfg = Debug|Win32 + {20D4035D-FD3F-4FD3-BABA-97BC1C38DFC2}.Debug|x86.ActiveCfg = Debug|Win32 + {20D4035D-FD3F-4FD3-BABA-97BC1C38DFC2}.Debug|x86.Build.0 = Debug|Win32 + {20D4035D-FD3F-4FD3-BABA-97BC1C38DFC2}.Release|Any CPU.ActiveCfg = Release|Win32 + {20D4035D-FD3F-4FD3-BABA-97BC1C38DFC2}.Release|ARM.ActiveCfg = Release|ARM + {20D4035D-FD3F-4FD3-BABA-97BC1C38DFC2}.Release|ARM.Build.0 = Release|ARM + {20D4035D-FD3F-4FD3-BABA-97BC1C38DFC2}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {20D4035D-FD3F-4FD3-BABA-97BC1C38DFC2}.Release|Mixed Platforms.Build.0 = Release|Win32 + {20D4035D-FD3F-4FD3-BABA-97BC1C38DFC2}.Release|Win32.ActiveCfg = Release|Win32 + {20D4035D-FD3F-4FD3-BABA-97BC1C38DFC2}.Release|Win32.Build.0 = Release|Win32 + {20D4035D-FD3F-4FD3-BABA-97BC1C38DFC2}.Release|x64.ActiveCfg = Release|Win32 + {20D4035D-FD3F-4FD3-BABA-97BC1C38DFC2}.Release|x86.ActiveCfg = Release|Win32 + {20D4035D-FD3F-4FD3-BABA-97BC1C38DFC2}.Release|x86.Build.0 = Release|Win32 + {04A0C42F-23BB-469B-A9D8-CA49136ADBD4}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {04A0C42F-23BB-469B-A9D8-CA49136ADBD4}.Debug|ARM.ActiveCfg = Debug|ARM + {04A0C42F-23BB-469B-A9D8-CA49136ADBD4}.Debug|ARM.Build.0 = Debug|ARM + {04A0C42F-23BB-469B-A9D8-CA49136ADBD4}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {04A0C42F-23BB-469B-A9D8-CA49136ADBD4}.Debug|Mixed Platforms.Build.0 = Debug|Win32 + {04A0C42F-23BB-469B-A9D8-CA49136ADBD4}.Debug|Win32.ActiveCfg = Debug|Win32 + {04A0C42F-23BB-469B-A9D8-CA49136ADBD4}.Debug|Win32.Build.0 = Debug|Win32 + {04A0C42F-23BB-469B-A9D8-CA49136ADBD4}.Debug|x64.ActiveCfg = Debug|Win32 + {04A0C42F-23BB-469B-A9D8-CA49136ADBD4}.Debug|x86.ActiveCfg = Debug|Win32 + {04A0C42F-23BB-469B-A9D8-CA49136ADBD4}.Debug|x86.Build.0 = Debug|Win32 + {04A0C42F-23BB-469B-A9D8-CA49136ADBD4}.Release|Any CPU.ActiveCfg = Release|Win32 + {04A0C42F-23BB-469B-A9D8-CA49136ADBD4}.Release|ARM.ActiveCfg = Release|ARM + {04A0C42F-23BB-469B-A9D8-CA49136ADBD4}.Release|ARM.Build.0 = Release|ARM + {04A0C42F-23BB-469B-A9D8-CA49136ADBD4}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {04A0C42F-23BB-469B-A9D8-CA49136ADBD4}.Release|Mixed Platforms.Build.0 = Release|Win32 + {04A0C42F-23BB-469B-A9D8-CA49136ADBD4}.Release|Win32.ActiveCfg = Release|Win32 + {04A0C42F-23BB-469B-A9D8-CA49136ADBD4}.Release|Win32.Build.0 = Release|Win32 + {04A0C42F-23BB-469B-A9D8-CA49136ADBD4}.Release|x64.ActiveCfg = Release|Win32 + {04A0C42F-23BB-469B-A9D8-CA49136ADBD4}.Release|x86.ActiveCfg = Release|Win32 + {04A0C42F-23BB-469B-A9D8-CA49136ADBD4}.Release|x86.Build.0 = Release|Win32 + {C55734A3-702C-4FA1-B950-32C8E169302F}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {C55734A3-702C-4FA1-B950-32C8E169302F}.Debug|ARM.ActiveCfg = Debug|ARM + {C55734A3-702C-4FA1-B950-32C8E169302F}.Debug|ARM.Build.0 = Debug|ARM + {C55734A3-702C-4FA1-B950-32C8E169302F}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {C55734A3-702C-4FA1-B950-32C8E169302F}.Debug|Mixed Platforms.Build.0 = Debug|Win32 + {C55734A3-702C-4FA1-B950-32C8E169302F}.Debug|Win32.ActiveCfg = Debug|Win32 + {C55734A3-702C-4FA1-B950-32C8E169302F}.Debug|Win32.Build.0 = Debug|Win32 + {C55734A3-702C-4FA1-B950-32C8E169302F}.Debug|x64.ActiveCfg = Debug|Win32 + {C55734A3-702C-4FA1-B950-32C8E169302F}.Debug|x86.ActiveCfg = Debug|Win32 + {C55734A3-702C-4FA1-B950-32C8E169302F}.Debug|x86.Build.0 = Debug|Win32 + {C55734A3-702C-4FA1-B950-32C8E169302F}.Release|Any CPU.ActiveCfg = Release|Win32 + {C55734A3-702C-4FA1-B950-32C8E169302F}.Release|ARM.ActiveCfg = Release|ARM + {C55734A3-702C-4FA1-B950-32C8E169302F}.Release|ARM.Build.0 = Release|ARM + {C55734A3-702C-4FA1-B950-32C8E169302F}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {C55734A3-702C-4FA1-B950-32C8E169302F}.Release|Mixed Platforms.Build.0 = Release|Win32 + {C55734A3-702C-4FA1-B950-32C8E169302F}.Release|Win32.ActiveCfg = Release|Win32 + {C55734A3-702C-4FA1-B950-32C8E169302F}.Release|Win32.Build.0 = Release|Win32 + {C55734A3-702C-4FA1-B950-32C8E169302F}.Release|x64.ActiveCfg = Release|Win32 + {C55734A3-702C-4FA1-B950-32C8E169302F}.Release|x86.ActiveCfg = Release|Win32 + {C55734A3-702C-4FA1-B950-32C8E169302F}.Release|x86.Build.0 = Release|Win32 + {BA568A33-98F9-4D2A-BFFF-C065ADCB447A}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {BA568A33-98F9-4D2A-BFFF-C065ADCB447A}.Debug|ARM.ActiveCfg = Debug|ARM + {BA568A33-98F9-4D2A-BFFF-C065ADCB447A}.Debug|ARM.Build.0 = Debug|ARM + {BA568A33-98F9-4D2A-BFFF-C065ADCB447A}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {BA568A33-98F9-4D2A-BFFF-C065ADCB447A}.Debug|Mixed Platforms.Build.0 = Debug|Win32 + {BA568A33-98F9-4D2A-BFFF-C065ADCB447A}.Debug|Win32.ActiveCfg = Debug|Win32 + {BA568A33-98F9-4D2A-BFFF-C065ADCB447A}.Debug|Win32.Build.0 = Debug|Win32 + {BA568A33-98F9-4D2A-BFFF-C065ADCB447A}.Debug|x64.ActiveCfg = Debug|Win32 + {BA568A33-98F9-4D2A-BFFF-C065ADCB447A}.Debug|x86.ActiveCfg = Debug|Win32 + {BA568A33-98F9-4D2A-BFFF-C065ADCB447A}.Debug|x86.Build.0 = Debug|Win32 + {BA568A33-98F9-4D2A-BFFF-C065ADCB447A}.Release|Any CPU.ActiveCfg = Release|Win32 + {BA568A33-98F9-4D2A-BFFF-C065ADCB447A}.Release|ARM.ActiveCfg = Release|ARM + {BA568A33-98F9-4D2A-BFFF-C065ADCB447A}.Release|ARM.Build.0 = Release|ARM + {BA568A33-98F9-4D2A-BFFF-C065ADCB447A}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {BA568A33-98F9-4D2A-BFFF-C065ADCB447A}.Release|Mixed Platforms.Build.0 = Release|Win32 + {BA568A33-98F9-4D2A-BFFF-C065ADCB447A}.Release|Win32.ActiveCfg = Release|Win32 + {BA568A33-98F9-4D2A-BFFF-C065ADCB447A}.Release|Win32.Build.0 = Release|Win32 + {BA568A33-98F9-4D2A-BFFF-C065ADCB447A}.Release|x64.ActiveCfg = Release|Win32 + {BA568A33-98F9-4D2A-BFFF-C065ADCB447A}.Release|x86.ActiveCfg = Release|Win32 + {BA568A33-98F9-4D2A-BFFF-C065ADCB447A}.Release|x86.Build.0 = Release|Win32 + {88982C27-5A7B-40A8-86E7-B3187B44B322}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {88982C27-5A7B-40A8-86E7-B3187B44B322}.Debug|ARM.ActiveCfg = Debug|ARM + {88982C27-5A7B-40A8-86E7-B3187B44B322}.Debug|ARM.Build.0 = Debug|ARM + {88982C27-5A7B-40A8-86E7-B3187B44B322}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {88982C27-5A7B-40A8-86E7-B3187B44B322}.Debug|Mixed Platforms.Build.0 = Debug|Win32 + {88982C27-5A7B-40A8-86E7-B3187B44B322}.Debug|Win32.ActiveCfg = Debug|Win32 + {88982C27-5A7B-40A8-86E7-B3187B44B322}.Debug|Win32.Build.0 = Debug|Win32 + {88982C27-5A7B-40A8-86E7-B3187B44B322}.Debug|x64.ActiveCfg = Debug|Win32 + {88982C27-5A7B-40A8-86E7-B3187B44B322}.Debug|x86.ActiveCfg = Debug|Win32 + {88982C27-5A7B-40A8-86E7-B3187B44B322}.Debug|x86.Build.0 = Debug|Win32 + {88982C27-5A7B-40A8-86E7-B3187B44B322}.Release|Any CPU.ActiveCfg = Release|Win32 + {88982C27-5A7B-40A8-86E7-B3187B44B322}.Release|ARM.ActiveCfg = Release|ARM + {88982C27-5A7B-40A8-86E7-B3187B44B322}.Release|ARM.Build.0 = Release|ARM + {88982C27-5A7B-40A8-86E7-B3187B44B322}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {88982C27-5A7B-40A8-86E7-B3187B44B322}.Release|Mixed Platforms.Build.0 = Release|Win32 + {88982C27-5A7B-40A8-86E7-B3187B44B322}.Release|Win32.ActiveCfg = Release|Win32 + {88982C27-5A7B-40A8-86E7-B3187B44B322}.Release|Win32.Build.0 = Release|Win32 + {88982C27-5A7B-40A8-86E7-B3187B44B322}.Release|x64.ActiveCfg = Release|Win32 + {88982C27-5A7B-40A8-86E7-B3187B44B322}.Release|x86.ActiveCfg = Release|Win32 + {88982C27-5A7B-40A8-86E7-B3187B44B322}.Release|x86.Build.0 = Release|Win32 + {DF125891-EEE9-4466-B903-F828FD272158}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {DF125891-EEE9-4466-B903-F828FD272158}.Debug|ARM.ActiveCfg = Debug|ARM + {DF125891-EEE9-4466-B903-F828FD272158}.Debug|ARM.Build.0 = Debug|ARM + {DF125891-EEE9-4466-B903-F828FD272158}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {DF125891-EEE9-4466-B903-F828FD272158}.Debug|Mixed Platforms.Build.0 = Debug|Win32 + {DF125891-EEE9-4466-B903-F828FD272158}.Debug|Win32.ActiveCfg = Debug|Win32 + {DF125891-EEE9-4466-B903-F828FD272158}.Debug|Win32.Build.0 = Debug|Win32 + {DF125891-EEE9-4466-B903-F828FD272158}.Debug|x64.ActiveCfg = Debug|Win32 + {DF125891-EEE9-4466-B903-F828FD272158}.Debug|x86.ActiveCfg = Debug|Win32 + {DF125891-EEE9-4466-B903-F828FD272158}.Debug|x86.Build.0 = Debug|Win32 + {DF125891-EEE9-4466-B903-F828FD272158}.Release|Any CPU.ActiveCfg = Release|Win32 + {DF125891-EEE9-4466-B903-F828FD272158}.Release|ARM.ActiveCfg = Release|ARM + {DF125891-EEE9-4466-B903-F828FD272158}.Release|ARM.Build.0 = Release|ARM + {DF125891-EEE9-4466-B903-F828FD272158}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {DF125891-EEE9-4466-B903-F828FD272158}.Release|Mixed Platforms.Build.0 = Release|Win32 + {DF125891-EEE9-4466-B903-F828FD272158}.Release|Win32.ActiveCfg = Release|Win32 + {DF125891-EEE9-4466-B903-F828FD272158}.Release|Win32.Build.0 = Release|Win32 + {DF125891-EEE9-4466-B903-F828FD272158}.Release|x64.ActiveCfg = Release|Win32 + {DF125891-EEE9-4466-B903-F828FD272158}.Release|x86.ActiveCfg = Release|Win32 + {DF125891-EEE9-4466-B903-F828FD272158}.Release|x86.Build.0 = Release|Win32 + {60D53713-1675-4466-81DC-D67A031C3D21}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {60D53713-1675-4466-81DC-D67A031C3D21}.Debug|Any CPU.Build.0 = Debug|Any CPU + {60D53713-1675-4466-81DC-D67A031C3D21}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {60D53713-1675-4466-81DC-D67A031C3D21}.Debug|ARM.ActiveCfg = Debug|ARM + {60D53713-1675-4466-81DC-D67A031C3D21}.Debug|ARM.Build.0 = Debug|ARM + {60D53713-1675-4466-81DC-D67A031C3D21}.Debug|ARM.Deploy.0 = Debug|ARM + {60D53713-1675-4466-81DC-D67A031C3D21}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {60D53713-1675-4466-81DC-D67A031C3D21}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {60D53713-1675-4466-81DC-D67A031C3D21}.Debug|Mixed Platforms.Deploy.0 = Debug|x86 + {60D53713-1675-4466-81DC-D67A031C3D21}.Debug|Win32.ActiveCfg = Debug|x86 + {60D53713-1675-4466-81DC-D67A031C3D21}.Debug|Win32.Build.0 = Debug|x86 + {60D53713-1675-4466-81DC-D67A031C3D21}.Debug|Win32.Deploy.0 = Debug|x86 + {60D53713-1675-4466-81DC-D67A031C3D21}.Debug|x64.ActiveCfg = Debug|Any CPU + {60D53713-1675-4466-81DC-D67A031C3D21}.Debug|x86.ActiveCfg = Debug|x86 + {60D53713-1675-4466-81DC-D67A031C3D21}.Debug|x86.Build.0 = Debug|x86 + {60D53713-1675-4466-81DC-D67A031C3D21}.Debug|x86.Deploy.0 = Debug|x86 + {60D53713-1675-4466-81DC-D67A031C3D21}.Release|Any CPU.ActiveCfg = Release|Any CPU + {60D53713-1675-4466-81DC-D67A031C3D21}.Release|Any CPU.Build.0 = Release|Any CPU + {60D53713-1675-4466-81DC-D67A031C3D21}.Release|Any CPU.Deploy.0 = Release|Any CPU + {60D53713-1675-4466-81DC-D67A031C3D21}.Release|ARM.ActiveCfg = Release|ARM + {60D53713-1675-4466-81DC-D67A031C3D21}.Release|ARM.Build.0 = Release|ARM + {60D53713-1675-4466-81DC-D67A031C3D21}.Release|ARM.Deploy.0 = Release|ARM + {60D53713-1675-4466-81DC-D67A031C3D21}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {60D53713-1675-4466-81DC-D67A031C3D21}.Release|Mixed Platforms.Build.0 = Release|x86 + {60D53713-1675-4466-81DC-D67A031C3D21}.Release|Mixed Platforms.Deploy.0 = Release|x86 + {60D53713-1675-4466-81DC-D67A031C3D21}.Release|Win32.ActiveCfg = Release|x86 + {60D53713-1675-4466-81DC-D67A031C3D21}.Release|Win32.Build.0 = Release|x86 + {60D53713-1675-4466-81DC-D67A031C3D21}.Release|Win32.Deploy.0 = Release|x86 + {60D53713-1675-4466-81DC-D67A031C3D21}.Release|x64.ActiveCfg = Release|Any CPU + {60D53713-1675-4466-81DC-D67A031C3D21}.Release|x86.ActiveCfg = Release|x86 + {60D53713-1675-4466-81DC-D67A031C3D21}.Release|x86.Build.0 = Release|x86 + {60D53713-1675-4466-81DC-D67A031C3D21}.Release|x86.Deploy.0 = Release|x86 + {86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Debug|ARM.ActiveCfg = Debug|ARM + {86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Debug|ARM.Build.0 = Debug|ARM + {86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Debug|Mixed Platforms.Build.0 = Debug|Win32 + {86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Debug|Win32.ActiveCfg = Debug|Win32 + {86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Debug|Win32.Build.0 = Debug|Win32 + {86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Debug|x64.ActiveCfg = Debug|Win32 + {86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Debug|x86.ActiveCfg = Debug|Win32 + {86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Debug|x86.Build.0 = Debug|Win32 + {86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Release|Any CPU.ActiveCfg = Release|Win32 + {86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Release|ARM.ActiveCfg = Release|ARM + {86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Release|ARM.Build.0 = Release|ARM + {86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Release|Mixed Platforms.Build.0 = Release|Win32 + {86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Release|Win32.ActiveCfg = Release|Win32 + {86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Release|Win32.Build.0 = Release|Win32 + {86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Release|x64.ActiveCfg = Release|Win32 + {86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Release|x86.ActiveCfg = Release|Win32 + {86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9}.Release|x86.Build.0 = Release|Win32 + {7DAA99E7-8E07-4FEF-8374-8EC04E395D2E}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {7DAA99E7-8E07-4FEF-8374-8EC04E395D2E}.Debug|ARM.ActiveCfg = Debug|ARM + {7DAA99E7-8E07-4FEF-8374-8EC04E395D2E}.Debug|ARM.Build.0 = Debug|ARM + {7DAA99E7-8E07-4FEF-8374-8EC04E395D2E}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {7DAA99E7-8E07-4FEF-8374-8EC04E395D2E}.Debug|Mixed Platforms.Build.0 = Debug|Win32 + {7DAA99E7-8E07-4FEF-8374-8EC04E395D2E}.Debug|Win32.ActiveCfg = Debug|Win32 + {7DAA99E7-8E07-4FEF-8374-8EC04E395D2E}.Debug|Win32.Build.0 = Debug|Win32 + {7DAA99E7-8E07-4FEF-8374-8EC04E395D2E}.Debug|x64.ActiveCfg = Debug|Win32 + {7DAA99E7-8E07-4FEF-8374-8EC04E395D2E}.Debug|x86.ActiveCfg = Debug|Win32 + {7DAA99E7-8E07-4FEF-8374-8EC04E395D2E}.Debug|x86.Build.0 = Debug|Win32 + {7DAA99E7-8E07-4FEF-8374-8EC04E395D2E}.Release|Any CPU.ActiveCfg = Release|Win32 + {7DAA99E7-8E07-4FEF-8374-8EC04E395D2E}.Release|ARM.ActiveCfg = Release|ARM + {7DAA99E7-8E07-4FEF-8374-8EC04E395D2E}.Release|ARM.Build.0 = Release|ARM + {7DAA99E7-8E07-4FEF-8374-8EC04E395D2E}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {7DAA99E7-8E07-4FEF-8374-8EC04E395D2E}.Release|Mixed Platforms.Build.0 = Release|Win32 + {7DAA99E7-8E07-4FEF-8374-8EC04E395D2E}.Release|Win32.ActiveCfg = Release|Win32 + {7DAA99E7-8E07-4FEF-8374-8EC04E395D2E}.Release|Win32.Build.0 = Release|Win32 + {7DAA99E7-8E07-4FEF-8374-8EC04E395D2E}.Release|x64.ActiveCfg = Release|Win32 + {7DAA99E7-8E07-4FEF-8374-8EC04E395D2E}.Release|x86.ActiveCfg = Release|Win32 + {7DAA99E7-8E07-4FEF-8374-8EC04E395D2E}.Release|x86.Build.0 = Release|Win32 + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|ARM.ActiveCfg = Debug|ARM + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|ARM.Build.0 = Debug|ARM + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|ARM.Deploy.0 = Debug|ARM + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|Mixed Platforms.Deploy.0 = Debug|x86 + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|Win32.ActiveCfg = Debug|x86 + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|Win32.Build.0 = Debug|x86 + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|Win32.Deploy.0 = Debug|x86 + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|x64.ActiveCfg = Debug|Any CPU + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|x86.ActiveCfg = Debug|x86 + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|x86.Build.0 = Debug|x86 + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Debug|x86.Deploy.0 = Debug|x86 + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|Any CPU.Build.0 = Release|Any CPU + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|Any CPU.Deploy.0 = Release|Any CPU + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|ARM.ActiveCfg = Release|ARM + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|ARM.Build.0 = Release|ARM + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|ARM.Deploy.0 = Release|ARM + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|Mixed Platforms.Build.0 = Release|x86 + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|Mixed Platforms.Deploy.0 = Release|x86 + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|Win32.ActiveCfg = Release|x86 + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|Win32.Build.0 = Release|x86 + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|Win32.Deploy.0 = Release|x86 + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|x64.ActiveCfg = Release|Any CPU + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|x86.ActiveCfg = Release|x86 + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|x86.Build.0 = Release|x86 + {5921FE12-7EF3-4847-8453-42EF286DDBE7}.Release|x86.Deploy.0 = Release|x86 + {F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Debug|ARM.ActiveCfg = Debug|ARM + {F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Debug|ARM.Build.0 = Debug|ARM + {F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Debug|Mixed Platforms.Build.0 = Debug|Win32 + {F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Debug|Win32.ActiveCfg = Debug|Win32 + {F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Debug|Win32.Build.0 = Debug|Win32 + {F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Debug|x64.ActiveCfg = Debug|Win32 + {F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Debug|x86.ActiveCfg = Debug|Win32 + {F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Debug|x86.Build.0 = Debug|Win32 + {F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Release|Any CPU.ActiveCfg = Release|Win32 + {F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Release|ARM.ActiveCfg = Release|ARM + {F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Release|ARM.Build.0 = Release|ARM + {F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Release|Mixed Platforms.Build.0 = Release|Win32 + {F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Release|Win32.ActiveCfg = Release|Win32 + {F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Release|Win32.Build.0 = Release|Win32 + {F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Release|x64.ActiveCfg = Release|Win32 + {F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Release|x86.ActiveCfg = Release|Win32 + {F5D665F8-AE19-4F3F-99A7-230A1E8305D2}.Release|x86.Build.0 = Release|Win32 + {08FB23E4-1517-4EDC-B682-DA238CDAA83D}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {08FB23E4-1517-4EDC-B682-DA238CDAA83D}.Debug|ARM.ActiveCfg = Debug|ARM + {08FB23E4-1517-4EDC-B682-DA238CDAA83D}.Debug|ARM.Build.0 = Debug|ARM + {08FB23E4-1517-4EDC-B682-DA238CDAA83D}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {08FB23E4-1517-4EDC-B682-DA238CDAA83D}.Debug|Mixed Platforms.Build.0 = Debug|Win32 + {08FB23E4-1517-4EDC-B682-DA238CDAA83D}.Debug|Win32.ActiveCfg = Debug|Win32 + {08FB23E4-1517-4EDC-B682-DA238CDAA83D}.Debug|Win32.Build.0 = Debug|Win32 + {08FB23E4-1517-4EDC-B682-DA238CDAA83D}.Debug|x64.ActiveCfg = Debug|Win32 + {08FB23E4-1517-4EDC-B682-DA238CDAA83D}.Debug|x86.ActiveCfg = Debug|Win32 + {08FB23E4-1517-4EDC-B682-DA238CDAA83D}.Debug|x86.Build.0 = Debug|Win32 + {08FB23E4-1517-4EDC-B682-DA238CDAA83D}.Release|Any CPU.ActiveCfg = Release|Win32 + {08FB23E4-1517-4EDC-B682-DA238CDAA83D}.Release|ARM.ActiveCfg = Release|ARM + {08FB23E4-1517-4EDC-B682-DA238CDAA83D}.Release|ARM.Build.0 = Release|ARM + {08FB23E4-1517-4EDC-B682-DA238CDAA83D}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {08FB23E4-1517-4EDC-B682-DA238CDAA83D}.Release|Mixed Platforms.Build.0 = Release|Win32 + {08FB23E4-1517-4EDC-B682-DA238CDAA83D}.Release|Win32.ActiveCfg = Release|Win32 + {08FB23E4-1517-4EDC-B682-DA238CDAA83D}.Release|Win32.Build.0 = Release|Win32 + {08FB23E4-1517-4EDC-B682-DA238CDAA83D}.Release|x64.ActiveCfg = Release|Win32 + {08FB23E4-1517-4EDC-B682-DA238CDAA83D}.Release|x86.ActiveCfg = Release|Win32 + {08FB23E4-1517-4EDC-B682-DA238CDAA83D}.Release|x86.Build.0 = Release|Win32 + {271FEE84-9198-4C26-8567-4247C563B0B1}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {271FEE84-9198-4C26-8567-4247C563B0B1}.Debug|ARM.ActiveCfg = Debug|ARM + {271FEE84-9198-4C26-8567-4247C563B0B1}.Debug|ARM.Build.0 = Debug|ARM + {271FEE84-9198-4C26-8567-4247C563B0B1}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {271FEE84-9198-4C26-8567-4247C563B0B1}.Debug|Mixed Platforms.Build.0 = Debug|Win32 + {271FEE84-9198-4C26-8567-4247C563B0B1}.Debug|Win32.ActiveCfg = Debug|Win32 + {271FEE84-9198-4C26-8567-4247C563B0B1}.Debug|Win32.Build.0 = Debug|Win32 + {271FEE84-9198-4C26-8567-4247C563B0B1}.Debug|x64.ActiveCfg = Debug|Win32 + {271FEE84-9198-4C26-8567-4247C563B0B1}.Debug|x86.ActiveCfg = Debug|Win32 + {271FEE84-9198-4C26-8567-4247C563B0B1}.Debug|x86.Build.0 = Debug|Win32 + {271FEE84-9198-4C26-8567-4247C563B0B1}.Release|Any CPU.ActiveCfg = Release|Win32 + {271FEE84-9198-4C26-8567-4247C563B0B1}.Release|ARM.ActiveCfg = Release|ARM + {271FEE84-9198-4C26-8567-4247C563B0B1}.Release|ARM.Build.0 = Release|ARM + {271FEE84-9198-4C26-8567-4247C563B0B1}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {271FEE84-9198-4C26-8567-4247C563B0B1}.Release|Mixed Platforms.Build.0 = Release|Win32 + {271FEE84-9198-4C26-8567-4247C563B0B1}.Release|Win32.ActiveCfg = Release|Win32 + {271FEE84-9198-4C26-8567-4247C563B0B1}.Release|Win32.Build.0 = Release|Win32 + {271FEE84-9198-4C26-8567-4247C563B0B1}.Release|x64.ActiveCfg = Release|Win32 + {271FEE84-9198-4C26-8567-4247C563B0B1}.Release|x86.ActiveCfg = Release|Win32 + {271FEE84-9198-4C26-8567-4247C563B0B1}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {60D53713-1675-4466-81DC-D67A031C3D21} = {671E147E-1DBD-41FC-99B3-2119CA828C8A} + {86B2C23C-3A6C-4C4E-AB0E-16A8CC1523E9} = {671E147E-1DBD-41FC-99B3-2119CA828C8A} + {5921FE12-7EF3-4847-8453-42EF286DDBE7} = {2C306303-EB4F-4058-8CA0-1F28A4FECE39} + {F5D665F8-AE19-4F3F-99A7-230A1E8305D2} = {2C306303-EB4F-4058-8CA0-1F28A4FECE39} + EndGlobalSection +EndGlobal diff --git "a/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/install-deps-linux.sh" "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/install-deps-linux.sh" new file mode 100755 index 00000000..183288af --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/install-deps-linux.sh" @@ -0,0 +1,42 @@ +#!/bin/bash + +# Change directory to the location of this script +cd $(dirname ${BASH_SOURCE[0]}) + +if [ ! $(command -v apt-get) ]; then + echo "Not a .deb package system. Please install dependencies manually" + exit 0 +fi + +DEPENDS='libx11-dev' +DEPENDS+=' libxmu-dev' +DEPENDS+=' libglu1-mesa-dev' +DEPENDS+=' libgl2ps-dev' +DEPENDS+=' libxi-dev' +DEPENDS+=' g++' +DEPENDS+=' libzip-dev' +DEPENDS+=' libpng12-dev' +DEPENDS+=' libcurl4-gnutls-dev' +DEPENDS+=' libfontconfig1-dev' +DEPENDS+=' libsqlite3-dev' +DEPENDS+=' libglew*-dev' +DEPENDS+=' libssl-dev' + +MISSING= +echo "Checking for missing packages ..." +for i in $DEPENDS; do + if ! dpkg-query -W --showformat='${Status}\n' $i | grep "install ok installed" > /dev/null; then + MISSING+="$i " + fi +done + +if [ -n "$MISSING" ]; then + TXTCOLOR_DEFAULT="\033[0;m" + TXTCOLOR_GREEN="\033[0;32m" + echo -e $TXTCOLOR_GREEN"Missing packages: $MISSING.\nYou may be asked for your password for package installation."$TXTCOLOR_DEFAULT + sudo apt-get --force-yes --yes install $MISSING +fi + +# install glfw +../tools/travis-scripts/install_glfw.sh + diff --git "a/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/win32-msvc-2012-x86.cmd" "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/win32-msvc-2012-x86.cmd" new file mode 100644 index 00000000..7331e5b6 --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/win32-msvc-2012-x86.cmd" @@ -0,0 +1,8 @@ +@echo off +SETLOCAL + +:start +mkdir win32-msvc-vs2012-x86 +cd win32-msvc-vs2012-x86 +cmake -G "Visual Studio 11" ../.. +pause diff --git "a/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/win32-msvc-2013-x86.cmd" "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/win32-msvc-2013-x86.cmd" new file mode 100644 index 00000000..35cad7dc --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/win32-msvc-2013-x86.cmd" @@ -0,0 +1,8 @@ +@echo off +SETLOCAL + +:start +mkdir win32-msvc-vs2013-x86 +cd win32-msvc-vs2013-x86 +cmake -G "Visual Studio 12" ../.. +pause diff --git "a/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/App.xaml" "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/App.xaml" new file mode 100644 index 00000000..59b08aee --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/App.xaml" @@ -0,0 +1,7 @@ + + + diff --git "a/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/App.xaml.cpp" "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/App.xaml.cpp" new file mode 100644 index 00000000..5fb1b878 --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/App.xaml.cpp" @@ -0,0 +1,89 @@ +// +// App.xaml.cpp +// Implementation of the App class. +// + +#include "pch.h" +#include "DirectXPage.xaml.h" + +using namespace Cocos2dShaderCompiler; + +using namespace Platform; +using namespace Windows::ApplicationModel; +using namespace Windows::ApplicationModel::Activation; +using namespace Windows::Foundation; +using namespace Windows::Foundation::Collections; +using namespace Windows::Storage; +using namespace Windows::UI::Xaml; +using namespace Windows::UI::Xaml::Controls; +using namespace Windows::UI::Xaml::Controls::Primitives; +using namespace Windows::UI::Xaml::Data; +using namespace Windows::UI::Xaml::Input; +using namespace Windows::UI::Xaml::Interop; +using namespace Windows::UI::Xaml::Media; +using namespace Windows::UI::Xaml::Navigation; +/// +/// Initializes the singleton application object. This is the first line of authored code +/// executed, and as such is the logical equivalent of main() or WinMain(). +/// +App::App() +{ + InitializeComponent(); + Suspending += ref new SuspendingEventHandler(this, &App::OnSuspending); + Resuming += ref new EventHandler(this, &App::OnResuming); +} + +/// +/// Invoked when the application is launched normally by the end user. Other entry points +/// will be used when the application is launched to open a specific file, to display +/// search results, and so forth. +/// +/// Details about the launch request and process. +void App::OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ e) +{ +#if _DEBUG + if (IsDebuggerPresent()) + { + DebugSettings->EnableFrameRateCounter = true; + } +#endif + + m_directXPage = ref new DirectXPage(); + + if (e->PreviousExecutionState == ApplicationExecutionState::Terminated) + { + m_directXPage->LoadInternalState(ApplicationData::Current->LocalSettings->Values); + } + + // Place the page in the current window and ensure that it is active. + Window::Current->Content = m_directXPage; + Window::Current->Activate(); +} + +/// +/// Invoked when application execution is being suspended. Application state is saved +/// without knowing whether the application will be terminated or resumed with the contents +/// of memory still intact. +/// +/// The source of the suspend request. +/// Details about the suspend request. +void App::OnSuspending(Object^ sender, SuspendingEventArgs^ e) +{ + (void) sender; // Unused parameter + (void) e; // Unused parameter + + m_directXPage->SaveInternalState(ApplicationData::Current->LocalSettings->Values); +} + +/// +/// Invoked when application execution is being resumed. +/// +/// The source of the resume request. +/// Details about the resume request. +void App::OnResuming(Object ^sender, Object ^args) +{ + (void) sender; // Unused parameter + (void) args; // Unused parameter + + m_directXPage->LoadInternalState(ApplicationData::Current->LocalSettings->Values); +} diff --git "a/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/App.xaml.h" "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/App.xaml.h" new file mode 100644 index 00000000..c446f470 --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/App.xaml.h" @@ -0,0 +1,27 @@ +// +// App.xaml.h +// Declaration of the App class. +// + +#pragma once + +#include "App.g.h" +#include "DirectXPage.xaml.h" + +namespace Cocos2dShaderCompiler +{ + /// + /// Provides application-specific behavior to supplement the default Application class. + /// + ref class App sealed + { + public: + App(); + virtual void OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ e) override; + + private: + void OnSuspending(Platform::Object^ sender, Windows::ApplicationModel::SuspendingEventArgs^ e); + void OnResuming(Platform::Object ^sender, Platform::Object ^args); + DirectXPage^ m_directXPage; + }; +} diff --git "a/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/Assets/Logo.png" "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/Assets/Logo.png" new file mode 100644 index 00000000..e26771cb Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/Assets/Logo.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/Assets/SmallLogo.png" "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/Assets/SmallLogo.png" new file mode 100644 index 00000000..1eb0d9d5 Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/Assets/SmallLogo.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/Assets/SplashScreen.png" "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/Assets/SplashScreen.png" new file mode 100644 index 00000000..c951e031 Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/Assets/SplashScreen.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/Assets/StoreLogo.png" "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/Assets/StoreLogo.png" new file mode 100644 index 00000000..dcb67271 Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/Assets/StoreLogo.png" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/Cocos2dShaderCompiler.sln" "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/Cocos2dShaderCompiler.sln" new file mode 100644 index 00000000..a55a9955 --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/Cocos2dShaderCompiler.sln" @@ -0,0 +1,68 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.30324.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Cocos2dShaderCompiler", "Cocos2dShaderCompiler.vcxproj", "{4F6DEF20-AC4C-487F-85B8-5993519E3911}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libchipmunk", "..\..\..\external\chipmunk\proj.winrt\chipmunk.vcxproj", "{8B143765-5C1B-4076-9384-3E0EC3650B1A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d", "..\..\..\cocos\2d\cocos2d_winrt.vcxproj", "{2330EDF4-5596-4B53-8BA5-158DDDE713D9}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM = Debug|ARM + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Release|ARM = Release|ARM + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {4F6DEF20-AC4C-487F-85B8-5993519E3911}.Debug|ARM.ActiveCfg = Debug|ARM + {4F6DEF20-AC4C-487F-85B8-5993519E3911}.Debug|ARM.Build.0 = Debug|ARM + {4F6DEF20-AC4C-487F-85B8-5993519E3911}.Debug|ARM.Deploy.0 = Debug|ARM + {4F6DEF20-AC4C-487F-85B8-5993519E3911}.Debug|Win32.ActiveCfg = Debug|Win32 + {4F6DEF20-AC4C-487F-85B8-5993519E3911}.Debug|Win32.Build.0 = Debug|Win32 + {4F6DEF20-AC4C-487F-85B8-5993519E3911}.Debug|Win32.Deploy.0 = Debug|Win32 + {4F6DEF20-AC4C-487F-85B8-5993519E3911}.Debug|x64.ActiveCfg = Debug|x64 + {4F6DEF20-AC4C-487F-85B8-5993519E3911}.Debug|x64.Build.0 = Debug|x64 + {4F6DEF20-AC4C-487F-85B8-5993519E3911}.Debug|x64.Deploy.0 = Debug|x64 + {4F6DEF20-AC4C-487F-85B8-5993519E3911}.Release|ARM.ActiveCfg = Release|ARM + {4F6DEF20-AC4C-487F-85B8-5993519E3911}.Release|ARM.Build.0 = Release|ARM + {4F6DEF20-AC4C-487F-85B8-5993519E3911}.Release|ARM.Deploy.0 = Release|ARM + {4F6DEF20-AC4C-487F-85B8-5993519E3911}.Release|Win32.ActiveCfg = Release|Win32 + {4F6DEF20-AC4C-487F-85B8-5993519E3911}.Release|Win32.Build.0 = Release|Win32 + {4F6DEF20-AC4C-487F-85B8-5993519E3911}.Release|Win32.Deploy.0 = Release|Win32 + {4F6DEF20-AC4C-487F-85B8-5993519E3911}.Release|x64.ActiveCfg = Release|x64 + {4F6DEF20-AC4C-487F-85B8-5993519E3911}.Release|x64.Build.0 = Release|x64 + {4F6DEF20-AC4C-487F-85B8-5993519E3911}.Release|x64.Deploy.0 = Release|x64 + {8B143765-5C1B-4076-9384-3E0EC3650B1A}.Debug|ARM.ActiveCfg = Debug|ARM + {8B143765-5C1B-4076-9384-3E0EC3650B1A}.Debug|ARM.Build.0 = Debug|ARM + {8B143765-5C1B-4076-9384-3E0EC3650B1A}.Debug|Win32.ActiveCfg = Debug|Win32 + {8B143765-5C1B-4076-9384-3E0EC3650B1A}.Debug|Win32.Build.0 = Debug|Win32 + {8B143765-5C1B-4076-9384-3E0EC3650B1A}.Debug|x64.ActiveCfg = Debug|x64 + {8B143765-5C1B-4076-9384-3E0EC3650B1A}.Debug|x64.Build.0 = Debug|x64 + {8B143765-5C1B-4076-9384-3E0EC3650B1A}.Release|ARM.ActiveCfg = Release|ARM + {8B143765-5C1B-4076-9384-3E0EC3650B1A}.Release|ARM.Build.0 = Release|ARM + {8B143765-5C1B-4076-9384-3E0EC3650B1A}.Release|Win32.ActiveCfg = Release|Win32 + {8B143765-5C1B-4076-9384-3E0EC3650B1A}.Release|Win32.Build.0 = Release|Win32 + {8B143765-5C1B-4076-9384-3E0EC3650B1A}.Release|x64.ActiveCfg = Release|x64 + {8B143765-5C1B-4076-9384-3E0EC3650B1A}.Release|x64.Build.0 = Release|x64 + {2330EDF4-5596-4B53-8BA5-158DDDE713D9}.Debug|ARM.ActiveCfg = Debug|ARM + {2330EDF4-5596-4B53-8BA5-158DDDE713D9}.Debug|ARM.Build.0 = Debug|ARM + {2330EDF4-5596-4B53-8BA5-158DDDE713D9}.Debug|Win32.ActiveCfg = Debug|Win32 + {2330EDF4-5596-4B53-8BA5-158DDDE713D9}.Debug|Win32.Build.0 = Debug|Win32 + {2330EDF4-5596-4B53-8BA5-158DDDE713D9}.Debug|x64.ActiveCfg = Debug|x64 + {2330EDF4-5596-4B53-8BA5-158DDDE713D9}.Debug|x64.Build.0 = Debug|x64 + {2330EDF4-5596-4B53-8BA5-158DDDE713D9}.Release|ARM.ActiveCfg = Release|ARM + {2330EDF4-5596-4B53-8BA5-158DDDE713D9}.Release|ARM.Build.0 = Release|ARM + {2330EDF4-5596-4B53-8BA5-158DDDE713D9}.Release|Win32.ActiveCfg = Release|Win32 + {2330EDF4-5596-4B53-8BA5-158DDDE713D9}.Release|Win32.Build.0 = Release|Win32 + {2330EDF4-5596-4B53-8BA5-158DDDE713D9}.Release|x64.ActiveCfg = Release|x64 + {2330EDF4-5596-4B53-8BA5-158DDDE713D9}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git "a/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/Cocos2dShaderCompiler.vcxproj" "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/Cocos2dShaderCompiler.vcxproj" new file mode 100644 index 00000000..cbc70270 --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/Cocos2dShaderCompiler.vcxproj" @@ -0,0 +1,262 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + Debug + ARM + + + Release + ARM + + + + {4f6def20-ac4c-487f-85b8-5993519e3911} + Cocos2dShaderCompiler + en-US + 12.0 + true + Windows Store + 8.1 + + + + Application + true + v120 + + + Application + true + v120 + + + Application + true + v120 + + + Application + false + true + v120 + + + Application + false + true + v120 + + + Application + false + true + v120 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Cocos2dShaderCompiler_TemporaryKey.pfx + + + + d2d1.lib;d3d11.lib;dwrite.lib;dxguid.lib;dxgi.lib;ole32.lib;windowscodecs.lib;libGLESv2.lib;libEGL.lib;zlib.lib;%(AdditionalDependencies) + $(ProjectDir)..\..\..\external\winrt-specific\zlib\prebuilt\$(Platform);$(ProjectDir)..\..\..\external\winrt-specific\angle\prebuilt\$(Platform);%(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\arm; $(VCInstallDir)\lib\arm + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(EngineRoot)external\sqlite3\include;$(EngineRoot)external\unzip;$(EngineRoot)external\edtaa3func;$(EngineRoot)external\tinyxml2;$(EngineRoot)external\png\include\wp8;$(EngineRoot)external\jpeg\include\wp8;$(EngineRoot)external\tiff\include\wp8;$(EngineRoot)external\freetype2\include\wp8;$(EngineRoot)external\wp8-specific\zlib\include;$(EngineRoot)external\chipmunk\include\chipmunk;$(IntermediateOutputPath);%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + 4453;28204;4996; + WINRT;CC_USE_PHYSICS=0;_DEBUG;%(PreprocessorDefinitions) + NotUsing + + + + + d2d1.lib;d3d11.lib;dwrite.lib;dxguid.lib;dxgi.lib;ole32.lib;windowscodecs.lib;libGLESv2.lib;libEGL.lib;zlib.lib;%(AdditionalDependencies) + $(ProjectDir)..\..\..\external\winrt-specific\zlib\prebuilt\$(Platform);$(ProjectDir)..\..\..\external\winrt-specific\angle\prebuilt\$(Platform);%(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\arm; $(VCInstallDir)\lib\arm + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(EngineRoot)external\sqlite3\include;$(EngineRoot)external\unzip;$(EngineRoot)external\edtaa3func;$(EngineRoot)external\tinyxml2;$(EngineRoot)external\png\include\wp8;$(EngineRoot)external\jpeg\include\wp8;$(EngineRoot)external\tiff\include\wp8;$(EngineRoot)external\freetype2\include\wp8;$(EngineRoot)external\wp8-specific\zlib\include;$(EngineRoot)external\chipmunk\include\chipmunk;$(IntermediateOutputPath);%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + 4453;28204;4996; + WINRT;CC_USE_PHYSICS=0;NDEBUG;%(PreprocessorDefinitions) + NotUsing + + + + + d2d1.lib;d3d11.lib;dwrite.lib;dxguid.lib;dxgi.lib;ole32.lib;windowscodecs.lib;libGLESv2.lib;libEGL.lib;zlib.lib;%(AdditionalDependencies) + $(ProjectDir)..\..\..\external\winrt-specific\zlib\prebuilt\$(Platform);$(ProjectDir)..\..\..\external\winrt-specific\angle\prebuilt\$(Platform);%(AdditionalLibraryDirectories);$(VCInstallDir)\lib\store;$(VCInstallDir)\lib + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(EngineRoot)external\sqlite3\include;$(EngineRoot)external\unzip;$(EngineRoot)external\edtaa3func;$(EngineRoot)external\tinyxml2;$(EngineRoot)external\png\include\wp8;$(EngineRoot)external\jpeg\include\wp8;$(EngineRoot)external\tiff\include\wp8;$(EngineRoot)external\freetype2\include\wp8;$(EngineRoot)external\wp8-specific\zlib\include;$(EngineRoot)external\chipmunk\include\chipmunk;$(IntermediateOutputPath);%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + 4453;28204;4996; + WINRT;CC_USE_PHYSICS=0;_DEBUG;%(PreprocessorDefinitions) + NotUsing + + + + + d2d1.lib;d3d11.lib;dwrite.lib;dxguid.lib;dxgi.lib;ole32.lib;windowscodecs.lib;libGLESv2.lib;libEGL.lib;zlib.lib;%(AdditionalDependencies) + $(ProjectDir)..\..\..\external\winrt-specific\zlib\prebuilt\$(Platform);$(ProjectDir)..\..\..\external\winrt-specific\angle\prebuilt\$(Platform);%(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store; $(VCInstallDir)\lib + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(EngineRoot)external\sqlite3\include;$(EngineRoot)external\unzip;$(EngineRoot)external\edtaa3func;$(EngineRoot)external\tinyxml2;$(EngineRoot)external\png\include\wp8;$(EngineRoot)external\jpeg\include\wp8;$(EngineRoot)external\tiff\include\wp8;$(EngineRoot)external\freetype2\include\wp8;$(EngineRoot)external\wp8-specific\zlib\include;$(EngineRoot)external\chipmunk\include\chipmunk;$(IntermediateOutputPath);%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + 4453;28204;4996; + WINRT;CC_USE_PHYSICS=0;NDEBUG;%(PreprocessorDefinitions) + NotUsing + + + + + d2d1.lib;d3d11.lib;dwrite.lib;dxguid.lib;dxgi.lib;ole32.lib;windowscodecs.lib;libGLESv2.lib;libEGL.lib;zlib.lib;%(AdditionalDependencies) + $(ProjectDir)..\..\..\external\winrt-specific\zlib\prebuilt\$(Platform);$(ProjectDir)..\..\..\external\winrt-specific\angle\prebuilt\$(Platform);%(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\amd64; $(VCInstallDir)\lib\amd64 + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(EngineRoot)external\sqlite3\include;$(EngineRoot)external\unzip;$(EngineRoot)external\edtaa3func;$(EngineRoot)external\tinyxml2;$(EngineRoot)external\png\include\wp8;$(EngineRoot)external\jpeg\include\wp8;$(EngineRoot)external\tiff\include\wp8;$(EngineRoot)external\freetype2\include\wp8;$(EngineRoot)external\wp8-specific\zlib\include;$(EngineRoot)external\chipmunk\include\chipmunk;$(IntermediateOutputPath);%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + 4453;28204;4996; + WINRT;CC_USE_PHYSICS=0;_DEBUG;%(PreprocessorDefinitions) + NotUsing + + + + + d2d1.lib;d3d11.lib;dwrite.lib;dxguid.lib;dxgi.lib;ole32.lib;windowscodecs.lib;libGLESv2.lib;libEGL.lib;zlib.lib;%(AdditionalDependencies) + $(ProjectDir)..\..\..\external\winrt-specific\zlib\prebuilt\$(Platform);$(ProjectDir)..\..\..\external\winrt-specific\angle\prebuilt\$(Platform);%(AdditionalLibraryDirectories); $(VCInstallDir)\lib\store\amd64; $(VCInstallDir)\lib\amd64 + + + pch.h + $(IntDir)pch.pch + $(ProjectDir);$(EngineRoot)external\sqlite3\include;$(EngineRoot)external\unzip;$(EngineRoot)external\edtaa3func;$(EngineRoot)external\tinyxml2;$(EngineRoot)external\png\include\wp8;$(EngineRoot)external\jpeg\include\wp8;$(EngineRoot)external\tiff\include\wp8;$(EngineRoot)external\freetype2\include\wp8;$(EngineRoot)external\wp8-specific\zlib\include;$(EngineRoot)external\chipmunk\include\chipmunk;$(IntermediateOutputPath);%(AdditionalIncludeDirectories) + /bigobj %(AdditionalOptions) + 4453;28204;4996; + WINRT;CC_USE_PHYSICS=0;NDEBUG;%(PreprocessorDefinitions) + NotUsing + + + + + + + + + + + App.xaml + + + DirectXPage.xaml + + + + + + App.xaml + + + DirectXPage.xaml + + + + + + Designer + + + true + true + + + true + true + + + + + + Designer + + + Designer + + + + + {2330edf4-5596-4b53-8ba5-158ddde713d9} + + + {8b143765-5c1b-4076-9384-3e0ec3650b1a} + + + + + + + + + \ No newline at end of file diff --git "a/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/Cocos2dShaderCompiler.vcxproj.filters" "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/Cocos2dShaderCompiler.vcxproj.filters" new file mode 100644 index 00000000..1a0d3d8f --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/Cocos2dShaderCompiler.vcxproj.filters" @@ -0,0 +1,45 @@ + + + + + 5a7dfab3-eb13-41b4-a863-3136f23cdca2 + bmp;fbx;gif;jpg;jpeg;tga;tiff;tif;png + + + Assets + + + Assets + + + Assets + + + Assets + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/Cocos2dShaderCompiler_TemporaryKey.pfx" "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/Cocos2dShaderCompiler_TemporaryKey.pfx" new file mode 100644 index 00000000..61a12ec6 Binary files /dev/null and "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/Cocos2dShaderCompiler_TemporaryKey.pfx" differ diff --git "a/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/DirectXPage.xaml" "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/DirectXPage.xaml" new file mode 100644 index 00000000..e8d59e66 --- /dev/null +++ "b/21451144\351\203\221\347\205\234/LastHW/cocos2d/build/winrt/Cocos2dShaderCompiler/DirectXPage.xaml" @@ -0,0 +1,23 @@ + + + + + + + + + + + + +