diff --git a/Classes/AppDelegate.cpp b/Classes/AppDelegate.cpp index 32a83f9..be42e24 100644 --- a/Classes/AppDelegate.cpp +++ b/Classes/AppDelegate.cpp @@ -12,12 +12,15 @@ AppDelegate::~AppDelegate() {} bool AppDelegate::applicationDidFinishLaunching() { srand(time(NULL)); +#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) + FileUtils::getInstance()->setDefaultResourceRootPath("res/"); +#endif // initialize director auto director = Director::getInstance(); auto glview = director->getOpenGLView(); if(!glview) { //glview = GLViewImpl::createWithRect("Ching Chong Ping Pong", Rect(0, 0, 320, 640), 1); - glview = GLViewImpl::createWithRect("Ching Chong Ping Pong", Rect(0, 0, 800, 600), 1); + glview = GLViewImpl::createWithRect("Ching Chong Ping Pong", Rect(0, 0, 2048*0.45, 1536*0.45), 1); //glview = GLViewImpl::createWithRect("Ching Chong Ping Pong", Rect(0, 0, DESIGNED_WIDTH, DESIGNED_HEIGHT), 1); director->setOpenGLView(glview); //glview->setDesignResolutionSize(DESIGNED_WIDTH, DESIGNED_HEIGHT, ResolutionPolicy::NO_BORDER); diff --git a/Classes/Scene/AboutScene.cpp b/Classes/Scene/AboutScene.cpp index 6084d1b..ba35518 100644 --- a/Classes/Scene/AboutScene.cpp +++ b/Classes/Scene/AboutScene.cpp @@ -103,15 +103,15 @@ bool S_About::init() #define OFFSET_Y__ (320) - auto iconCharmy = Sprite::create("g_charmysoft_logo.png"); - iconCharmy->setScale(0.5f); + auto iconCharmy = Sprite::create("g_charmy_av.png"); + iconCharmy->setScale(0.6f); iconCharmy->setAnchorPoint(Vec2(0, 0.5)); iconCharmy->setPosition(E::originX + 24, E::originY + OFFSET_Y__); this->addChild(iconCharmy, 0); auto lbCharmy = Label::createWithTTF(S("CharmySoft", "尘泯网络"), FONT_BOLD, 28, Size(320, 64), TextHAlignment::CENTER, TextVAlignment::CENTER); - lbCharmy->setPosition(E::visibleWidth/2 + 80, E::originY + OFFSET_Y__ + 40); + lbCharmy->setPosition(E::visibleWidth/2 + 80, E::originY + OFFSET_Y__ + 48); lbCharmy->setAnchorPoint(Vec2(0.5, 0.5)); lbCharmy->setColor(C3B(E::P.C900)); this->addChild(lbCharmy, 0); diff --git a/Classes/Scene/BaseScene.cpp b/Classes/Scene/BaseScene.cpp index a2549f0..5fe7e15 100644 --- a/Classes/Scene/BaseScene.cpp +++ b/Classes/Scene/BaseScene.cpp @@ -62,6 +62,7 @@ void BaseScene::onKeyReleased(cocos2d::EventKeyboard::KeyCode keyCode, cocos2d:: bool BaseScene::onTouchBegan(cocos2d::Touch* touch, cocos2d::Event* event) { + utils::captureScreen(nullptr, "D:/a.png"); /* #ifndef NDEBUG Vec2 p = touch->getLocation() / E::scale; @@ -232,7 +233,7 @@ void BaseScene::putEmitter(Vec2 pos){ void BaseScene::putEmitter2(Vec2 pos){ m_emitterCreated ++; - auto _emitter = ParticleSystemQuad::createWithTotalParticles(100); + auto _emitter = ParticleSystemQuad::createWithTotalParticles(60); //_emitter->retain(); _emitter->setTag(m_emitterCreated); @@ -275,13 +276,13 @@ void BaseScene::putEmitter2(Vec2 pos){ _emitter->setEndSpinVar(360); // color of particles - _emitter->setStartColor(C4F_(E::P.C700, 0.7f)); + _emitter->setStartColor(C4F_(E::P.C700, 0.5f)); _emitter->setStartColorVar(Color4F(0.1f, 0.1f, 0.1f, 0.2f)); _emitter->setEndColor(C4F_(E::P.C700, 0.15f)); _emitter->setEndColorVar(Color4F(0.1f, 0.1f, 0.1f, 0.15f)); // size, in pixels - _emitter->setStartSize(28.0f); + _emitter->setStartSize(32.0f); _emitter->setStartSizeVar(4.0f); _emitter->setEndSize(ParticleSystem::START_SIZE_EQUAL_TO_END_SIZE); @@ -300,7 +301,7 @@ void BaseScene::putEmitter2(Vec2 pos){ void BaseScene::putEmitter3(Vec2 pos){ m_emitterCreated ++; - auto _emitter = ParticleSystemQuad::createWithTotalParticles(40); + auto _emitter = ParticleSystemQuad::createWithTotalParticles(20); //_emitter->retain(); _emitter->setTag(m_emitterCreated); @@ -337,10 +338,10 @@ void BaseScene::putEmitter3(Vec2 pos){ _emitter->setLifeVar(0.8f); // color of particles - _emitter->setStartColor(C4F_(E::P.C500, 0.8f)); - _emitter->setStartColorVar(Color4F(0.1f, 0.1f, 0.1f, 0.2f)); + _emitter->setStartColor(C4F_(E::P.C500, 0.4f)); + _emitter->setStartColorVar(Color4F(0.1f, 0.1f, 0.1f, 0.3f)); _emitter->setEndColor(C4F_(E::P.C300, 0.3f)); - _emitter->setEndColorVar(Color4F(0.1f, 0.1f, 0.1f, 0.15f)); + _emitter->setEndColorVar(Color4F(0.1f, 0.1f, 0.1f, 0.2f)); // size, in pixels _emitter->setStartSize(32.0f); diff --git a/Classes/Scene/LevelPickerScene.cpp b/Classes/Scene/LevelPickerScene.cpp index 363e2c8..2854f8f 100644 --- a/Classes/Scene/LevelPickerScene.cpp +++ b/Classes/Scene/LevelPickerScene.cpp @@ -169,7 +169,7 @@ bool S_LevelPicker::init() CPalette[i]->setScale(0.3f); CPalette[i]->setAnchorPoint(Vec2(0, 0)); CPalette[i]->setTag(TAG_COLOR_MENU+i); - auto lbLevel = Label::createWithTTF(stdp::to_string(i+1), FONT_BOLD, 128, + auto lbLevel = Label::createWithTTF(i+1 > E::settings.unlockedLevel? "?": stdp::to_string(i+1), FONT_BOLD, 128, CPalette[i]->getContentSize(), TextHAlignment::CENTER, TextVAlignment::CENTER); lbLevel->setPosition(CPalette[i]->getContentSize()/2); //lbLevel->setAnchorPoint(Vec2(0.5, 0.5)); @@ -273,6 +273,7 @@ void S_LevelPicker::menuCallback(Ref* pSender) void S_LevelPicker::_ok(){ E::settings.currentLevel = m_tempLevel; + UserDefault::getInstance()->setIntegerForKey(UD_CURRENT_LEVEL, E::settings.currentLevel); m_bClose = 1; runAnimations(true); } diff --git a/Classes/Scene/MainGameScene.cpp b/Classes/Scene/MainGameScene.cpp index 2bba775..a9d370f 100644 --- a/Classes/Scene/MainGameScene.cpp +++ b/Classes/Scene/MainGameScene.cpp @@ -39,7 +39,7 @@ bool S_MainGame::init() // super init if (!BaseScene::init(E::P.C100)){return false;} #ifndef NDEBUG - //E::settings.currentLevel = 19; + //E::settings.currentLevel = 21; E::settings.unlockedLevel = 22; #endif @@ -263,13 +263,21 @@ void S_MainGame::onKeyEvent(EventKeyboard::KeyCode keyCode, cocos2d::Event *even } void S_MainGame::backHomeDialog(){ - auto leaveDialog = BallDialog::create(S("If you go back to home page, your current game will be lost, are you sure?", "返回主菜单后当前游戏数据将丢失,您确定要返回主菜单吗?"), CC_CALLBACK_0(S_MainGame::leaveGame, this)); - this->addChild(leaveDialog, 1000); + static BallDialog* leaveDialog = nullptr; + if(leaveDialog == nullptr || leaveDialog->isValid() == false){ + leaveDialog = BallDialog::create(S("If you go back to home page, your current game will be lost, are you sure?", "返回主菜单后当前游戏数据将丢失,您确定要返回主菜单吗?"), CC_CALLBACK_0(S_MainGame::leaveGame, this)); + leaveDialog->setReferencer(&leaveDialog); + this->addChild(leaveDialog, 1000); + } } void S_MainGame::pickLevelDialog(){ - auto leaveDialog = BallDialog::create(S("If you pick a new level, your current game will be lost, are you sure?", "选择新的关卡后当前游戏数据将丢失,您确定要选择关卡吗?"), CC_CALLBACK_0(S_MainGame::pickLevel, this)); - this->addChild(leaveDialog, 1000); + static BallDialog* pickLevelDialog = nullptr; + if(pickLevelDialog == nullptr || pickLevelDialog->isValid() == false){ + pickLevelDialog = BallDialog::create(S("If you pick a new level, your current game will be lost, are you sure?", "选择新的关卡后当前游戏数据将丢失,您确定要选择关卡吗?"), CC_CALLBACK_0(S_MainGame::pickLevel, this)); + pickLevelDialog->setReferencer(&pickLevelDialog); + this->addChild(pickLevelDialog, 1000); + } } void S_MainGame::pickLevel(){ @@ -339,6 +347,8 @@ void S_MainGame::restartGame(){ addChild(m_game, 2); m_game->runAction(Sequence::create(DelayTime::create(0.6f), FadeIn::create(0.3f), nullptr)); } + m_smartstring->stopGoing(); + } @@ -422,8 +432,12 @@ void S_MainGame::menuCallback(Ref* pSender) case TAG_RESTART: { - auto leaveDialog = BallDialog::create(S("Do you want to restart this game?", "是否想要重新开始这一关?"), CC_CALLBACK_0(S_MainGame::restartGame, this)); - this->addChild(leaveDialog, 1000); + static BallDialog* restartDialog = nullptr; + if(restartDialog == nullptr || restartDialog->isValid() == false){ + restartDialog = BallDialog::create(S("Do you want to restart this game?", "是否想要重新开始这一关?"), CC_CALLBACK_0(S_MainGame::restartGame, this)); + restartDialog->setReferencer(&restartDialog); + this->addChild(restartDialog, 1000); + } break; } case TAG_HOME: diff --git a/Classes/Scene/SplashScene.cpp b/Classes/Scene/SplashScene.cpp index 467f3df..add39d3 100644 --- a/Classes/Scene/SplashScene.cpp +++ b/Classes/Scene/SplashScene.cpp @@ -22,7 +22,7 @@ bool S_Splash::init() } auto iconCharmy = Sprite::create("g_charmysoft_logo.png"); - iconCharmy->setScale(0.8f); + iconCharmy->setScale(0.75f); iconCharmy->setAnchorPoint(Vec2(0.5, 0.5)); iconCharmy->setOpacity(0); iconCharmy->setPosition(E::visibleWidth / 2, E::visibleHeight / 2); diff --git a/Classes/UI/BallDialog.cpp b/Classes/UI/BallDialog.cpp index 946a2da..69901ed 100644 --- a/Classes/UI/BallDialog.cpp +++ b/Classes/UI/BallDialog.cpp @@ -10,6 +10,7 @@ USING_NS_CC; #define TAG_CANCEL 1 BallDialog::BallDialog() { + m_referencer = nullptr; } BallDialog::~BallDialog() { @@ -152,7 +153,6 @@ void BallDialog::runAnimations(bool bReverse){ E::playEffect("da"); m_callbackOK(); } - this->removeFromParentAndCleanup(true); break; } @@ -163,17 +163,18 @@ void BallDialog::runAnimations(bool bReverse){ E::playEffect("da"); m_callbackCancel(); } - this->removeFromParentAndCleanup(true); break; } default: { - this->removeFromParentAndCleanup(true); break; } } - - + this->removeFromParentAndCleanup(true); + if(m_referencer != nullptr && *m_referencer != nullptr){ + *m_referencer = nullptr; + m_referencer = nullptr; + } }); auto seq = Sequence::create(DelayTime::create(0.4f), callback, nullptr); this->runAction(seq); @@ -185,4 +186,4 @@ void BallDialog::menuCallback(Ref* pSender) auto pMenuItem = (MenuItem*)pSender; m_resultTag = pMenuItem->getTag(); runAnimations(true); -} \ No newline at end of file +} diff --git a/Classes/UI/BallDialog.h b/Classes/UI/BallDialog.h index dd11f09..9a7f097 100644 --- a/Classes/UI/BallDialog.h +++ b/Classes/UI/BallDialog.h @@ -10,6 +10,8 @@ class BallDialog : public cocos2d::Sprite ~BallDialog(); static BallDialog* create(const std::string = "", const std::function& callbackOK = nullptr, const std::function& callbackCancel = nullptr, const std::string ok = "ui/b_ok.png", const std::string cancel = "ui/b_cancel.png"); void runAnimations(bool); + bool isValid(){return m_listenerId != -1;}; + void setReferencer(BallDialog** referencer){m_referencer = referencer;}; private: void addEvents(); @@ -25,6 +27,7 @@ class BallDialog : public cocos2d::Sprite void initOpt(std::string, std::string); void menuCallback(cocos2d::Ref* pSender); int m_listenerId; + BallDialog** m_referencer; }; diff --git a/Resources/g_charmy_av.png b/Resources/g_charmy_av.png new file mode 100644 index 0000000..dcd8893 Binary files /dev/null and b/Resources/g_charmy_av.png differ diff --git a/Resources/g_charmysoft_logo.png b/Resources/g_charmysoft_logo.png index 110fa64..b18ab58 100644 Binary files a/Resources/g_charmysoft_logo.png and b/Resources/g_charmysoft_logo.png differ diff --git a/proj.android/AndroidManifest.xml b/proj.android/AndroidManifest.xml index ca0d701..46cfb08 100644 --- a/proj.android/AndroidManifest.xml +++ b/proj.android/AndroidManifest.xml @@ -26,7 +26,10 @@ + + + + diff --git a/proj.android/res/drawable-xxxhdpi/icon.png b/proj.android/res/drawable-xxxhdpi/icon.png deleted file mode 100644 index e2cd3c5..0000000 Binary files a/proj.android/res/drawable-xxxhdpi/icon.png and /dev/null differ diff --git a/proj.android/res/drawable/icon.png b/proj.android/res/drawable/icon.png new file mode 100644 index 0000000..75fcca8 Binary files /dev/null and b/proj.android/res/drawable/icon.png differ diff --git a/proj.android/src/org/cocos2dx/cpp/AppActivity.java b/proj.android/src/org/cocos2dx/cpp/AppActivity.java index d757972..f11eb84 100644 --- a/proj.android/src/org/cocos2dx/cpp/AppActivity.java +++ b/proj.android/src/org/cocos2dx/cpp/AppActivity.java @@ -26,7 +26,106 @@ of this software and associated documentation files (the "Software"), to deal ****************************************************************************/ package org.cocos2dx.cpp; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; + import org.cocos2dx.lib.Cocos2dxActivity; +import android.app.Activity; +import android.app.AlertDialog; +import android.content.ActivityNotFoundException; +import android.content.Intent; +import android.content.res.AssetManager; +import android.net.Uri; +import android.os.Bundle; +import android.os.Environment; + public class AppActivity extends Cocos2dxActivity { + // Buffer size used. + private final static int BUFFER_SIZE = 1024; + static Activity a; + static File file = null; + @Override + protected void onCreate(Bundle savedInstanceState) { + a = this; + super.onCreate(savedInstanceState); + } + public static void Charmy_Share() { + new Thread(new Runnable() { + public void run() { + if(file == null || !file.exists()){ + CopyShareToSdCard(); + file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/ccpp.png"); + } + Intent intent = new Intent(Intent.ACTION_SEND); + intent.setType("image/*"); + intent.putExtra(Intent.EXTRA_SUBJECT, "Ching Chong Ping Pong"); + intent.putExtra(Intent.EXTRA_TEXT, "Check out this extradinary game, Ching Chong Ping Pong! It's real fun! http://www.CharmySoft.com"); + intent.putExtra(Intent.EXTRA_STREAM, + Uri.fromFile(file)); + a.startActivity(Intent.createChooser(intent, "Share Game")); + } + }).start(); + } + + public static void Charmy_Rate(){ + Uri uri = Uri.parse("market://details?id=" + a.getApplicationContext().getPackageName()); + Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri); + try { + a.startActivity(goToMarket); + } catch (ActivityNotFoundException e) { + a.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://play.google.com/store/apps/details?id=" + a.getApplicationContext().getPackageName()))); + } + } + + private static void CopyShareToSdCard() { + try{ + AssetManager assetManager = a.getApplicationContext().getAssets(); + InputStream in = assetManager.open("share.png"); + OutputStream out = new FileOutputStream(Environment.getExternalStorageDirectory().getAbsolutePath() + "/ccpp.png"); + copyAssetFiles(in, out); + in.close(); + in = null; + out.flush(); + out.close(); + out = null; + }catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (NullPointerException e) { + e.printStackTrace(); + } catch (Exception e) { + e.printStackTrace(); + } + + } + + + private static void copyAssetFiles(InputStream in, OutputStream out) { + try { + + byte[] buffer = new byte[BUFFER_SIZE]; + int read; + + while ((read = in.read(buffer)) != -1) { + out.write(buffer, 0, read); + } + + in.close(); + in = null; + out.flush(); + out.close(); + out = null; + + } catch (IOException e) { + } catch (NullPointerException e) { + e.printStackTrace(); + } catch (Exception e) { + e.printStackTrace(); + } + } + } diff --git a/proj.ios_mac/Slippery Wheels.xcodeproj/project.pbxproj b/proj.ios_mac/CCPP.xcodeproj/project.pbxproj similarity index 63% rename from proj.ios_mac/Slippery Wheels.xcodeproj/project.pbxproj rename to proj.ios_mac/CCPP.xcodeproj/project.pbxproj index 37bd9d5..9d00670 100644 --- a/proj.ios_mac/Slippery Wheels.xcodeproj/project.pbxproj +++ b/proj.ios_mac/CCPP.xcodeproj/project.pbxproj @@ -7,38 +7,30 @@ objects = { /* Begin PBXBuildFile section */ - 1AC6FB1F180E996B004C840B /* libbox2d Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1AC6FAFF180E9839004C840B /* libbox2d Mac.a */; }; - 1AC6FB20180E996B004C840B /* libchipmunk Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1AC6FAFD180E9839004C840B /* libchipmunk Mac.a */; }; - 1AC6FB21180E996B004C840B /* libcocos2dx Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1AC6FAF9180E9839004C840B /* libcocos2dx Mac.a */; }; - 1AC6FB22180E996B004C840B /* libcocos2dx-extensions Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1AC6FAFB180E9839004C840B /* libcocos2dx-extensions Mac.a */; }; - 1AC6FB23180E996B004C840B /* libCocosDenshion Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1AC6FB01180E9839004C840B /* libCocosDenshion Mac.a */; }; - 1AC6FB2E180E99EB004C840B /* libbox2d iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1AC6FB0D180E9839004C840B /* libbox2d iOS.a */; }; - 1AC6FB2F180E99EB004C840B /* libchipmunk iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1AC6FB0B180E9839004C840B /* libchipmunk iOS.a */; }; - 1AC6FB30180E99EB004C840B /* libcocos2dx iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1AC6FB07180E9839004C840B /* libcocos2dx iOS.a */; }; - 1AC6FB31180E99EB004C840B /* libcocos2dx-extensions iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1AC6FB09180E9839004C840B /* libcocos2dx-extensions iOS.a */; }; - 1AC6FB32180E99EB004C840B /* libCocosDenshion iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1AC6FB0F180E9839004C840B /* libCocosDenshion iOS.a */; }; - 1AFAF8B716D35DE700DB1158 /* AppDelegate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AFAF8B316D35DE700DB1158 /* AppDelegate.cpp */; }; - 1AFAF8B816D35DE700DB1158 /* HelloWorldScene.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AFAF8B516D35DE700DB1158 /* HelloWorldScene.cpp */; }; - 1AFAF8BC16D35E4900DB1158 /* CloseNormal.png in Resources */ = {isa = PBXBuildFile; fileRef = 1AFAF8B916D35E4900DB1158 /* CloseNormal.png */; }; - 1AFAF8BD16D35E4900DB1158 /* CloseSelected.png in Resources */ = {isa = PBXBuildFile; fileRef = 1AFAF8BA16D35E4900DB1158 /* CloseSelected.png */; }; - 1AFAF8BE16D35E4900DB1158 /* HelloWorld.png in Resources */ = {isa = PBXBuildFile; fileRef = 1AFAF8BB16D35E4900DB1158 /* HelloWorld.png */; }; + 1AC6FB21180E996B004C840B /* libcocos2d Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1AC6FAF9180E9839004C840B /* libcocos2d Mac.a */; }; + 1AC6FB30180E99EB004C840B /* libcocos2d iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1AC6FB07180E9839004C840B /* libcocos2d iOS.a */; }; 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; 288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; }; + 3EACC98F19EE6D4300EB3C5E /* res in Resources */ = {isa = PBXBuildFile; fileRef = 3EACC98E19EE6D4300EB3C5E /* res */; }; + 3EACC99019EE6D4300EB3C5E /* res in Resources */ = {isa = PBXBuildFile; fileRef = 3EACC98E19EE6D4300EB3C5E /* res */; }; + 46880B7B19C43A67006E1F66 /* CloseNormal.png in Resources */ = {isa = PBXBuildFile; fileRef = 46880B7619C43A67006E1F66 /* CloseNormal.png */; }; + 46880B7C19C43A67006E1F66 /* CloseNormal.png in Resources */ = {isa = PBXBuildFile; fileRef = 46880B7619C43A67006E1F66 /* CloseNormal.png */; }; + 46880B7D19C43A67006E1F66 /* CloseSelected.png in Resources */ = {isa = PBXBuildFile; fileRef = 46880B7719C43A67006E1F66 /* CloseSelected.png */; }; + 46880B7E19C43A67006E1F66 /* CloseSelected.png in Resources */ = {isa = PBXBuildFile; fileRef = 46880B7719C43A67006E1F66 /* CloseSelected.png */; }; + 46880B8119C43A67006E1F66 /* HelloWorld.png in Resources */ = {isa = PBXBuildFile; fileRef = 46880B7A19C43A67006E1F66 /* HelloWorld.png */; }; + 46880B8219C43A67006E1F66 /* HelloWorld.png in Resources */ = {isa = PBXBuildFile; fileRef = 46880B7A19C43A67006E1F66 /* HelloWorld.png */; }; + 46880B8819C43A87006E1F66 /* AppDelegate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 46880B8419C43A87006E1F66 /* AppDelegate.cpp */; }; + 46880B8919C43A87006E1F66 /* AppDelegate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 46880B8419C43A87006E1F66 /* AppDelegate.cpp */; }; + 46880B8A19C43A87006E1F66 /* HelloWorldScene.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 46880B8619C43A87006E1F66 /* HelloWorldScene.cpp */; }; + 46880B8B19C43A87006E1F66 /* HelloWorldScene.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 46880B8619C43A87006E1F66 /* HelloWorldScene.cpp */; }; 503AE0F817EB97AB00D1A890 /* Icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 503AE0F617EB97AB00D1A890 /* Icon.icns */; }; 503AE10017EB989F00D1A890 /* AppController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 503AE0FB17EB989F00D1A890 /* AppController.mm */; }; 503AE10117EB989F00D1A890 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 503AE0FC17EB989F00D1A890 /* main.m */; }; 503AE10217EB989F00D1A890 /* RootViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 503AE0FF17EB989F00D1A890 /* RootViewController.mm */; }; 503AE10517EB98FF00D1A890 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 503AE10317EB98FF00D1A890 /* main.cpp */; }; - 503AE11217EB99EE00D1A890 /* libcurl.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 503AE11117EB99EE00D1A890 /* libcurl.dylib */; }; 503AE11B17EB9C5A00D1A890 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 503AE11A17EB9C5A00D1A890 /* IOKit.framework */; }; - 5087E75317EB910900C73F5D /* CloseNormal.png in Resources */ = {isa = PBXBuildFile; fileRef = 1AFAF8B916D35E4900DB1158 /* CloseNormal.png */; }; - 5087E75417EB910900C73F5D /* CloseSelected.png in Resources */ = {isa = PBXBuildFile; fileRef = 1AFAF8BA16D35E4900DB1158 /* CloseSelected.png */; }; - 5087E75517EB910900C73F5D /* HelloWorld.png in Resources */ = {isa = PBXBuildFile; fileRef = 1AFAF8BB16D35E4900DB1158 /* HelloWorld.png */; }; - 5087E75717EB910900C73F5D /* AppDelegate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AFAF8B316D35DE700DB1158 /* AppDelegate.cpp */; }; - 5087E75817EB910900C73F5D /* HelloWorldScene.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AFAF8B516D35DE700DB1158 /* HelloWorldScene.cpp */; }; 5087E76317EB910900C73F5D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; - 5087E76517EB910900C73F5D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; }; 5087E76717EB910900C73F5D /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = BF170DB412928DE900B8313A /* libz.dylib */; }; 5087E76817EB910900C73F5D /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF1C47EA1293683800B63C5D /* QuartzCore.framework */; }; 5087E76917EB910900C73F5D /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620B132DFF330009C878 /* OpenAL.framework */; }; @@ -62,6 +54,11 @@ 50EF629917ECD46A001EB2F8 /* Icon-100.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629517ECD46A001EB2F8 /* Icon-100.png */; }; 50EF62A217ECD613001EB2F8 /* Icon-29.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF62A017ECD613001EB2F8 /* Icon-29.png */; }; 50EF62A317ECD613001EB2F8 /* Icon-50.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF62A117ECD613001EB2F8 /* Icon-50.png */; }; + 521A8E6419F0C34300D177D7 /* Default-667h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 521A8E6219F0C34300D177D7 /* Default-667h@2x.png */; }; + 521A8E6519F0C34300D177D7 /* Default-736h@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 521A8E6319F0C34300D177D7 /* Default-736h@3x.png */; }; + 521A8EA919F11F5000D177D7 /* fonts in Resources */ = {isa = PBXBuildFile; fileRef = 521A8EA819F11F5000D177D7 /* fonts */; }; + 521A8EAA19F11F5000D177D7 /* fonts in Resources */ = {isa = PBXBuildFile; fileRef = 521A8EA819F11F5000D177D7 /* fonts */; }; + 52B47A471A53D09C004E4C60 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52B47A461A53D09B004E4C60 /* Security.framework */; }; BF171245129291EC00B8313A /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF170DB012928DE900B8313A /* OpenGLES.framework */; }; BF1712471292920000B8313A /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = BF170DB412928DE900B8313A /* libz.dylib */; }; BF1C47F01293687400B63C5D /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF1C47EA1293683800B63C5D /* QuartzCore.framework */; }; @@ -79,48 +76,6 @@ remoteGlobalIDString = 1551A33F158F2AB200E66CFE; remoteInfo = "cocos2dx Mac"; }; - 1AC6FAFA180E9839004C840B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1AC6FAE5180E9839004C840B /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A03F2FD617814595006731B9; - remoteInfo = "cocos2dx-extensions Mac"; - }; - 1AC6FAFC180E9839004C840B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1AC6FAE5180E9839004C840B /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A03F2CB81780BD04006731B9; - remoteInfo = "chipmunk Mac"; - }; - 1AC6FAFE180E9839004C840B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1AC6FAE5180E9839004C840B /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A03F2D9B1780BDF7006731B9; - remoteInfo = "box2d Mac"; - }; - 1AC6FB00180E9839004C840B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1AC6FAE5180E9839004C840B /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A03F2ED617814268006731B9; - remoteInfo = "CocosDenshion Mac"; - }; - 1AC6FB02180E9839004C840B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1AC6FAE5180E9839004C840B /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A03F31FD1781479B006731B9; - remoteInfo = "jsbindings Mac"; - }; - 1AC6FB04180E9839004C840B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1AC6FAE5180E9839004C840B /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 1A6FB53017854BC300CDF010; - remoteInfo = "luabindings Mac"; - }; 1AC6FB06180E9839004C840B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 1AC6FAE5180E9839004C840B /* cocos2d_libs.xcodeproj */; @@ -128,48 +83,6 @@ remoteGlobalIDString = A07A4D641783777C0073F6A7; remoteInfo = "cocos2dx iOS"; }; - 1AC6FB08180E9839004C840B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1AC6FAE5180E9839004C840B /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A07A4EFC1783867C0073F6A7; - remoteInfo = "cocos2dx-extensions iOS"; - }; - 1AC6FB0A180E9839004C840B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1AC6FAE5180E9839004C840B /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A07A4F3B178387670073F6A7; - remoteInfo = "chipmunk iOS"; - }; - 1AC6FB0C180E9839004C840B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1AC6FAE5180E9839004C840B /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A07A4F9E1783876B0073F6A7; - remoteInfo = "box2d iOS"; - }; - 1AC6FB0E180E9839004C840B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1AC6FAE5180E9839004C840B /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A07A4FB4178387730073F6A7; - remoteInfo = "CocosDenshion iOS"; - }; - 1AC6FB10180E9839004C840B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1AC6FAE5180E9839004C840B /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = A07A5030178387750073F6A7; - remoteInfo = "jsbindings iOS"; - }; - 1AC6FB12180E9839004C840B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1AC6FAE5180E9839004C840B /* cocos2d_libs.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 1A119791178526AA00D62A44; - remoteInfo = "luabindings iOS"; - }; 1AC6FB15180E9959004C840B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 1AC6FAE5180E9839004C840B /* cocos2d_libs.xcodeproj */; @@ -177,34 +90,6 @@ remoteGlobalIDString = 1551A33E158F2AB200E66CFE; remoteInfo = "cocos2dx Mac"; }; - 1AC6FB17180E9959004C840B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1AC6FAE5180E9839004C840B /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = A03F2FC117814595006731B9; - remoteInfo = "cocos2dx-extensions Mac"; - }; - 1AC6FB19180E9959004C840B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1AC6FAE5180E9839004C840B /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = A03F2B781780BD04006731B9; - remoteInfo = "chipmunk Mac"; - }; - 1AC6FB1B180E9959004C840B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1AC6FAE5180E9839004C840B /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = A03F2E9817814268006731B9; - remoteInfo = "CocosDenshion Mac"; - }; - 1AC6FB1D180E9963004C840B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1AC6FAE5180E9839004C840B /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = A03F2D5D1780BDF7006731B9; - remoteInfo = "box2d Mac"; - }; 1AC6FB24180E99E1004C840B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 1AC6FAE5180E9839004C840B /* cocos2d_libs.xcodeproj */; @@ -212,50 +97,23 @@ remoteGlobalIDString = A07A4C241783777C0073F6A7; remoteInfo = "cocos2dx iOS"; }; - 1AC6FB26180E99E1004C840B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1AC6FAE5180E9839004C840B /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = A07A4E111783867C0073F6A7; - remoteInfo = "cocos2dx-extensions iOS"; - }; - 1AC6FB28180E99E1004C840B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1AC6FAE5180E9839004C840B /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = A07A4EFD178387670073F6A7; - remoteInfo = "chipmunk iOS"; - }; - 1AC6FB2A180E99E1004C840B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1AC6FAE5180E9839004C840B /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = A07A4F3C1783876B0073F6A7; - remoteInfo = "box2d iOS"; - }; - 1AC6FB2C180E99E1004C840B /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 1AC6FAE5180E9839004C840B /* cocos2d_libs.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = A07A4F9F178387730073F6A7; - remoteInfo = "CocosDenshion iOS"; - }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ 1AC6FAE5180E9839004C840B /* cocos2d_libs.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = cocos2d_libs.xcodeproj; path = ../cocos2d/build/cocos2d_libs.xcodeproj; sourceTree = ""; }; 1ACB3243164770DE00914215 /* libcurl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libcurl.a; path = ../../cocos2dx/platform/third_party/ios/libraries/libcurl.a; sourceTree = ""; }; - 1AFAF8B316D35DE700DB1158 /* AppDelegate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AppDelegate.cpp; path = ../Classes/AppDelegate.cpp; sourceTree = ""; }; - 1AFAF8B416D35DE700DB1158 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = ../Classes/AppDelegate.h; sourceTree = ""; }; - 1AFAF8B516D35DE700DB1158 /* HelloWorldScene.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HelloWorldScene.cpp; path = ../Classes/HelloWorldScene.cpp; sourceTree = ""; }; - 1AFAF8B616D35DE700DB1158 /* HelloWorldScene.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HelloWorldScene.h; path = ../Classes/HelloWorldScene.h; sourceTree = ""; }; - 1AFAF8B916D35E4900DB1158 /* CloseNormal.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = CloseNormal.png; sourceTree = ""; }; - 1AFAF8BA16D35E4900DB1158 /* CloseSelected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = CloseSelected.png; sourceTree = ""; }; - 1AFAF8BB16D35E4900DB1158 /* HelloWorld.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = HelloWorld.png; sourceTree = ""; }; 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - 1D6058910D05DD3D006BFB54 /* Slippery Wheels iOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Slippery Wheels iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 1D6058910D05DD3D006BFB54 /* CCPP iOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "CCPP iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 288765A40DF7441C002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + 3EACC98E19EE6D4300EB3C5E /* res */ = {isa = PBXFileReference; lastKnownFileType = folder; path = res; sourceTree = ""; }; + 46880B7619C43A67006E1F66 /* CloseNormal.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = CloseNormal.png; sourceTree = ""; }; + 46880B7719C43A67006E1F66 /* CloseSelected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = CloseSelected.png; sourceTree = ""; }; + 46880B7A19C43A67006E1F66 /* HelloWorld.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = HelloWorld.png; sourceTree = ""; }; + 46880B8419C43A87006E1F66 /* AppDelegate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AppDelegate.cpp; sourceTree = ""; }; + 46880B8519C43A87006E1F66 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + 46880B8619C43A87006E1F66 /* HelloWorldScene.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HelloWorldScene.cpp; sourceTree = ""; }; + 46880B8719C43A87006E1F66 /* HelloWorldScene.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HelloWorldScene.h; sourceTree = ""; }; 503AE0F617EB97AB00D1A890 /* Icon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = Icon.icns; sourceTree = ""; }; 503AE0F717EB97AB00D1A890 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 503AE0FA17EB989F00D1A890 /* AppController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppController.h; path = ios/AppController.h; sourceTree = SOURCE_ROOT; }; @@ -268,7 +126,7 @@ 503AE10417EB98FF00D1A890 /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Prefix.pch; path = mac/Prefix.pch; sourceTree = ""; }; 503AE11117EB99EE00D1A890 /* libcurl.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libcurl.dylib; path = usr/lib/libcurl.dylib; sourceTree = SDKROOT; }; 503AE11A17EB9C5A00D1A890 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; - 5087E76F17EB910900C73F5D /* Slippery Wheels Mac.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Slippery Wheels Mac.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 5087E76F17EB910900C73F5D /* CCPP Mac.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "CCPP Mac.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 5087E77217EB970100C73F5D /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; 5087E77317EB970100C73F5D /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; }; 5087E77417EB970100C73F5D /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = ""; }; @@ -288,6 +146,10 @@ 50EF629517ECD46A001EB2F8 /* Icon-100.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-100.png"; sourceTree = ""; }; 50EF62A017ECD613001EB2F8 /* Icon-29.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-29.png"; sourceTree = ""; }; 50EF62A117ECD613001EB2F8 /* Icon-50.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-50.png"; sourceTree = ""; }; + 521A8E6219F0C34300D177D7 /* Default-667h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-667h@2x.png"; sourceTree = ""; }; + 521A8E6319F0C34300D177D7 /* Default-736h@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-736h@3x.png"; sourceTree = ""; }; + 521A8EA819F11F5000D177D7 /* fonts */ = {isa = PBXFileReference; lastKnownFileType = folder; path = fonts; sourceTree = ""; }; + 52B47A461A53D09B004E4C60 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/System/Library/Frameworks/Security.framework; sourceTree = DEVELOPER_DIR; }; BF170DB012928DE900B8313A /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; BF170DB412928DE900B8313A /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; }; BF1C47EA1293683800B63C5D /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; @@ -302,11 +164,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1AC6FB2E180E99EB004C840B /* libbox2d iOS.a in Frameworks */, - 1AC6FB2F180E99EB004C840B /* libchipmunk iOS.a in Frameworks */, - 1AC6FB30180E99EB004C840B /* libcocos2dx iOS.a in Frameworks */, - 1AC6FB31180E99EB004C840B /* libcocos2dx-extensions iOS.a in Frameworks */, - 1AC6FB32180E99EB004C840B /* libCocosDenshion iOS.a in Frameworks */, + 52B47A471A53D09C004E4C60 /* Security.framework in Frameworks */, + 1AC6FB30180E99EB004C840B /* libcocos2d iOS.a in Frameworks */, D6B0611B1803AB670077942B /* CoreMotion.framework in Frameworks */, 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */, 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */, @@ -324,18 +183,12 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1AC6FB1F180E996B004C840B /* libbox2d Mac.a in Frameworks */, - 1AC6FB20180E996B004C840B /* libchipmunk Mac.a in Frameworks */, - 1AC6FB21180E996B004C840B /* libcocos2dx Mac.a in Frameworks */, - 1AC6FB22180E996B004C840B /* libcocos2dx-extensions Mac.a in Frameworks */, - 1AC6FB23180E996B004C840B /* libCocosDenshion Mac.a in Frameworks */, - 503AE11217EB99EE00D1A890 /* libcurl.dylib in Frameworks */, + 1AC6FB21180E996B004C840B /* libcocos2d Mac.a in Frameworks */, 5087E76717EB910900C73F5D /* libz.dylib in Frameworks */, 503AE11B17EB9C5A00D1A890 /* IOKit.framework in Frameworks */, 5087E78B17EB975400C73F5D /* OpenGL.framework in Frameworks */, 5087E78917EB974C00C73F5D /* AppKit.framework in Frameworks */, 5087E76317EB910900C73F5D /* Foundation.framework in Frameworks */, - 5087E76517EB910900C73F5D /* CoreGraphics.framework in Frameworks */, 5087E76817EB910900C73F5D /* QuartzCore.framework in Frameworks */, 5087E76917EB910900C73F5D /* OpenAL.framework in Frameworks */, 5087E76A17EB910900C73F5D /* AVFoundation.framework in Frameworks */, @@ -361,23 +214,11 @@ path = Classes; sourceTree = ""; }; - 15AA9C4015B7EC450033D6C2 /* Classes */ = { - isa = PBXGroup; - children = ( - 1AFAF8B316D35DE700DB1158 /* AppDelegate.cpp */, - 1AFAF8B416D35DE700DB1158 /* AppDelegate.h */, - 1AFAF8B516D35DE700DB1158 /* HelloWorldScene.cpp */, - 1AFAF8B616D35DE700DB1158 /* HelloWorldScene.h */, - ); - name = Classes; - path = ../classes; - sourceTree = ""; - }; 19C28FACFE9D520D11CA2CBB /* Products */ = { isa = PBXGroup; children = ( - 1D6058910D05DD3D006BFB54 /* Slippery Wheels iOS.app */, - 5087E76F17EB910900C73F5D /* Slippery Wheels Mac.app */, + 1D6058910D05DD3D006BFB54 /* CCPP iOS.app */, + 5087E76F17EB910900C73F5D /* CCPP Mac.app */, ); name = Products; sourceTree = ""; @@ -385,20 +226,8 @@ 1AC6FAE6180E9839004C840B /* Products */ = { isa = PBXGroup; children = ( - 1AC6FAF9180E9839004C840B /* libcocos2dx Mac.a */, - 1AC6FAFB180E9839004C840B /* libcocos2dx-extensions Mac.a */, - 1AC6FAFD180E9839004C840B /* libchipmunk Mac.a */, - 1AC6FAFF180E9839004C840B /* libbox2d Mac.a */, - 1AC6FB01180E9839004C840B /* libCocosDenshion Mac.a */, - 1AC6FB03180E9839004C840B /* libjsbindings Mac.a */, - 1AC6FB05180E9839004C840B /* libluabindings Mac.a */, - 1AC6FB07180E9839004C840B /* libcocos2dx iOS.a */, - 1AC6FB09180E9839004C840B /* libcocos2dx-extensions iOS.a */, - 1AC6FB0B180E9839004C840B /* libchipmunk iOS.a */, - 1AC6FB0D180E9839004C840B /* libbox2d iOS.a */, - 1AC6FB0F180E9839004C840B /* libCocosDenshion iOS.a */, - 1AC6FB11180E9839004C840B /* libjsbindings iOS.a */, - 1AC6FB13180E9839004C840B /* libluabindings iOS.a */, + 1AC6FAF9180E9839004C840B /* libcocos2d Mac.a */, + 1AC6FB07180E9839004C840B /* libcocos2d iOS.a */, ); name = Products; sourceTree = ""; @@ -406,13 +235,13 @@ 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = { isa = PBXGroup; children = ( + 46880B8319C43A87006E1F66 /* Classes */, + 46880B7519C43A67006E1F66 /* Resources */, 1AC6FAE5180E9839004C840B /* cocos2d_libs.xcodeproj */, - 15AA9C4015B7EC450033D6C2 /* Classes */, 29B97323FDCFA39411CA2CEA /* Frameworks */, 080E96DDFE201D6D7F000001 /* ios */, 503AE10617EB990700D1A890 /* mac */, 19C28FACFE9D520D11CA2CBB /* Products */, - 78C7DDAA14EBA5050085D0C2 /* Resources */, ); name = CustomTemplate; sourceTree = ""; @@ -420,6 +249,7 @@ 29B97323FDCFA39411CA2CEA /* Frameworks */ = { isa = PBXGroup; children = ( + 52B47A461A53D09B004E4C60 /* Security.framework */, D6B0611A1803AB670077942B /* CoreMotion.framework */, 503AE11A17EB9C5A00D1A890 /* IOKit.framework */, 503AE11117EB99EE00D1A890 /* libcurl.dylib */, @@ -439,6 +269,31 @@ name = Frameworks; sourceTree = ""; }; + 46880B7519C43A67006E1F66 /* Resources */ = { + isa = PBXGroup; + children = ( + 521A8EA819F11F5000D177D7 /* fonts */, + 3EACC98E19EE6D4300EB3C5E /* res */, + 46880B7619C43A67006E1F66 /* CloseNormal.png */, + 46880B7719C43A67006E1F66 /* CloseSelected.png */, + 46880B7A19C43A67006E1F66 /* HelloWorld.png */, + ); + name = Resources; + path = ../Resources; + sourceTree = ""; + }; + 46880B8319C43A87006E1F66 /* Classes */ = { + isa = PBXGroup; + children = ( + 46880B8419C43A87006E1F66 /* AppDelegate.cpp */, + 46880B8519C43A87006E1F66 /* AppDelegate.h */, + 46880B8619C43A87006E1F66 /* HelloWorldScene.cpp */, + 46880B8719C43A87006E1F66 /* HelloWorldScene.h */, + ); + name = Classes; + path = ../Classes; + sourceTree = ""; + }; 503AE0F517EB97AB00D1A890 /* Icons */ = { isa = PBXGroup; children = ( @@ -462,6 +317,8 @@ 5087E77117EB970100C73F5D /* Icons */ = { isa = PBXGroup; children = ( + 521A8E6219F0C34300D177D7 /* Default-667h@2x.png */, + 521A8E6319F0C34300D177D7 /* Default-736h@3x.png */, 5087E77217EB970100C73F5D /* Default-568h@2x.png */, 5087E77317EB970100C73F5D /* Default.png */, 5087E77417EB970100C73F5D /* Default@2x.png */, @@ -484,23 +341,12 @@ path = ios; sourceTree = SOURCE_ROOT; }; - 78C7DDAA14EBA5050085D0C2 /* Resources */ = { - isa = PBXGroup; - children = ( - 1AFAF8B916D35E4900DB1158 /* CloseNormal.png */, - 1AFAF8BA16D35E4900DB1158 /* CloseSelected.png */, - 1AFAF8BB16D35E4900DB1158 /* HelloWorld.png */, - ); - name = Resources; - path = ../Resources; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 1D6058900D05DD3D006BFB54 /* Slippery Wheels iOS */ = { + 1D6058900D05DD3D006BFB54 /* CCPP iOS */ = { isa = PBXNativeTarget; - buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "Slippery Wheels iOS" */; + buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "CCPP iOS" */; buildPhases = ( 1D60588D0D05DD3D006BFB54 /* Resources */, 1D60588E0D05DD3D006BFB54 /* Sources */, @@ -510,19 +356,15 @@ ); dependencies = ( 1AC6FB25180E99E1004C840B /* PBXTargetDependency */, - 1AC6FB27180E99E1004C840B /* PBXTargetDependency */, - 1AC6FB29180E99E1004C840B /* PBXTargetDependency */, - 1AC6FB2B180E99E1004C840B /* PBXTargetDependency */, - 1AC6FB2D180E99E1004C840B /* PBXTargetDependency */, ); - name = "Slippery Wheels iOS"; + name = "CCPP iOS"; productName = iphone; - productReference = 1D6058910D05DD3D006BFB54 /* Slippery Wheels iOS.app */; + productReference = 1D6058910D05DD3D006BFB54 /* CCPP iOS.app */; productType = "com.apple.product-type.application"; }; - 5087E73D17EB910900C73F5D /* Slippery Wheels Mac */ = { + 5087E73D17EB910900C73F5D /* CCPP Mac */ = { isa = PBXNativeTarget; - buildConfigurationList = 5087E76C17EB910900C73F5D /* Build configuration list for PBXNativeTarget "Slippery Wheels Mac" */; + buildConfigurationList = 5087E76C17EB910900C73F5D /* Build configuration list for PBXNativeTarget "CCPP Mac" */; buildPhases = ( 5087E74817EB910900C73F5D /* Resources */, 5087E75617EB910900C73F5D /* Sources */, @@ -531,15 +373,11 @@ buildRules = ( ); dependencies = ( - 1AC6FB1E180E9963004C840B /* PBXTargetDependency */, 1AC6FB16180E9959004C840B /* PBXTargetDependency */, - 1AC6FB18180E9959004C840B /* PBXTargetDependency */, - 1AC6FB1A180E9959004C840B /* PBXTargetDependency */, - 1AC6FB1C180E9959004C840B /* PBXTargetDependency */, ); - name = "Slippery Wheels Mac"; + name = "CCPP Mac"; productName = iphone; - productReference = 5087E76F17EB910900C73F5D /* Slippery Wheels Mac.app */; + productReference = 5087E76F17EB910900C73F5D /* CCPP Mac.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ @@ -555,7 +393,7 @@ }; }; }; - buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Slippery Wheels" */; + buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "CCPP" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 1; @@ -575,111 +413,27 @@ ); projectRoot = ""; targets = ( - 1D6058900D05DD3D006BFB54 /* Slippery Wheels iOS */, - 5087E73D17EB910900C73F5D /* Slippery Wheels Mac */, + 1D6058900D05DD3D006BFB54 /* CCPP iOS */, + 5087E73D17EB910900C73F5D /* CCPP Mac */, ); }; /* End PBXProject section */ /* Begin PBXReferenceProxy section */ - 1AC6FAF9180E9839004C840B /* libcocos2dx Mac.a */ = { + 1AC6FAF9180E9839004C840B /* libcocos2d Mac.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; - path = "libcocos2dx Mac.a"; + path = "libcocos2d Mac.a"; remoteRef = 1AC6FAF8180E9839004C840B /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 1AC6FAFB180E9839004C840B /* libcocos2dx-extensions Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libcocos2dx-extensions Mac.a"; - remoteRef = 1AC6FAFA180E9839004C840B /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1AC6FAFD180E9839004C840B /* libchipmunk Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libchipmunk Mac.a"; - remoteRef = 1AC6FAFC180E9839004C840B /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1AC6FAFF180E9839004C840B /* libbox2d Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libbox2d Mac.a"; - remoteRef = 1AC6FAFE180E9839004C840B /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1AC6FB01180E9839004C840B /* libCocosDenshion Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libCocosDenshion Mac.a"; - remoteRef = 1AC6FB00180E9839004C840B /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1AC6FB03180E9839004C840B /* libjsbindings Mac.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libjsbindings Mac.a"; - remoteRef = 1AC6FB02180E9839004C840B /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1AC6FB05180E9839004C840B /* libluabindings Mac.a */ = { + 1AC6FB07180E9839004C840B /* libcocos2d iOS.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; - path = "libluabindings Mac.a"; - remoteRef = 1AC6FB04180E9839004C840B /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1AC6FB07180E9839004C840B /* libcocos2dx iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libcocos2dx iOS.a"; + path = "libcocos2d iOS.a"; remoteRef = 1AC6FB06180E9839004C840B /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - 1AC6FB09180E9839004C840B /* libcocos2dx-extensions iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libcocos2dx-extensions iOS.a"; - remoteRef = 1AC6FB08180E9839004C840B /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1AC6FB0B180E9839004C840B /* libchipmunk iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libchipmunk iOS.a"; - remoteRef = 1AC6FB0A180E9839004C840B /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1AC6FB0D180E9839004C840B /* libbox2d iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libbox2d iOS.a"; - remoteRef = 1AC6FB0C180E9839004C840B /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1AC6FB0F180E9839004C840B /* libCocosDenshion iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libCocosDenshion iOS.a"; - remoteRef = 1AC6FB0E180E9839004C840B /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1AC6FB11180E9839004C840B /* libjsbindings iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libjsbindings iOS.a"; - remoteRef = 1AC6FB10180E9839004C840B /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 1AC6FB13180E9839004C840B /* libluabindings iOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libluabindings iOS.a"; - remoteRef = 1AC6FB12180E9839004C840B /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ @@ -691,20 +445,24 @@ 5087E78617EB970100C73F5D /* Icon-76.png in Resources */, 5087E77F17EB970100C73F5D /* Default@2x.png in Resources */, 50EF629917ECD46A001EB2F8 /* Icon-100.png in Resources */, - 1AFAF8BC16D35E4900DB1158 /* CloseNormal.png in Resources */, 5087E78317EB970100C73F5D /* Icon-152.png in Resources */, + 46880B8119C43A67006E1F66 /* HelloWorld.png in Resources */, + 46880B7D19C43A67006E1F66 /* CloseSelected.png in Resources */, 5087E77D17EB970100C73F5D /* Default-568h@2x.png in Resources */, 5087E78517EB970100C73F5D /* Icon-72.png in Resources */, - 1AFAF8BD16D35E4900DB1158 /* CloseSelected.png in Resources */, + 521A8E6519F0C34300D177D7 /* Default-736h@3x.png in Resources */, + 521A8EA919F11F5000D177D7 /* fonts in Resources */, 50EF62A317ECD613001EB2F8 /* Icon-50.png in Resources */, 5087E78017EB970100C73F5D /* Icon-114.png in Resources */, - 1AFAF8BE16D35E4900DB1158 /* HelloWorld.png in Resources */, 50EF62A217ECD613001EB2F8 /* Icon-29.png in Resources */, 50EF629617ECD46A001EB2F8 /* Icon-40.png in Resources */, 5087E78217EB970100C73F5D /* Icon-144.png in Resources */, + 3EACC98F19EE6D4300EB3C5E /* res in Resources */, 50EF629817ECD46A001EB2F8 /* Icon-80.png in Resources */, 5087E78417EB970100C73F5D /* Icon-57.png in Resources */, 5087E77E17EB970100C73F5D /* Default.png in Resources */, + 521A8E6419F0C34300D177D7 /* Default-667h@2x.png in Resources */, + 46880B7B19C43A67006E1F66 /* CloseNormal.png in Resources */, 50EF629717ECD46A001EB2F8 /* Icon-58.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -713,10 +471,12 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 5087E75317EB910900C73F5D /* CloseNormal.png in Resources */, + 46880B8219C43A67006E1F66 /* HelloWorld.png in Resources */, 503AE0F817EB97AB00D1A890 /* Icon.icns in Resources */, - 5087E75417EB910900C73F5D /* CloseSelected.png in Resources */, - 5087E75517EB910900C73F5D /* HelloWorld.png in Resources */, + 3EACC99019EE6D4300EB3C5E /* res in Resources */, + 521A8EAA19F11F5000D177D7 /* fonts in Resources */, + 46880B7C19C43A67006E1F66 /* CloseNormal.png in Resources */, + 46880B7E19C43A67006E1F66 /* CloseSelected.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -727,11 +487,11 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 46880B8819C43A87006E1F66 /* AppDelegate.cpp in Sources */, + 46880B8A19C43A87006E1F66 /* HelloWorldScene.cpp in Sources */, 503AE10017EB989F00D1A890 /* AppController.mm in Sources */, 503AE10217EB989F00D1A890 /* RootViewController.mm in Sources */, - 1AFAF8B716D35DE700DB1158 /* AppDelegate.cpp in Sources */, 503AE10117EB989F00D1A890 /* main.m in Sources */, - 1AFAF8B816D35DE700DB1158 /* HelloWorldScene.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -739,9 +499,9 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 5087E75717EB910900C73F5D /* AppDelegate.cpp in Sources */, - 5087E75817EB910900C73F5D /* HelloWorldScene.cpp in Sources */, + 46880B8919C43A87006E1F66 /* AppDelegate.cpp in Sources */, 503AE10517EB98FF00D1A890 /* main.cpp in Sources */, + 46880B8B19C43A87006E1F66 /* HelloWorldScene.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -753,51 +513,11 @@ name = "cocos2dx Mac"; targetProxy = 1AC6FB15180E9959004C840B /* PBXContainerItemProxy */; }; - 1AC6FB18180E9959004C840B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "cocos2dx-extensions Mac"; - targetProxy = 1AC6FB17180E9959004C840B /* PBXContainerItemProxy */; - }; - 1AC6FB1A180E9959004C840B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "chipmunk Mac"; - targetProxy = 1AC6FB19180E9959004C840B /* PBXContainerItemProxy */; - }; - 1AC6FB1C180E9959004C840B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "CocosDenshion Mac"; - targetProxy = 1AC6FB1B180E9959004C840B /* PBXContainerItemProxy */; - }; - 1AC6FB1E180E9963004C840B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "box2d Mac"; - targetProxy = 1AC6FB1D180E9963004C840B /* PBXContainerItemProxy */; - }; 1AC6FB25180E99E1004C840B /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = "cocos2dx iOS"; targetProxy = 1AC6FB24180E99E1004C840B /* PBXContainerItemProxy */; }; - 1AC6FB27180E99E1004C840B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "cocos2dx-extensions iOS"; - targetProxy = 1AC6FB26180E99E1004C840B /* PBXContainerItemProxy */; - }; - 1AC6FB29180E99E1004C840B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "chipmunk iOS"; - targetProxy = 1AC6FB28180E99E1004C840B /* PBXContainerItemProxy */; - }; - 1AC6FB2B180E99E1004C840B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "box2d iOS"; - targetProxy = 1AC6FB2A180E99E1004C840B /* PBXContainerItemProxy */; - }; - 1AC6FB2D180E99E1004C840B /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "CocosDenshion iOS"; - targetProxy = 1AC6FB2C180E99E1004C840B /* PBXContainerItemProxy */; - }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ @@ -826,9 +546,14 @@ INFOPLIST_FILE = ios/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 5.0; LIBRARY_SEARCH_PATHS = ""; + OTHER_LDFLAGS = ( + "$(_COCOS_LIB_IOS_BEGIN)", + "$(_COCOS_LIB_IOS_END)", + ); SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; - USER_HEADER_SEARCH_PATHS = ""; + USER_HEADER_SEARCH_PATHS = "$(_COCOS_HEADER_IOS_BEGIN) $(_COCOS_HEADER_IOS_END)"; + VALID_ARCHS = "arm64 armv7"; }; name = Debug; }; @@ -855,9 +580,14 @@ INFOPLIST_FILE = ios/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 5.0; LIBRARY_SEARCH_PATHS = ""; + OTHER_LDFLAGS = ( + "$(_COCOS_LIB_IOS_BEGIN)", + "$(_COCOS_LIB_IOS_END)", + ); SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = "1,2"; - USER_HEADER_SEARCH_PATHS = ""; + USER_HEADER_SEARCH_PATHS = "$(_COCOS_HEADER_IOS_BEGIN) $(_COCOS_HEADER_IOS_END)"; + VALID_ARCHS = "arm64 armv7"; }; name = Release; }; @@ -886,7 +616,11 @@ ); INFOPLIST_FILE = mac/Info.plist; LIBRARY_SEARCH_PATHS = ""; - USER_HEADER_SEARCH_PATHS = ""; + OTHER_LDFLAGS = ( + "$(_COCOS_LIB_MAC_BEGIN)", + "$(_COCOS_LIB_MAC_END)", + ); + USER_HEADER_SEARCH_PATHS = "$(_COCOS_HEADER_MAC_BEGIN) $(_COCOS_HEADER_MAC_END)"; }; name = Debug; }; @@ -913,7 +647,11 @@ ); INFOPLIST_FILE = mac/Info.plist; LIBRARY_SEARCH_PATHS = ""; - USER_HEADER_SEARCH_PATHS = ""; + OTHER_LDFLAGS = ( + "$(_COCOS_LIB_MAC_BEGIN)", + "$(_COCOS_LIB_MAC_END)", + ); + USER_HEADER_SEARCH_PATHS = "$(_COCOS_HEADER_MAC_BEGIN) $(_COCOS_HEADER_MAC_END)"; }; name = Release; }; @@ -981,7 +719,7 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "Slippery Wheels iOS" */ = { + 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "CCPP iOS" */ = { isa = XCConfigurationList; buildConfigurations = ( 1D6058940D05DD3E006BFB54 /* Debug */, @@ -990,7 +728,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 5087E76C17EB910900C73F5D /* Build configuration list for PBXNativeTarget "Slippery Wheels Mac" */ = { + 5087E76C17EB910900C73F5D /* Build configuration list for PBXNativeTarget "CCPP Mac" */ = { isa = XCConfigurationList; buildConfigurations = ( 5087E76D17EB910900C73F5D /* Debug */, @@ -999,7 +737,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Slippery Wheels" */ = { + C01FCF4E08A954540054247B /* Build configuration list for PBXProject "CCPP" */ = { isa = XCConfigurationList; buildConfigurations = ( C01FCF4F08A954540054247B /* Debug */, diff --git a/proj.ios_mac/ios/AppController.mm b/proj.ios_mac/ios/AppController.mm index 94f112f..4bb313a 100644 --- a/proj.ios_mac/ios/AppController.mm +++ b/proj.ios_mac/ios/AppController.mm @@ -23,7 +23,7 @@ of this software and associated documentation files (the "Software"), to deal ****************************************************************************/ #import "AppController.h" -#import "CCEAGLView.h" +#import "platform/ios/CCEAGLView-ios.h" #import "cocos2d.h" #import "AppDelegate.h" #import "RootViewController.h" @@ -38,6 +38,10 @@ @implementation AppController - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + cocos2d::Application *app = cocos2d::Application::getInstance(); + app->initGLContextAttrs(); + cocos2d::GLViewImpl::convertAttrs(); + // Override point for customization after application launch. // Add the view controller's view to the window and display. @@ -45,12 +49,15 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( // Init the CCEAGLView CCEAGLView *eaglView = [CCEAGLView viewWithFrame: [window bounds] - pixelFormat: kEAGLColorFormatRGBA8 - depthFormat: GL_DEPTH24_STENCIL8_OES - preserveBackbuffer: NO - sharegroup: nil - multiSampling: NO - numberOfSamples: 0]; + pixelFormat: (NSString*)cocos2d::GLViewImpl::_pixelFormat + depthFormat: cocos2d::GLViewImpl::_depthFormat + preserveBackbuffer: NO + sharegroup: nil + multiSampling: NO + numberOfSamples: 0 ]; + + // Enable or disable multiple touches + [eaglView setMultipleTouchEnabled:NO]; // Use RootViewController manage CCEAGLView _viewController = [[RootViewController alloc] initWithNibName:nil bundle:nil]; @@ -74,10 +81,10 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( [[UIApplication sharedApplication] setStatusBarHidden:true]; // IMPORTANT: Setting the GLView should be done after creating the RootViewController - cocos2d::GLView *glview = cocos2d::GLView::createWithEAGLView(eaglView); + cocos2d::GLView *glview = cocos2d::GLViewImpl::createWithEAGLView(eaglView); cocos2d::Director::getInstance()->setOpenGLView(glview); - cocos2d::Application::getInstance()->run(); + app->run(); return YES; } diff --git a/proj.ios_mac/ios/Default-667h@2x.png b/proj.ios_mac/ios/Default-667h@2x.png new file mode 100644 index 0000000..a0f61ec Binary files /dev/null and b/proj.ios_mac/ios/Default-667h@2x.png differ diff --git a/proj.ios_mac/ios/Default-736h@3x.png b/proj.ios_mac/ios/Default-736h@3x.png new file mode 100644 index 0000000..dadccee Binary files /dev/null and b/proj.ios_mac/ios/Default-736h@3x.png differ diff --git a/proj.ios_mac/ios/Info.plist b/proj.ios_mac/ios/Info.plist index 9613e3c..42f3809 100644 --- a/proj.ios_mac/ios/Info.plist +++ b/proj.ios_mac/ios/Info.plist @@ -42,7 +42,7 @@ Icon-144.png CFBundleIdentifier - org.cocos2dx.hellocpp + com.CharmySoft.CCPP CFBundleInfoDictionaryVersion 6.0 CFBundleName @@ -55,6 +55,89 @@ ???? CFBundleVersion 1.0 + UILaunchImages + + + UILaunchImageMinimumOSVersion + 8.0 + UILaunchImageName + Default + UILaunchImageOrientation + Portrait + UILaunchImageSize + {320, 480} + + + UILaunchImageMinimumOSVersion + 8.0 + UILaunchImageName + Default + UILaunchImageOrientation + Landscape + UILaunchImageSize + {320, 480} + + + UILaunchImageMinimumOSVersion + 8.0 + UILaunchImageName + Default-568h + UILaunchImageOrientation + Portrait + UILaunchImageSize + {320, 568} + + + UILaunchImageMinimumOSVersion + 8.0 + UILaunchImageName + Default-568h + UILaunchImageOrientation + Landscape + UILaunchImageSize + {320, 568} + + + UILaunchImageMinimumOSVersion + 8.0 + UILaunchImageName + Default-667h + UILaunchImageOrientation + Portrait + UILaunchImageSize + {375, 667} + + + UILaunchImageMinimumOSVersion + 8.0 + UILaunchImageName + Default-667h + UILaunchImageOrientation + Landscape + UILaunchImageSize + {375, 667} + + + UILaunchImageMinimumOSVersion + 8.0 + UILaunchImageName + Default-736h + UILaunchImageOrientation + Portrait + UILaunchImageSize + {414, 736} + + + UILaunchImageMinimumOSVersion + 8.0 + UILaunchImageName + Default-736h + UILaunchImageOrientation + Landscape + UILaunchImageSize + {414, 736} + + LSRequiresIPhoneOS UIAppFonts diff --git a/proj.ios_mac/ios/Prefix.pch b/proj.ios_mac/ios/Prefix.pch index 5b4e2fd..3da08ad 100644 --- a/proj.ios_mac/ios/Prefix.pch +++ b/proj.ios_mac/ios/Prefix.pch @@ -6,3 +6,7 @@ #import #import #endif + +#ifdef __cplusplus + #include "cocos2d.h" +#endif \ No newline at end of file diff --git a/proj.ios_mac/ios/RootViewController.mm b/proj.ios_mac/ios/RootViewController.mm index c6e2390..c4989af 100644 --- a/proj.ios_mac/ios/RootViewController.mm +++ b/proj.ios_mac/ios/RootViewController.mm @@ -25,7 +25,7 @@ of this software and associated documentation files (the "Software"), to deal #import "RootViewController.h" #import "cocos2d.h" -#import "CCEAGLView.h" +#import "platform/ios/CCEAGLView-ios.h" @implementation RootViewController @@ -72,7 +72,7 @@ - (BOOL) shouldAutorotate { - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { [super didRotateFromInterfaceOrientation:fromInterfaceOrientation]; - cocos2d::GLView *glview = cocos2d::Director::getInstance()->getOpenGLView(); + auto glview = cocos2d::Director::getInstance()->getOpenGLView(); if (glview) { diff --git a/proj.ios_mac/mac/Info.plist b/proj.ios_mac/mac/Info.plist index 3b1fd78..ffc29ab 100644 --- a/proj.ios_mac/mac/Info.plist +++ b/proj.ios_mac/mac/Info.plist @@ -9,7 +9,7 @@ CFBundleIconFile Icon CFBundleIdentifier - org.cocos2dx.hellocpp + com.CharmySoft.CCPP CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/proj.ios_mac/mac/Prefix.pch b/proj.ios_mac/mac/Prefix.pch index 46c36a7..aa71e76 100644 --- a/proj.ios_mac/mac/Prefix.pch +++ b/proj.ios_mac/mac/Prefix.pch @@ -5,3 +5,7 @@ #ifdef __OBJC__ #import #endif + +#ifdef __cplusplus + #include "cocos2d.h" +#endif \ No newline at end of file diff --git a/proj.win32/CCPP.sdf b/proj.win32/CCPP.sdf new file mode 100644 index 0000000..d14a3a8 Binary files /dev/null and b/proj.win32/CCPP.sdf differ diff --git a/proj.win32/CCPP.vcxproj b/proj.win32/CCPP.vcxproj index 951356c..6dd1eaf 100644 --- a/proj.win32/CCPP.vcxproj +++ b/proj.win32/CCPP.vcxproj @@ -139,6 +139,7 @@ xcopy /Y /Q "$(EngineRoot)external\websockets\prebuilt\win32\*.*" "$(OutDir)" + @@ -147,13 +148,35 @@ xcopy /Y /Q "$(EngineRoot)external\websockets\prebuilt\win32\*.*" "$(OutDir)" + + + + + + + + + + + + + + + + + + + + + + Create @@ -168,6 +191,7 @@ xcopy /Y /Q "$(EngineRoot)external\websockets\prebuilt\win32\*.*" "$(OutDir)" + @@ -176,13 +200,35 @@ xcopy /Y /Q "$(EngineRoot)external\websockets\prebuilt\win32\*.*" "$(OutDir)" + + + + + + + + + + + + + + + + + + + + + + diff --git a/proj.win32/CCPP.vcxproj.filters b/proj.win32/CCPP.vcxproj.filters index 18c5ec7..fa786cd 100644 --- a/proj.win32/CCPP.vcxproj.filters +++ b/proj.win32/CCPP.vcxproj.filters @@ -99,6 +99,75 @@ src\Levels + + src\Scene + + + src\Element + + + src\Levels + + + src\Levels + + + src\Levels + + + src\Levels + + + src\Levels + + + src\Scene + + + src\Levels + + + src\Levels + + + src\Levels + + + src\Levels + + + src\Levels + + + src\Levels + + + src\Scene + + + src\Levels + + + src\Levels + + + src\Levels + + + src\Levels + + + src\Levels + + + src\Levels + + + src\Levels + + + src\Levels + @@ -176,6 +245,75 @@ src\Levels + + src\Scene + + + src\Element + + + src\Levels + + + src\Levels + + + src\Levels + + + src\Levels + + + src\Levels + + + src\Scene + + + src\Levels + + + src\Levels + + + src\Levels + + + src\Levels + + + src\Levels + + + src\Levels + + + src\Scene + + + src\Levels + + + src\Levels + + + src\Levels + + + src\Levels + + + src\Levels + + + src\Levels + + + src\Levels + + + src\Levels + diff --git a/proj.win8.1-universal/App.Shared/App.xaml b/proj.win8.1-universal/App.Shared/App.xaml new file mode 100644 index 0000000..2da0ff7 --- /dev/null +++ b/proj.win8.1-universal/App.Shared/App.xaml @@ -0,0 +1,13 @@ + + + + + cpp_tests + + + diff --git a/proj.win8.1-universal/App.Shared/App.xaml.cpp b/proj.win8.1-universal/App.Shared/App.xaml.cpp new file mode 100644 index 0000000..f4365b8 --- /dev/null +++ b/proj.win8.1-universal/App.Shared/App.xaml.cpp @@ -0,0 +1,21 @@ +#include "App.xaml.h" +#include "OpenGLESPage.xaml.h" + +using namespace cocos2d; + +App::App() +{ + InitializeComponent(); +} + +void App::OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ e) +{ + if (mPage == nullptr) + { + mPage = ref new OpenGLESPage(&mOpenGLES); + } + + // Place the page in the current window and ensure that it is active. + Windows::UI::Xaml::Window::Current->Content = mPage; + Windows::UI::Xaml::Window::Current->Activate(); +} diff --git a/proj.win8.1-universal/App.Shared/App.xaml.h b/proj.win8.1-universal/App.Shared/App.xaml.h new file mode 100644 index 0000000..1309c61 --- /dev/null +++ b/proj.win8.1-universal/App.Shared/App.xaml.h @@ -0,0 +1,19 @@ +#pragma once + +#include "app.g.h" +#include "OpenGLES.h" +#include "openglespage.xaml.h" + +namespace cocos2d +{ + ref class App sealed + { + public: + App(); + virtual void OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEventArgs^ e) override; + + private: + OpenGLESPage^ mPage; + OpenGLES mOpenGLES; + }; +} diff --git a/proj.win8.1-universal/App.Shared/CCPP.Shared.vcxitems b/proj.win8.1-universal/App.Shared/CCPP.Shared.vcxitems new file mode 100644 index 0000000..ac816de --- /dev/null +++ b/proj.win8.1-universal/App.Shared/CCPP.Shared.vcxitems @@ -0,0 +1,62 @@ + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + true + e956c24b-f04e-47bf-bf00-746681ae1301 + {a3ad93e4-0b2f-4c58-9181-69bed2e42e3e} + CCPP + + + + %(AdditionalIncludeDirectories);$(MSBuildThisFileDirectory) + + + + + Designer + + + + + $(MSBuildThisFileDirectory)App.xaml + + + + + $(MSBuildThisFileDirectory)OpenGLESPage.xaml + + + + + + $(MSBuildThisFileDirectory)App.xaml + + + Create + + + + $(MSBuildThisFileDirectory)OpenGLESPage.xaml + + + + + + + + <_CustomResource Include="$(MSBuildThisFileDirectory)..\..\Resources\**\*"> + Assets\Resources\%(RecursiveDir)%(FileName)%(Extension) + true + + + + + + + + + + + + \ No newline at end of file diff --git a/proj.win8.1-universal/App.Shared/CCPP.Shared.vcxitems.filters b/proj.win8.1-universal/App.Shared/CCPP.Shared.vcxitems.filters new file mode 100644 index 0000000..5d1f7e3 --- /dev/null +++ b/proj.win8.1-universal/App.Shared/CCPP.Shared.vcxitems.filters @@ -0,0 +1,42 @@ + + + + + + + + + Classes + + + Classes + + + + + + + + + + + {38ad799c-8c3c-44a2-8e41-516c8f62f556} + + + + + Classes + + + Classes + + + Classes + + + + + + + + \ No newline at end of file diff --git a/proj.win8.1-universal/App.Shared/Cocos2dRenderer.cpp b/proj.win8.1-universal/App.Shared/Cocos2dRenderer.cpp new file mode 100644 index 0000000..ea6d3b6 --- /dev/null +++ b/proj.win8.1-universal/App.Shared/Cocos2dRenderer.cpp @@ -0,0 +1,143 @@ +/* +* cocos2d-x http://www.cocos2d-x.org +* +* Copyright (c) 2010-2014 - cocos2d-x community +* +* Portions Copyright (c) Microsoft Open Technologies, Inc. +* All Rights Reserved +* +* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and limitations under the License. +*/ + +#include "Cocos2dRenderer.h" +#include "AppDelegate.h" +#include "CCGLViewImpl-winrt.h" +#include "CCApplication.h" +#include "cocos2d.h" +#include "renderer/CCTextureCache.h" + +// These are used by the shader compilation methods. +#include +#include +#include + +using namespace Platform; +using namespace Windows::UI::Core; +using namespace Windows::UI::Xaml::Controls; +using namespace Windows::Graphics::Display; + +USING_NS_CC; + + +Cocos2dRenderer::Cocos2dRenderer(int width, int height, float dpi, DisplayOrientations orientation, CoreDispatcher^ dispatcher, Panel^ panel) + : m_app(nullptr) + , m_width(width) + , m_height(height) + , m_dpi(dpi) + , m_dispatcher(dispatcher) + , m_panel(panel) + , m_orientation(orientation) +{ + m_app = new AppDelegate(); +} + +Cocos2dRenderer::~Cocos2dRenderer() +{ + delete m_app; +} + +void Cocos2dRenderer::Resume() +{ + auto director = cocos2d::Director::getInstance(); + auto glview = director->getOpenGLView(); + + if (!glview) + { + GLViewImpl* glview = GLViewImpl::create("Test Cpp"); + glview->setDispatcher(m_dispatcher.Get()); + glview->setPanel(m_panel.Get()); + glview->Create(static_cast(m_width), static_cast(m_height), m_dpi, m_orientation); + director->setOpenGLView(glview); + CCApplication::getInstance()->run(); + } + else + { + Application::getInstance()->applicationWillEnterForeground(); + } +} + +void Cocos2dRenderer::Pause() +{ + if (Director::getInstance()->getOpenGLView()) { + Application::getInstance()->applicationDidEnterBackground(); + //cocos2d::EventCustom backgroundEvent(EVENT_COME_TO_BACKGROUND); + //cocos2d::Director::getInstance()->getEventDispatcher()->dispatchEvent(&backgroundEvent); + } +} + +void Cocos2dRenderer::DeviceLost() +{ + Pause(); + + auto director = cocos2d::Director::getInstance(); + if (director->getOpenGLView()) { + cocos2d::GL::invalidateStateCache(); + cocos2d::GLProgramCache::getInstance()->reloadDefaultGLPrograms(); + cocos2d::DrawPrimitives::init(); + cocos2d::VolatileTextureMgr::reloadAllTextures(); + + cocos2d::EventCustom recreatedEvent(EVENT_RENDERER_RECREATED); + director->getEventDispatcher()->dispatchEvent(&recreatedEvent); + director->setGLDefaultValues(); + + Application::getInstance()->applicationWillEnterForeground(); + cocos2d::EventCustom foregroundEvent(EVENT_COME_TO_FOREGROUND); + cocos2d::Director::getInstance()->getEventDispatcher()->dispatchEvent(&foregroundEvent); + } +} + + + +void Cocos2dRenderer::Draw(GLsizei width, GLsizei height, float dpi, DisplayOrientations orientation) +{ + if (orientation != m_orientation) + { + m_orientation = orientation; + GLViewImpl::sharedOpenGLView()->UpdateOrientation(orientation); + } + + if (width != m_width || height != m_height) + { + m_width = width; + m_height = height; + GLViewImpl::sharedOpenGLView()->UpdateForWindowSizeChange(static_cast(width), static_cast(height)); + } + + if (dpi != m_dpi) + { + m_dpi = dpi; + GLViewImpl::sharedOpenGLView()->SetDPI(m_dpi); + } + + GLViewImpl::sharedOpenGLView()->ProcessEvents(); + GLViewImpl::sharedOpenGLView()->Render(); +} + +void Cocos2dRenderer::QueuePointerEvent(cocos2d::PointerEventType type, Windows::UI::Core::PointerEventArgs^ args) +{ + GLViewImpl::sharedOpenGLView()->QueuePointerEvent(type, args); +} + +void Cocos2dRenderer::QueueKeyBoardEvent(cocos2d::Cocos2dKeyEvent type, Windows::UI::Core::KeyEventArgs^ e) +{ + //GLViewImpl::sharedOpenGLView()->QueuePointerEvent(type, e); +} + + diff --git a/proj.win8.1-universal/App.Shared/Cocos2dRenderer.h b/proj.win8.1-universal/App.Shared/Cocos2dRenderer.h new file mode 100644 index 0000000..e38e69c --- /dev/null +++ b/proj.win8.1-universal/App.Shared/Cocos2dRenderer.h @@ -0,0 +1,55 @@ +/* +* cocos2d-x http://www.cocos2d-x.org +* +* Copyright (c) 2010-2014 - cocos2d-x community +* +* Portions Copyright (c) Microsoft Open Technologies, Inc. +* All Rights Reserved +* +* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and limitations under the License. +*/ +#pragma once + +#include + +#include "cocos2d.h" + + +class AppDelegate; + +namespace cocos2d +{ + class Cocos2dRenderer + { + public: + Cocos2dRenderer(int width, int height, float dpi, + Windows::Graphics::Display::DisplayOrientations orientation, + Windows::UI::Core::CoreDispatcher^ dispathcer, Windows::UI::Xaml::Controls::Panel^ panel); + ~Cocos2dRenderer(); + void Draw(GLsizei width, GLsizei height, float dpi, Windows::Graphics::Display::DisplayOrientations orientation); + void QueuePointerEvent(PointerEventType type, Windows::UI::Core::PointerEventArgs^ args); + void QueueKeyBoardEvent(Cocos2dKeyEvent type, Windows::UI::Core::KeyEventArgs^ e); + void Pause(); + void Resume(); + void DeviceLost(); + + private: + + int m_width; + int m_height; + float m_dpi; + + // The AppDelegate for the Cocos2D app + AppDelegate* m_app; + Platform::Agile m_dispatcher; + Platform::Agile m_panel; + Windows::Graphics::Display::DisplayOrientations m_orientation; + }; +} \ No newline at end of file diff --git a/proj.win8.1-universal/App.Shared/OpenGLES.cpp b/proj.win8.1-universal/App.Shared/OpenGLES.cpp new file mode 100644 index 0000000..3f696ab --- /dev/null +++ b/proj.win8.1-universal/App.Shared/OpenGLES.cpp @@ -0,0 +1,239 @@ +/* +* cocos2d-x http://www.cocos2d-x.org +* +* Copyright (c) 2010-2014 - cocos2d-x community +* +* Portions Copyright (c) Microsoft Open Technologies, Inc. +* All Rights Reserved +* +* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and limitations under the License. +*/ + +#include "OpenGLES.h" +using namespace Platform; +using namespace Windows::UI::Xaml::Controls; +using namespace Windows::Foundation; +using namespace Windows::Foundation::Collections; + +OpenGLES::OpenGLES() : + mEglConfig(nullptr), + mEglDisplay(EGL_NO_DISPLAY), + mEglContext(EGL_NO_CONTEXT) +{ + Initialize(); +} + +OpenGLES::~OpenGLES() +{ + Cleanup(); +} + +void OpenGLES::Initialize() +{ + const EGLint configAttributes[] = + { + EGL_RED_SIZE, 8, + EGL_GREEN_SIZE, 8, + EGL_BLUE_SIZE, 8, + EGL_ALPHA_SIZE, 8, + EGL_DEPTH_SIZE, 8, + EGL_STENCIL_SIZE, 8, + EGL_NONE + }; + + const EGLint contextAttributes[] = + { + EGL_CONTEXT_CLIENT_VERSION, 2, + EGL_NONE + }; + + const EGLint defaultDisplayAttributes[] = + { + // These are the default display attributes, used to request ANGLE's D3D11 renderer. + // eglInitialize will only succeed with these attributes if the hardware supports D3D11 Feature Level 10_0+. + EGL_PLATFORM_ANGLE_TYPE_ANGLE, EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE, + + // EGL_ANGLE_DISPLAY_ALLOW_RENDER_TO_BACK_BUFFER is an optimization that can have large performance benefits on mobile devices. + // Its syntax is subject to change, though. Please update your Visual Studio templates if you experience compilation issues with it. + EGL_ANGLE_DISPLAY_ALLOW_RENDER_TO_BACK_BUFFER, EGL_TRUE, + EGL_NONE, + }; + + const EGLint fl9_3DisplayAttributes[] = + { + // These can be used to request ANGLE's D3D11 renderer, with D3D11 Feature Level 9_3. + // These attributes are used if the call to eglInitialize fails with the default display attributes. + EGL_PLATFORM_ANGLE_TYPE_ANGLE, EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE, + EGL_PLATFORM_ANGLE_MAX_VERSION_MAJOR_ANGLE, 9, + EGL_PLATFORM_ANGLE_MAX_VERSION_MINOR_ANGLE, 3, + EGL_ANGLE_DISPLAY_ALLOW_RENDER_TO_BACK_BUFFER, EGL_TRUE, + EGL_NONE, + }; + + const EGLint warpDisplayAttributes[] = + { + // These attributes can be used to request D3D11 WARP. + // They are used if eglInitialize fails with both the default display attributes and the 9_3 display attributes. + EGL_PLATFORM_ANGLE_TYPE_ANGLE, EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE, + EGL_PLATFORM_ANGLE_USE_WARP_ANGLE, EGL_TRUE, + EGL_ANGLE_DISPLAY_ALLOW_RENDER_TO_BACK_BUFFER, EGL_TRUE, + EGL_NONE, + }; + + EGLConfig config = NULL; + + // eglGetPlatformDisplayEXT is an alternative to eglGetDisplay. It allows us to pass in display attributes, used to configure D3D11. + PFNEGLGETPLATFORMDISPLAYEXTPROC eglGetPlatformDisplayEXT = reinterpret_cast(eglGetProcAddress("eglGetPlatformDisplayEXT")); + if (!eglGetPlatformDisplayEXT) + { + throw Exception::CreateException(E_FAIL, L"Failed to get function eglGetPlatformDisplayEXT"); + } + + // + // To initialize the display, we make three sets of calls to eglGetPlatformDisplayEXT and eglInitialize, with varying + // parameters passed to eglGetPlatformDisplayEXT: + // 1) The first calls uses "defaultDisplayAttributes" as a parameter. This corresponds to D3D11 Feature Level 10_0+. + // 2) If eglInitialize fails for step 1 (e.g. because 10_0+ isn't supported by the default GPU), then we try again + // using "fl9_3DisplayAttributes". This corresponds to D3D11 Feature Level 9_3. + // 3) If eglInitialize fails for step 2 (e.g. because 9_3+ isn't supported by the default GPU), then we try again + // using "warpDisplayAttributes". This corresponds to D3D11 Feature Level 11_0 on WARP, a D3D11 software rasterizer. + // + // Note: On Windows Phone, we #ifdef out the first set of calls to eglPlatformDisplayEXT and eglInitialize. + // Windows Phones devices only support D3D11 Feature Level 9_3, but the Windows Phone emulator supports 11_0+. + // We use this #ifdef to limit the Phone emulator to Feature Level 9_3, making it behave more like + // real Windows Phone devices. + // If you wish to test Feature Level 10_0+ in the Windows Phone emulator then you should remove this #ifdef. + // + +#if (WINAPI_FAMILY != WINAPI_FAMILY_PHONE_APP) + // This tries to initialize EGL to D3D11 Feature Level 10_0+. See above comment for details. + mEglDisplay = eglGetPlatformDisplayEXT(EGL_PLATFORM_ANGLE_ANGLE, EGL_DEFAULT_DISPLAY, defaultDisplayAttributes); + if (mEglDisplay == EGL_NO_DISPLAY) + { + throw Exception::CreateException(E_FAIL, L"Failed to get EGL display"); + } + + if (eglInitialize(mEglDisplay, NULL, NULL) == EGL_FALSE) +#endif + { + // This tries to initialize EGL to D3D11 Feature Level 9_3, if 10_0+ is unavailable (e.g. on Windows Phone, or certain Windows tablets). + mEglDisplay = eglGetPlatformDisplayEXT(EGL_PLATFORM_ANGLE_ANGLE, EGL_DEFAULT_DISPLAY, fl9_3DisplayAttributes); + if (mEglDisplay == EGL_NO_DISPLAY) + { + throw Exception::CreateException(E_FAIL, L"Failed to get EGL display"); + } + + if (eglInitialize(mEglDisplay, NULL, NULL) == EGL_FALSE) + { + // This initializes EGL to D3D11 Feature Level 11_0 on WARP, if 9_3+ is unavailable on the default GPU (e.g. on Surface RT). + mEglDisplay = eglGetPlatformDisplayEXT(EGL_PLATFORM_ANGLE_ANGLE, EGL_DEFAULT_DISPLAY, warpDisplayAttributes); + if (mEglDisplay == EGL_NO_DISPLAY) + { + throw Exception::CreateException(E_FAIL, L"Failed to get EGL display"); + } + + if (eglInitialize(mEglDisplay, NULL, NULL) == EGL_FALSE) + { + // If all of the calls to eglInitialize returned EGL_FALSE then an error has occurred. + throw Exception::CreateException(E_FAIL, L"Failed to initialize EGL"); + } + } + } + + EGLint numConfigs = 0; + if ((eglChooseConfig(mEglDisplay, configAttributes, &mEglConfig, 1, &numConfigs) == EGL_FALSE) || (numConfigs == 0)) + { + throw Exception::CreateException(E_FAIL, L"Failed to choose first EGLConfig"); + } + + mEglContext = eglCreateContext(mEglDisplay, mEglConfig, EGL_NO_CONTEXT, contextAttributes); + if (mEglContext == EGL_NO_CONTEXT) + { + throw Exception::CreateException(E_FAIL, L"Failed to create EGL context"); + } +} + +void OpenGLES::Cleanup() +{ + if (mEglDisplay != EGL_NO_DISPLAY && mEglContext != EGL_NO_CONTEXT) + { + eglDestroyContext(mEglDisplay, mEglContext); + mEglContext = EGL_NO_CONTEXT; + } + + if (mEglDisplay != EGL_NO_DISPLAY) + { + eglTerminate(mEglDisplay); + mEglDisplay = EGL_NO_DISPLAY; + } +} + +void OpenGLES::Reset() +{ + Cleanup(); + Initialize(); +} + +EGLSurface OpenGLES::CreateSurface(SwapChainPanel^ panel, const Size* renderSurfaceSize) +{ + if (!panel) + { + throw Exception::CreateException(E_INVALIDARG, L"SwapChainPanel parameter is invalid"); + } + + EGLSurface surface = EGL_NO_SURFACE; + + const EGLint surfaceAttributes[] = + { + // EGL_ANGLE_SURFACE_RENDER_TO_BACK_BUFFER is part of the same optimization as EGL_ANGLE_DISPLAY_ALLOW_RENDER_TO_BACK_BUFFER (see above). + // If you have compilation issues with it then please update your Visual Studio templates. + EGL_ANGLE_SURFACE_RENDER_TO_BACK_BUFFER, EGL_TRUE, + EGL_NONE + }; + + // Create a PropertySet and initialize with the EGLNativeWindowType. + PropertySet^ surfaceCreationProperties = ref new PropertySet(); + surfaceCreationProperties->Insert(ref new String(EGLNativeWindowTypeProperty), panel); + + // If a render surface size is specified, add it to the surface creation properties + if (renderSurfaceSize != nullptr) + { + surfaceCreationProperties->Insert(ref new String(EGLRenderSurfaceSizeProperty), PropertyValue::CreateSize(*renderSurfaceSize)); + } + + surface = eglCreateWindowSurface(mEglDisplay, mEglConfig, reinterpret_cast(surfaceCreationProperties), surfaceAttributes); + if (surface == EGL_NO_SURFACE) + { + throw Exception::CreateException(E_FAIL, L"Failed to create EGL surface"); + } + + return surface; +} + +void OpenGLES::DestroySurface(const EGLSurface surface) +{ + if (mEglDisplay != EGL_NO_DISPLAY && surface != EGL_NO_SURFACE) + { + eglDestroySurface(mEglDisplay, surface); + } +} + +void OpenGLES::MakeCurrent(const EGLSurface surface) +{ + if (eglMakeCurrent(mEglDisplay, surface, surface, mEglContext) == EGL_FALSE) + { + throw Exception::CreateException(E_FAIL, L"Failed to make EGLSurface current"); + } +} + +EGLBoolean OpenGLES::SwapBuffers(const EGLSurface surface) +{ + return (eglSwapBuffers(mEglDisplay, surface)); +} diff --git a/proj.win8.1-universal/App.Shared/OpenGLES.h b/proj.win8.1-universal/App.Shared/OpenGLES.h new file mode 100644 index 0000000..1a57b68 --- /dev/null +++ b/proj.win8.1-universal/App.Shared/OpenGLES.h @@ -0,0 +1,51 @@ +/* +* cocos2d-x http://www.cocos2d-x.org +* +* Copyright (c) 2010-2014 - cocos2d-x community +* +* Portions Copyright (c) Microsoft Open Technologies, Inc. +* All Rights Reserved +* +* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and limitations under the License. +*/ + +#pragma once + +// OpenGL ES includes +#include +#include + +// EGL includes +#include +#include +#include +#include + +class OpenGLES +{ +public: + OpenGLES(); + ~OpenGLES(); + + EGLSurface CreateSurface(Windows::UI::Xaml::Controls::SwapChainPanel^ panel, const Windows::Foundation::Size* renderSurfaceSize); + void DestroySurface(const EGLSurface surface); + void MakeCurrent(const EGLSurface surface); + EGLBoolean SwapBuffers(const EGLSurface surface); + void Reset(); + +private: + void Initialize(); + void Cleanup(); + +private: + EGLDisplay mEglDisplay; + EGLContext mEglContext; + EGLConfig mEglConfig; +}; diff --git a/proj.win8.1-universal/App.Shared/OpenGLESPage.xaml b/proj.win8.1-universal/App.Shared/OpenGLESPage.xaml new file mode 100644 index 0000000..e5b6280 --- /dev/null +++ b/proj.win8.1-universal/App.Shared/OpenGLESPage.xaml @@ -0,0 +1,28 @@ + + + + + + + + + + + diff --git a/proj.win8.1-universal/App.Shared/OpenGLESPage.xaml.cpp b/proj.win8.1-universal/App.Shared/OpenGLESPage.xaml.cpp new file mode 100644 index 0000000..352507e --- /dev/null +++ b/proj.win8.1-universal/App.Shared/OpenGLESPage.xaml.cpp @@ -0,0 +1,313 @@ +/* +* cocos2d-x http://www.cocos2d-x.org +* +* Copyright (c) 2010-2014 - cocos2d-x community +* +* Portions Copyright (c) Microsoft Open Technologies, Inc. +* All Rights Reserved +* +* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and limitations under the License. +*/ + +#include "App.xaml.h" +#include "OpenGLESPage.xaml.h" + +using namespace cocos2d; +using namespace Platform; +using namespace Concurrency; +using namespace Windows::Foundation; +using namespace Windows::Foundation::Collections; +using namespace Windows::Graphics::Display; +using namespace Windows::System::Threading; +using namespace Windows::UI::Core; +using namespace Windows::UI::Input; +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::Media; +using namespace Windows::UI::Xaml::Navigation; + +OpenGLESPage::OpenGLESPage() : + OpenGLESPage(nullptr) +{ + +} + +OpenGLESPage::OpenGLESPage(OpenGLES* openGLES) : + mOpenGLES(openGLES), + mRenderSurface(EGL_NO_SURFACE), + mCustomRenderSurfaceSize(0,0), + mUseCustomRenderSurfaceSize(false), + m_coreInput(nullptr), + m_dpi(0.0f), + m_deviceLost(false), + m_orientation(DisplayOrientations::Landscape) +{ + InitializeComponent(); + + Windows::UI::Core::CoreWindow^ window = Windows::UI::Xaml::Window::Current->CoreWindow; + + window->VisibilityChanged += + ref new Windows::Foundation::TypedEventHandler(this, &OpenGLESPage::OnVisibilityChanged); + + swapChainPanel->SizeChanged += + ref new Windows::UI::Xaml::SizeChangedEventHandler(this, &OpenGLESPage::OnSwapChainPanelSizeChanged); + + DisplayInformation^ currentDisplayInformation = DisplayInformation::GetForCurrentView(); + + currentDisplayInformation->OrientationChanged += + ref new TypedEventHandler(this, &OpenGLESPage::OnOrientationChanged); + + m_orientation = currentDisplayInformation->CurrentOrientation; + + this->Loaded += + ref new Windows::UI::Xaml::RoutedEventHandler(this, &OpenGLESPage::OnPageLoaded); + + mSwapChainPanelSize = { swapChainPanel->RenderSize.Width, swapChainPanel->RenderSize.Height }; + +#if (WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP) + Windows::UI::ViewManagement::StatusBar::GetForCurrentView()->HideAsync(); +#else + // Disable all pointer visual feedback for better performance when touching. + // This is not supported on Windows Phone applications. + auto pointerVisualizationSettings = Windows::UI::Input::PointerVisualizationSettings::GetForCurrentView(); + pointerVisualizationSettings->IsContactFeedbackEnabled = false; + pointerVisualizationSettings->IsBarrelButtonFeedbackEnabled = false; +#endif + + // Register our SwapChainPanel to get independent input pointer events + auto workItemHandler = ref new WorkItemHandler([this](IAsyncAction ^) + { + // The CoreIndependentInputSource will raise pointer events for the specified device types on whichever thread it's created on. + m_coreInput = swapChainPanel->CreateCoreIndependentInputSource( + Windows::UI::Core::CoreInputDeviceTypes::Mouse | + Windows::UI::Core::CoreInputDeviceTypes::Touch | + Windows::UI::Core::CoreInputDeviceTypes::Pen + ); + + // Register for pointer events, which will be raised on the background thread. + m_coreInput->PointerPressed += ref new TypedEventHandler(this, &OpenGLESPage::OnPointerPressed); + m_coreInput->PointerMoved += ref new TypedEventHandler(this, &OpenGLESPage::OnPointerMoved); + m_coreInput->PointerReleased += ref new TypedEventHandler(this, &OpenGLESPage::OnPointerReleased); + + // Begin processing input messages as they're delivered. + m_coreInput->Dispatcher->ProcessEvents(CoreProcessEventsOption::ProcessUntilQuit); + }); + + // Run task on a dedicated high priority background thread. + m_inputLoopWorker = ThreadPool::RunAsync(workItemHandler, WorkItemPriority::High, WorkItemOptions::TimeSliced); + +} + +OpenGLESPage::~OpenGLESPage() +{ + StopRenderLoop(); + DestroyRenderSurface(); +} + +void OpenGLESPage::OnPageLoaded(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) +{ + // The SwapChainPanel has been created and arranged in the page layout, so EGL can be initialized. + CreateRenderSurface(); + StartRenderLoop(); +} + +void OpenGLESPage::OnPointerPressed(Object^ sender, PointerEventArgs^ e) +{ + if (m_renderer) + { + m_renderer->QueuePointerEvent(PointerEventType::PointerPressed, e); + } +} + +void OpenGLESPage::OnPointerMoved(Object^ sender, PointerEventArgs^ e) +{ + if (m_renderer) + { + m_renderer->QueuePointerEvent(PointerEventType::PointerMoved, e); + } +} + +void OpenGLESPage::OnPointerReleased(Object^ sender, PointerEventArgs^ e) +{ + if (m_renderer) + { + m_renderer->QueuePointerEvent(PointerEventType::PointerReleased, e); + } +} + +void OpenGLESPage::OnOrientationChanged(DisplayInformation^ sender, Object^ args) +{ + critical_section::scoped_lock lock(mSwapChainPanelSizeCriticalSection); + m_orientation = sender->CurrentOrientation; +} + +void OpenGLESPage::OnVisibilityChanged(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::VisibilityChangedEventArgs^ args) +{ + if (args->Visible && mRenderSurface != EGL_NO_SURFACE) + { + StartRenderLoop(); + } + else + { + StopRenderLoop(); + } +} + +void OpenGLESPage::OnSwapChainPanelSizeChanged(Object^ sender, Windows::UI::Xaml::SizeChangedEventArgs^ e) +{ + // Size change events occur outside of the render thread. A lock is required when updating + // the swapchainpanel size + critical_section::scoped_lock lock(mSwapChainPanelSizeCriticalSection); + mSwapChainPanelSize = { e->NewSize.Width, e->NewSize.Height }; +} + +void OpenGLESPage::GetSwapChainPanelSize(GLsizei* width, GLsizei* height) +{ + critical_section::scoped_lock lock(mSwapChainPanelSizeCriticalSection); + // If a custom render surface size is specified, return its size instead of + // the swapchain panel size. + if (mUseCustomRenderSurfaceSize) + { + *width = static_cast(mCustomRenderSurfaceSize.Width); + *height = static_cast(mCustomRenderSurfaceSize.Height); + } + else + { + *width = static_cast(mSwapChainPanelSize.Width); + *height = static_cast(mSwapChainPanelSize.Height); + } +} + +void OpenGLESPage::CreateRenderSurface() +{ + if (mOpenGLES) + { + // + // A Custom render surface size can be specified by uncommenting the following lines. + // The render surface will be automatically scaled to fit the entire window. Using a + // smaller sized render surface can result in a performance gain. + // + //mCustomRenderSurfaceSize = Size(800, 600); + //mUseCustomRenderSurfaceSize = true; + + mRenderSurface = mOpenGLES->CreateSurface(swapChainPanel, mUseCustomRenderSurfaceSize ? &mCustomRenderSurfaceSize : nullptr); + } +} + +void OpenGLESPage::DestroyRenderSurface() +{ + if (mOpenGLES) + { + mOpenGLES->DestroySurface(mRenderSurface); + } + mRenderSurface = EGL_NO_SURFACE; +} + +void OpenGLESPage::RecoverFromLostDevice() +{ + // Stop the render loop, reset OpenGLES, recreate the render surface + // and start the render loop again to recover from a lost device. + + StopRenderLoop(); + + { + critical_section::scoped_lock lock(mRenderSurfaceCriticalSection); + DestroyRenderSurface(); + mOpenGLES->Reset(); + CreateRenderSurface(); + } + + StartRenderLoop(); +} + +void OpenGLESPage::StartRenderLoop() +{ + // If the render loop is already running then do not start another thread. + if (mRenderLoopWorker != nullptr && mRenderLoopWorker->Status == Windows::Foundation::AsyncStatus::Started) + { + return; + } + + DisplayInformation^ currentDisplayInformation = DisplayInformation::GetForCurrentView(); + m_dpi = currentDisplayInformation->LogicalDpi; + + auto dispatcher = Windows::UI::Xaml::Window::Current->CoreWindow->Dispatcher; + + // Create a task for rendering that will be run on a background thread. + auto workItemHandler = ref new Windows::System::Threading::WorkItemHandler([this, dispatcher](Windows::Foundation::IAsyncAction ^ action) + { + critical_section::scoped_lock lock(mRenderSurfaceCriticalSection); + + mOpenGLES->MakeCurrent(mRenderSurface); + + GLsizei panelWidth = 0; + GLsizei panelHeight = 0; + GetSwapChainPanelSize(&panelWidth, &panelHeight); + + + + if (m_renderer.get() == nullptr) + { + m_renderer = std::make_shared(panelWidth, panelHeight, m_dpi, m_orientation, dispatcher, swapChainPanel); + } + + if (m_deviceLost) + { + m_deviceLost = false; + m_renderer->DeviceLost(); + } + else + { + m_renderer->Resume(); + } + + + while (action->Status == Windows::Foundation::AsyncStatus::Started && !m_deviceLost) + { + GetSwapChainPanelSize(&panelWidth, &panelHeight); + m_renderer.get()->Draw(panelWidth, panelHeight, m_dpi, m_orientation); + + // The call to eglSwapBuffers might not be successful (i.e. due to Device Lost) + // If the call fails, then we must reinitialize EGL and the GL resources. + if (mOpenGLES->SwapBuffers(mRenderSurface) != GL_TRUE) + { + m_deviceLost = true; + + // XAML objects like the SwapChainPanel must only be manipulated on the UI thread. + swapChainPanel->Dispatcher->RunAsync(Windows::UI::Core::CoreDispatcherPriority::High, ref new Windows::UI::Core::DispatchedHandler([=]() + { + RecoverFromLostDevice(); + }, CallbackContext::Any)); + + return; + } + } + }); + + // Run task on a dedicated high priority background thread. + mRenderLoopWorker = Windows::System::Threading::ThreadPool::RunAsync(workItemHandler, Windows::System::Threading::WorkItemPriority::High, Windows::System::Threading::WorkItemOptions::TimeSliced); +} + +void OpenGLESPage::StopRenderLoop() +{ + if (mRenderLoopWorker) + { + mRenderLoopWorker->Cancel(); + mRenderLoopWorker = nullptr; + } + + if (m_renderer) + { + m_renderer->Pause(); + } +} \ No newline at end of file diff --git a/proj.win8.1-universal/App.Shared/OpenGLESPage.xaml.h b/proj.win8.1-universal/App.Shared/OpenGLESPage.xaml.h new file mode 100644 index 0000000..7bf8e75 --- /dev/null +++ b/proj.win8.1-universal/App.Shared/OpenGLESPage.xaml.h @@ -0,0 +1,78 @@ +/* +* cocos2d-x http://www.cocos2d-x.org +* +* Copyright (c) 2010-2014 - cocos2d-x community +* +* Portions Copyright (c) Microsoft Open Technologies, Inc. +* All Rights Reserved +* +* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an +* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and limitations under the License. +*/ + +#pragma once + +#include "OpenGLES.h" +#include "OpenGLESPage.g.h" +#include + +#include "Cocos2dRenderer.h" + +namespace cocos2d +{ + public ref class OpenGLESPage sealed + { + public: + OpenGLESPage(); + virtual ~OpenGLESPage(); + + internal: + OpenGLESPage(OpenGLES* openGLES); + + private: + void OnPageLoaded(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); + void OnVisibilityChanged(Windows::UI::Core::CoreWindow^ sender, Windows::UI::Core::VisibilityChangedEventArgs^ args); + void OnSwapChainPanelSizeChanged(Platform::Object^ sender, Windows::UI::Xaml::SizeChangedEventArgs^ e); + void GetSwapChainPanelSize(GLsizei* width, GLsizei* height); + void CreateRenderSurface(); + void DestroyRenderSurface(); + void RecoverFromLostDevice(); + void StartRenderLoop(); + void StopRenderLoop(); + + OpenGLES* mOpenGLES; + std::shared_ptr m_renderer; + + Windows::Foundation::Size mSwapChainPanelSize; + Concurrency::critical_section mSwapChainPanelSizeCriticalSection; + + Windows::Foundation::Size mCustomRenderSurfaceSize; + bool mUseCustomRenderSurfaceSize; + + EGLSurface mRenderSurface; // This surface is associated with a swapChainPanel on the page + Concurrency::critical_section mRenderSurfaceCriticalSection; + Windows::Foundation::IAsyncAction^ mRenderLoopWorker; + + // Track user input on a background worker thread. + Windows::Foundation::IAsyncAction^ m_inputLoopWorker; + Windows::UI::Core::CoreIndependentInputSource^ m_coreInput; + + // Independent input handling functions. + void OnPointerPressed(Platform::Object^ sender, Windows::UI::Core::PointerEventArgs^ e); + void OnPointerMoved(Platform::Object^ sender, Windows::UI::Core::PointerEventArgs^ e); + void OnPointerReleased(Platform::Object^ sender, Windows::UI::Core::PointerEventArgs^ e); + + void OnOrientationChanged(Windows::Graphics::Display::DisplayInformation^ sender, Platform::Object^ args); + + float m_dpi; + bool m_deviceLost; + Windows::Graphics::Display::DisplayOrientations m_orientation; + + }; +} diff --git a/proj.wp8-xaml/AppComponent/pch.cpp b/proj.win8.1-universal/App.Shared/pch.cpp similarity index 100% rename from proj.wp8-xaml/AppComponent/pch.cpp rename to proj.win8.1-universal/App.Shared/pch.cpp diff --git a/proj.win8.1-universal/App.Shared/pch.h b/proj.win8.1-universal/App.Shared/pch.h new file mode 100644 index 0000000..2e511d9 --- /dev/null +++ b/proj.win8.1-universal/App.Shared/pch.h @@ -0,0 +1,14 @@ +// +// pch.h +// Header for standard system include files. +// + +#pragma once + +#include +#include + +#include "cocos2d.h" +#include "cocos-ext.h" + + diff --git a/proj.win8.1-universal/App.Windows/CCPP.Windows.vcxproj b/proj.win8.1-universal/App.Windows/CCPP.Windows.vcxproj new file mode 100644 index 0000000..d0f2eb5 --- /dev/null +++ b/proj.win8.1-universal/App.Windows/CCPP.Windows.vcxproj @@ -0,0 +1,192 @@ + + + + + Debug + ARM + + + Debug + Win32 + + + Debug + x64 + + + Release + ARM + + + Release + Win32 + + + Release + x64 + + + + {79a8fcda-4b12-4dd1-b676-ff148d651638} + cocos2d + 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CCPP.Windows_TemporaryKey.pfx + True + x86 + + + + /bigobj /Zm200 %(AdditionalOptions) + 4453;28204;4756;%(DisableSpecificWarnings) + pch.h + ../../Classes;%(AdditionalIncludeDirectories) + + + + + /bigobj /Zm200 %(AdditionalOptions) + 4453;28204;4756;%(DisableSpecificWarnings) + pch.h + ../../Classes;%(AdditionalIncludeDirectories) + + + + + /bigobj /Zm200 %(AdditionalOptions) + 4453;28204;4756;%(DisableSpecificWarnings) + pch.h + ../../Classes;%(AdditionalIncludeDirectories) + + + + + /bigobj /Zm200 %(AdditionalOptions) + 4453;28204;4756;%(DisableSpecificWarnings) + pch.h + ../../Classes;%(AdditionalIncludeDirectories) + + + + + /bigobj /Zm200 %(AdditionalOptions) + 4453;28204;4756;%(DisableSpecificWarnings) + pch.h + ../../Classes;%(AdditionalIncludeDirectories) + + + + + /bigobj /Zm200 %(AdditionalOptions) + 4453;28204;4756;%(DisableSpecificWarnings) + pch.h + ../../Classes;%(AdditionalIncludeDirectories) + + + + + Designer + + + + + + + + + + + + {9335005f-678e-4e8e-9b84-50037216aec8} + + + {f3550fe0-c795-44f6-8feb-093eb68143ae} + + + {3b26a12d-3a44-47ea-82d2-282660fc844d} + + + + + + diff --git a/proj.win8.1-universal/App.Windows/CCPP.Windows.vcxproj.filters b/proj.win8.1-universal/App.Windows/CCPP.Windows.vcxproj.filters new file mode 100644 index 0000000..53a9981 --- /dev/null +++ b/proj.win8.1-universal/App.Windows/CCPP.Windows.vcxproj.filters @@ -0,0 +1,29 @@ + + + + + {1a9fa652-867e-41d2-8588-962f108d2d8f} + bmp;fbx;gif;jpg;jpeg;tga;tiff;tif;png + + + + + + + + + + + Assets + + + Assets + + + Assets + + + Assets + + + \ No newline at end of file diff --git a/proj.win8.1-universal/App.Windows/CCPP.Windows_TemporaryKey.pfx b/proj.win8.1-universal/App.Windows/CCPP.Windows_TemporaryKey.pfx new file mode 100644 index 0000000..5ad0106 Binary files /dev/null and b/proj.win8.1-universal/App.Windows/CCPP.Windows_TemporaryKey.pfx differ diff --git a/proj.win8.1-universal/App.Windows/Package.appxmanifest b/proj.win8.1-universal/App.Windows/Package.appxmanifest new file mode 100644 index 0000000..de0ee57 --- /dev/null +++ b/proj.win8.1-universal/App.Windows/Package.appxmanifest @@ -0,0 +1,30 @@ + + + + + CCPP.Windows + dalestam + Assets\StoreLogo.png + + + 6.3.0 + 6.3.0 + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/proj.win8.1-universal/App.WindowsPhone/CCPP.WindowsPhone.vcxproj b/proj.win8.1-universal/App.WindowsPhone/CCPP.WindowsPhone.vcxproj new file mode 100644 index 0000000..621eedb --- /dev/null +++ b/proj.win8.1-universal/App.WindowsPhone/CCPP.WindowsPhone.vcxproj @@ -0,0 +1,144 @@ + + + + + Debug + ARM + + + Debug + Win32 + + + Release + ARM + + + Release + Win32 + + + + {396fe85e-bb05-4b92-bccb-f89aed4ea41a} + cocos2d + en-US + 12.0 + true + Windows Phone + 8.1 + + + + Application + true + v120_wp81 + + + Application + true + v120_wp81 + + + Application + false + true + v120_wp81 + + + Application + false + true + v120_wp81 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + True + arm + + + + /bigobj /Zm200 %(AdditionalOptions) + 4453;28204;4756;%(DisableSpecificWarnings) + pch.h + ../../Classes;%(AdditionalIncludeDirectories) + + + + + /bigobj /Zm200 %(AdditionalOptions) + 4453;28204;4756;%(DisableSpecificWarnings) + pch.h + ../../Classes;%(AdditionalIncludeDirectories) + + + + + /bigobj /Zm200 %(AdditionalOptions) + 4453;28204;4756;%(DisableSpecificWarnings) + pch.h + ../../Classes;%(AdditionalIncludeDirectories) + + + + + /bigobj /Zm200 %(AdditionalOptions) + 4453;28204;4756;%(DisableSpecificWarnings) + pch.h + ../../Classes;%(AdditionalIncludeDirectories) + + + + + Designer + + + + + + + + + + + + + {22f3b9df-1209-4574-8331-003966f562bf} + + + {cc1da216-a80d-4be4-b309-acb6af313aff} + + + {22f798d8-bfff-4754-996f-a5395343d5ec} + + + + + + diff --git a/proj.win8.1-universal/App.WindowsPhone/CCPP.WindowsPhone.vcxproj.filters b/proj.win8.1-universal/App.WindowsPhone/CCPP.WindowsPhone.vcxproj.filters new file mode 100644 index 0000000..eb71f32 --- /dev/null +++ b/proj.win8.1-universal/App.WindowsPhone/CCPP.WindowsPhone.vcxproj.filters @@ -0,0 +1,30 @@ + + + + + {c8beb60d-689b-4aaa-9749-99bd3e2dcf75} + bmp;fbx;gif;jpg;jpeg;tga;tiff;tif;png + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + + + + \ No newline at end of file diff --git a/proj.win8.1-universal/App.WindowsPhone/Package.appxmanifest b/proj.win8.1-universal/App.WindowsPhone/Package.appxmanifest new file mode 100644 index 0000000..ab79f21 --- /dev/null +++ b/proj.win8.1-universal/App.WindowsPhone/Package.appxmanifest @@ -0,0 +1,33 @@ + + + + + + CCPP.WindowsPhone + dalestam + Assets\StoreLogo.png + + + 6.3.1 + 6.3.1 + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/proj.win8.1-universal/CCPP.sln b/proj.win8.1-universal/CCPP.sln new file mode 100644 index 0000000..2ede302 --- /dev/null +++ b/proj.win8.1-universal/CCPP.sln @@ -0,0 +1,181 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.30723.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CCPP", "CCPP", "{36AFDE04-D127-4D84-9730-D84E3E51EAA7}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "App.Shared", "App.Shared\CCPP.Shared.vcxitems", "{A3AD93E4-0B2F-4C58-9181-69BED2E42E3E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "App.Windows", "App.Windows\CCPP.Windows.vcxproj", "{79A8FCDA-4B12-4DD1-B676-FF148D651638}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "App.WindowsPhone", "App.WindowsPhone\CCPP.WindowsPhone.vcxproj", "{396FE85E-BB05-4B92-BCCB-F89AED4EA41A}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libcocos2d", "libcocos2d", "{80DA05C1-6532-4D2A-8606-EF02079B1373}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "External", "External", "{F13CB4F7-BEE5-4368-A815-A971797387D8}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libbox2d", "libbox2d", "{626C3EB8-F53B-41D0-BEA8-44EACAA1228C}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libSpine", "libSpine", "{D0E32B77-3B4F-44F8-AEBC-12EE8BBF1783}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbox2d.Shared", "..\cocos2d\external\Box2D\proj.win8.1-universal\libbox2d.Shared\libbox2d.Shared.vcxitems", "{4A3C6BA8-C227-498B-AA21-40BDA27B461F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbox2d.Windows", "..\cocos2d\external\Box2D\proj.win8.1-universal\libbox2d.Windows\libbox2d.Windows.vcxproj", "{3B26A12D-3A44-47EA-82D2-282660FC844D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbox2d.WindowsPhone", "..\cocos2d\external\Box2D\proj.win8.1-universal\libbox2d.WindowsPhone\libbox2d.WindowsPhone.vcxproj", "{22F798D8-BFFF-4754-996F-A5395343D5EC}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libSpine.Shared", "..\cocos2d\cocos\editor-support\spine\proj.win8.1-universal\libSpine.Shared\libSpine.Shared.vcxitems", "{ADAFD00D-A0D6-46EF-9F0B-EA2880BFE1DE}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libSpine.Windows", "..\cocos2d\cocos\editor-support\spine\proj.win8.1-universal\libSpine.Windows\libSpine.Windows.vcxproj", "{F3550FE0-C795-44F6-8FEB-093EB68143AE}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libSpine.WindowsPhone", "..\cocos2d\cocos\editor-support\spine\proj.win8.1-universal\libSpine.WindowsPhone\libSpine.WindowsPhone.vcxproj", "{CC1DA216-A80D-4BE4-B309-ACB6AF313AFF}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d_8_1.Shared", "..\cocos2d\cocos\2d\libcocos2d_8_1\libcocos2d_8_1\libcocos2d_8_1.Shared\libcocos2d_8_1.Shared.vcxitems", "{5D6F020F-7E72-4494-90A0-2DF11D235DF9}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d_8_1.Windows", "..\cocos2d\cocos\2d\libcocos2d_8_1\libcocos2d_8_1\libcocos2d_8_1.Windows\libcocos2d_8_1.Windows.vcxproj", "{9335005F-678E-4E8E-9B84-50037216AEC8}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d_8_1.WindowsPhone", "..\cocos2d\cocos\2d\libcocos2d_8_1\libcocos2d_8_1\libcocos2d_8_1.WindowsPhone\libcocos2d_8_1.WindowsPhone.vcxproj", "{22F3B9DF-1209-4574-8331-003966F562BF}" +EndProject +Global + GlobalSection(SharedMSBuildProjectFiles) = preSolution + ..\cocos2d\cocos\2d\libcocos2d_8_1\libcocos2d_8_1\libcocos2d_8_1.Shared\libcocos2d_8_1.Shared.vcxitems*{9335005f-678e-4e8e-9b84-50037216aec8}*SharedItemsImports = 4 + App.Shared\CCPP.Shared.vcxitems*{a3ad93e4-0b2f-4c58-9181-69bed2e42e3e}*SharedItemsImports = 9 + ..\cocos2d\cocos\editor-support\spine\proj.win8.1-universal\libSpine.Shared\libSpine.Shared.vcxitems*{cc1da216-a80d-4be4-b309-acb6af313aff}*SharedItemsImports = 4 + ..\cocos2d\external\Box2D\proj.win8.1-universal\libbox2d.Shared\libbox2d.Shared.vcxitems*{4a3c6ba8-c227-498b-aa21-40bda27b461f}*SharedItemsImports = 9 + App.Shared\CCPP.Shared.vcxitems*{79a8fcda-4b12-4dd1-b676-ff148d651638}*SharedItemsImports = 4 + ..\cocos2d\cocos\editor-support\spine\proj.win8.1-universal\libSpine.Shared\libSpine.Shared.vcxitems*{adafd00d-a0d6-46ef-9f0b-ea2880bfe1de}*SharedItemsImports = 9 + ..\cocos2d\cocos\2d\libcocos2d_8_1\libcocos2d_8_1\libcocos2d_8_1.Shared\libcocos2d_8_1.Shared.vcxitems*{5d6f020f-7e72-4494-90a0-2df11d235df9}*SharedItemsImports = 9 + ..\cocos2d\external\Box2D\proj.win8.1-universal\libbox2d.Shared\libbox2d.Shared.vcxitems*{3b26a12d-3a44-47ea-82d2-282660fc844d}*SharedItemsImports = 4 + ..\cocos2d\cocos\2d\libcocos2d_8_1\libcocos2d_8_1\libcocos2d_8_1.Shared\libcocos2d_8_1.Shared.vcxitems*{22f3b9df-1209-4574-8331-003966f562bf}*SharedItemsImports = 4 + ..\cocos2d\external\Box2D\proj.win8.1-universal\libbox2d.Shared\libbox2d.Shared.vcxitems*{22f798d8-bfff-4754-996f-a5395343d5ec}*SharedItemsImports = 4 + ..\cocos2d\cocos\editor-support\spine\proj.win8.1-universal\libSpine.Shared\libSpine.Shared.vcxitems*{f3550fe0-c795-44f6-8feb-093eb68143ae}*SharedItemsImports = 4 + App.Shared\CCPP.Shared.vcxitems*{396fe85e-bb05-4b92-bccb-f89aed4ea41a}*SharedItemsImports = 4 + EndGlobalSection + 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 + {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Debug|ARM.ActiveCfg = Debug|ARM + {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Debug|ARM.Build.0 = Debug|ARM + {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Debug|ARM.Deploy.0 = Debug|ARM + {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Debug|Win32.ActiveCfg = Debug|Win32 + {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Debug|Win32.Build.0 = Debug|Win32 + {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Debug|Win32.Deploy.0 = Debug|Win32 + {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Debug|x64.ActiveCfg = Debug|x64 + {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Debug|x64.Build.0 = Debug|x64 + {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Debug|x64.Deploy.0 = Debug|x64 + {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Release|ARM.ActiveCfg = Release|ARM + {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Release|ARM.Build.0 = Release|ARM + {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Release|ARM.Deploy.0 = Release|ARM + {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Release|Win32.ActiveCfg = Release|Win32 + {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Release|Win32.Build.0 = Release|Win32 + {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Release|Win32.Deploy.0 = Release|Win32 + {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Release|x64.ActiveCfg = Release|x64 + {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Release|x64.Build.0 = Release|x64 + {79A8FCDA-4B12-4DD1-B676-FF148D651638}.Release|x64.Deploy.0 = Release|x64 + {396FE85E-BB05-4B92-BCCB-F89AED4EA41A}.Debug|ARM.ActiveCfg = Debug|ARM + {396FE85E-BB05-4B92-BCCB-F89AED4EA41A}.Debug|ARM.Build.0 = Debug|ARM + {396FE85E-BB05-4B92-BCCB-F89AED4EA41A}.Debug|ARM.Deploy.0 = Debug|ARM + {396FE85E-BB05-4B92-BCCB-F89AED4EA41A}.Debug|Win32.ActiveCfg = Debug|Win32 + {396FE85E-BB05-4B92-BCCB-F89AED4EA41A}.Debug|Win32.Build.0 = Debug|Win32 + {396FE85E-BB05-4B92-BCCB-F89AED4EA41A}.Debug|Win32.Deploy.0 = Debug|Win32 + {396FE85E-BB05-4B92-BCCB-F89AED4EA41A}.Debug|x64.ActiveCfg = Debug|Win32 + {396FE85E-BB05-4B92-BCCB-F89AED4EA41A}.Release|ARM.ActiveCfg = Release|ARM + {396FE85E-BB05-4B92-BCCB-F89AED4EA41A}.Release|ARM.Build.0 = Release|ARM + {396FE85E-BB05-4B92-BCCB-F89AED4EA41A}.Release|ARM.Deploy.0 = Release|ARM + {396FE85E-BB05-4B92-BCCB-F89AED4EA41A}.Release|Win32.ActiveCfg = Release|Win32 + {396FE85E-BB05-4B92-BCCB-F89AED4EA41A}.Release|Win32.Build.0 = Release|Win32 + {396FE85E-BB05-4B92-BCCB-F89AED4EA41A}.Release|Win32.Deploy.0 = Release|Win32 + {396FE85E-BB05-4B92-BCCB-F89AED4EA41A}.Release|x64.ActiveCfg = Release|Win32 + {3B26A12D-3A44-47EA-82D2-282660FC844D}.Debug|ARM.ActiveCfg = Debug|ARM + {3B26A12D-3A44-47EA-82D2-282660FC844D}.Debug|ARM.Build.0 = Debug|ARM + {3B26A12D-3A44-47EA-82D2-282660FC844D}.Debug|Win32.ActiveCfg = Debug|Win32 + {3B26A12D-3A44-47EA-82D2-282660FC844D}.Debug|Win32.Build.0 = Debug|Win32 + {3B26A12D-3A44-47EA-82D2-282660FC844D}.Debug|x64.ActiveCfg = Debug|x64 + {3B26A12D-3A44-47EA-82D2-282660FC844D}.Debug|x64.Build.0 = Debug|x64 + {3B26A12D-3A44-47EA-82D2-282660FC844D}.Release|ARM.ActiveCfg = Release|ARM + {3B26A12D-3A44-47EA-82D2-282660FC844D}.Release|ARM.Build.0 = Release|ARM + {3B26A12D-3A44-47EA-82D2-282660FC844D}.Release|Win32.ActiveCfg = Release|Win32 + {3B26A12D-3A44-47EA-82D2-282660FC844D}.Release|Win32.Build.0 = Release|Win32 + {3B26A12D-3A44-47EA-82D2-282660FC844D}.Release|x64.ActiveCfg = Release|x64 + {3B26A12D-3A44-47EA-82D2-282660FC844D}.Release|x64.Build.0 = Release|x64 + {22F798D8-BFFF-4754-996F-A5395343D5EC}.Debug|ARM.ActiveCfg = Debug|ARM + {22F798D8-BFFF-4754-996F-A5395343D5EC}.Debug|ARM.Build.0 = Debug|ARM + {22F798D8-BFFF-4754-996F-A5395343D5EC}.Debug|Win32.ActiveCfg = Debug|Win32 + {22F798D8-BFFF-4754-996F-A5395343D5EC}.Debug|Win32.Build.0 = Debug|Win32 + {22F798D8-BFFF-4754-996F-A5395343D5EC}.Debug|x64.ActiveCfg = Debug|Win32 + {22F798D8-BFFF-4754-996F-A5395343D5EC}.Release|ARM.ActiveCfg = Release|ARM + {22F798D8-BFFF-4754-996F-A5395343D5EC}.Release|ARM.Build.0 = Release|ARM + {22F798D8-BFFF-4754-996F-A5395343D5EC}.Release|Win32.ActiveCfg = Release|Win32 + {22F798D8-BFFF-4754-996F-A5395343D5EC}.Release|Win32.Build.0 = Release|Win32 + {22F798D8-BFFF-4754-996F-A5395343D5EC}.Release|x64.ActiveCfg = Release|Win32 + {F3550FE0-C795-44F6-8FEB-093EB68143AE}.Debug|ARM.ActiveCfg = Debug|ARM + {F3550FE0-C795-44F6-8FEB-093EB68143AE}.Debug|ARM.Build.0 = Debug|ARM + {F3550FE0-C795-44F6-8FEB-093EB68143AE}.Debug|Win32.ActiveCfg = Debug|Win32 + {F3550FE0-C795-44F6-8FEB-093EB68143AE}.Debug|Win32.Build.0 = Debug|Win32 + {F3550FE0-C795-44F6-8FEB-093EB68143AE}.Debug|x64.ActiveCfg = Debug|x64 + {F3550FE0-C795-44F6-8FEB-093EB68143AE}.Debug|x64.Build.0 = Debug|x64 + {F3550FE0-C795-44F6-8FEB-093EB68143AE}.Release|ARM.ActiveCfg = Release|ARM + {F3550FE0-C795-44F6-8FEB-093EB68143AE}.Release|ARM.Build.0 = Release|ARM + {F3550FE0-C795-44F6-8FEB-093EB68143AE}.Release|Win32.ActiveCfg = Release|Win32 + {F3550FE0-C795-44F6-8FEB-093EB68143AE}.Release|Win32.Build.0 = Release|Win32 + {F3550FE0-C795-44F6-8FEB-093EB68143AE}.Release|x64.ActiveCfg = Release|x64 + {F3550FE0-C795-44F6-8FEB-093EB68143AE}.Release|x64.Build.0 = Release|x64 + {CC1DA216-A80D-4BE4-B309-ACB6AF313AFF}.Debug|ARM.ActiveCfg = Debug|ARM + {CC1DA216-A80D-4BE4-B309-ACB6AF313AFF}.Debug|ARM.Build.0 = Debug|ARM + {CC1DA216-A80D-4BE4-B309-ACB6AF313AFF}.Debug|Win32.ActiveCfg = Debug|Win32 + {CC1DA216-A80D-4BE4-B309-ACB6AF313AFF}.Debug|Win32.Build.0 = Debug|Win32 + {CC1DA216-A80D-4BE4-B309-ACB6AF313AFF}.Debug|x64.ActiveCfg = Debug|Win32 + {CC1DA216-A80D-4BE4-B309-ACB6AF313AFF}.Release|ARM.ActiveCfg = Release|ARM + {CC1DA216-A80D-4BE4-B309-ACB6AF313AFF}.Release|ARM.Build.0 = Release|ARM + {CC1DA216-A80D-4BE4-B309-ACB6AF313AFF}.Release|Win32.ActiveCfg = Release|Win32 + {CC1DA216-A80D-4BE4-B309-ACB6AF313AFF}.Release|Win32.Build.0 = Release|Win32 + {CC1DA216-A80D-4BE4-B309-ACB6AF313AFF}.Release|x64.ActiveCfg = Release|Win32 + {9335005F-678E-4E8E-9B84-50037216AEC8}.Debug|ARM.ActiveCfg = Debug|ARM + {9335005F-678E-4E8E-9B84-50037216AEC8}.Debug|ARM.Build.0 = Debug|ARM + {9335005F-678E-4E8E-9B84-50037216AEC8}.Debug|Win32.ActiveCfg = Debug|Win32 + {9335005F-678E-4E8E-9B84-50037216AEC8}.Debug|Win32.Build.0 = Debug|Win32 + {9335005F-678E-4E8E-9B84-50037216AEC8}.Debug|x64.ActiveCfg = Debug|x64 + {9335005F-678E-4E8E-9B84-50037216AEC8}.Debug|x64.Build.0 = Debug|x64 + {9335005F-678E-4E8E-9B84-50037216AEC8}.Release|ARM.ActiveCfg = Release|ARM + {9335005F-678E-4E8E-9B84-50037216AEC8}.Release|ARM.Build.0 = Release|ARM + {9335005F-678E-4E8E-9B84-50037216AEC8}.Release|Win32.ActiveCfg = Release|Win32 + {9335005F-678E-4E8E-9B84-50037216AEC8}.Release|Win32.Build.0 = Release|Win32 + {9335005F-678E-4E8E-9B84-50037216AEC8}.Release|x64.ActiveCfg = Release|x64 + {9335005F-678E-4E8E-9B84-50037216AEC8}.Release|x64.Build.0 = Release|x64 + {22F3B9DF-1209-4574-8331-003966F562BF}.Debug|ARM.ActiveCfg = Debug|ARM + {22F3B9DF-1209-4574-8331-003966F562BF}.Debug|ARM.Build.0 = Debug|ARM + {22F3B9DF-1209-4574-8331-003966F562BF}.Debug|Win32.ActiveCfg = Debug|Win32 + {22F3B9DF-1209-4574-8331-003966F562BF}.Debug|Win32.Build.0 = Debug|Win32 + {22F3B9DF-1209-4574-8331-003966F562BF}.Debug|x64.ActiveCfg = Debug|Win32 + {22F3B9DF-1209-4574-8331-003966F562BF}.Release|ARM.ActiveCfg = Release|ARM + {22F3B9DF-1209-4574-8331-003966F562BF}.Release|ARM.Build.0 = Release|ARM + {22F3B9DF-1209-4574-8331-003966F562BF}.Release|Win32.ActiveCfg = Release|Win32 + {22F3B9DF-1209-4574-8331-003966F562BF}.Release|Win32.Build.0 = Release|Win32 + {22F3B9DF-1209-4574-8331-003966F562BF}.Release|x64.ActiveCfg = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {A3AD93E4-0B2F-4C58-9181-69BED2E42E3E} = {36AFDE04-D127-4D84-9730-D84E3E51EAA7} + {79A8FCDA-4B12-4DD1-B676-FF148D651638} = {36AFDE04-D127-4D84-9730-D84E3E51EAA7} + {396FE85E-BB05-4B92-BCCB-F89AED4EA41A} = {36AFDE04-D127-4D84-9730-D84E3E51EAA7} + {626C3EB8-F53B-41D0-BEA8-44EACAA1228C} = {F13CB4F7-BEE5-4368-A815-A971797387D8} + {D0E32B77-3B4F-44F8-AEBC-12EE8BBF1783} = {F13CB4F7-BEE5-4368-A815-A971797387D8} + {4A3C6BA8-C227-498B-AA21-40BDA27B461F} = {626C3EB8-F53B-41D0-BEA8-44EACAA1228C} + {3B26A12D-3A44-47EA-82D2-282660FC844D} = {626C3EB8-F53B-41D0-BEA8-44EACAA1228C} + {22F798D8-BFFF-4754-996F-A5395343D5EC} = {626C3EB8-F53B-41D0-BEA8-44EACAA1228C} + {ADAFD00D-A0D6-46EF-9F0B-EA2880BFE1DE} = {D0E32B77-3B4F-44F8-AEBC-12EE8BBF1783} + {F3550FE0-C795-44F6-8FEB-093EB68143AE} = {D0E32B77-3B4F-44F8-AEBC-12EE8BBF1783} + {CC1DA216-A80D-4BE4-B309-ACB6AF313AFF} = {D0E32B77-3B4F-44F8-AEBC-12EE8BBF1783} + {5D6F020F-7E72-4494-90A0-2DF11D235DF9} = {80DA05C1-6532-4D2A-8606-EF02079B1373} + {9335005F-678E-4E8E-9B84-50037216AEC8} = {80DA05C1-6532-4D2A-8606-EF02079B1373} + {22F3B9DF-1209-4574-8331-003966F562BF} = {80DA05C1-6532-4D2A-8606-EF02079B1373} + EndGlobalSection +EndGlobal diff --git a/proj.wp8-xaml/App/App.xaml b/proj.wp8-xaml/App/App.xaml index 02706a5..4e5975d 100644 --- a/proj.wp8-xaml/App/App.xaml +++ b/proj.wp8-xaml/App/App.xaml @@ -1,5 +1,5 @@  - + diff --git a/proj.wp8-xaml/App/App.xaml.cs b/proj.wp8-xaml/App/App.xaml.cs index c97119a..3553e5f 100644 --- a/proj.wp8-xaml/App/App.xaml.cs +++ b/proj.wp8-xaml/App/App.xaml.cs @@ -7,9 +7,8 @@ using Microsoft.Phone.Controls; using Microsoft.Phone.Shell; using System.IO.IsolatedStorage; -using PhoneDirect3DXamlAppInterop.Resources; -namespace PhoneDirect3DXamlAppInterop +namespace cocos2d { public partial class App : Application { diff --git a/proj.wp8-xaml/App/Slippery Wheels.csproj b/proj.wp8-xaml/App/CCPP.csproj similarity index 92% rename from proj.wp8-xaml/App/Slippery Wheels.csproj rename to proj.wp8-xaml/App/CCPP.csproj index cd10a40..ebfbc44 100644 --- a/proj.wp8-xaml/App/Slippery Wheels.csproj +++ b/proj.wp8-xaml/App/CCPP.csproj @@ -9,8 +9,8 @@ {C089C8C0-30E0-4E22-80C0-CE093F111A43};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} Library Properties - PhoneDirect3DXamlAppInterop - PhoneDirect3DXamlAppInterop + cocos2d + CCPP WindowsPhone v8.0 $(TargetFrameworkVersion) @@ -19,9 +19,9 @@ true true - PhoneDirect3DXamlAppInterop_$(Configuration)_$(Platform).xap + CCPP_$(Configuration)_$(Platform).xap Properties\AppManifest.xml - PhoneDirect3DXamlAppInterop.App + cocos2d.App true 11.0 true @@ -102,6 +102,10 @@ + + Assets\Resources\fonts\Marker Felt.ttf + PreserveNewest + Designer @@ -130,8 +134,14 @@ - - Slippery WheelsComponent + + Assets\Resources\%(RecursiveDir)%(FileName)%(Extension) + PreserveNewest + + + + + CCPPComponent @@ -154,14 +164,7 @@ Designer - - - - Assets\Resources\%(RecursiveDir)%(FileName)%(Extension) - PreserveNewest - - - + - - + \ No newline at end of file diff --git a/proj.wp8-xaml/App/EditBox.xaml b/proj.wp8-xaml/App/EditBox.xaml index 8a179c3..a1259d3 100644 --- a/proj.wp8-xaml/App/EditBox.xaml +++ b/proj.wp8-xaml/App/EditBox.xaml @@ -1,4 +1,4 @@ - /// Provides access to string resources. diff --git a/proj.wp8-xaml/App/MainPage.xaml b/proj.wp8-xaml/App/MainPage.xaml index 53fca91..fa08ba7 100644 --- a/proj.wp8-xaml/App/MainPage.xaml +++ b/proj.wp8-xaml/App/MainPage.xaml @@ -1,5 +1,5 @@  0) + { + m_d3dInterop.OnCocos2dKeyEvent(Cocos2dKeyEvent.Text, m_textBox.Text); + m_textBox.Text = ""; + } } // Called by the Cocos2d-x C++ engine to display a MessageBox @@ -144,7 +161,7 @@ public void OnCocos2dMessageBoxEvent(String title, String text) } // events called by the Cocos2d-x C++ engine to be handled by C# - public void OnCocos2dEvent(Cocos2dEvent theEvent) + public void OnCocos2dEvent(Cocos2dEvent theEvent, String text) { Dispatcher.BeginInvoke(() => { @@ -161,11 +178,12 @@ public void OnCocos2dEvent(Cocos2dEvent theEvent) m_textBox.Opacity = 0.0; m_textBox.Width = 1; m_textBox.Height = 1; - m_textBox.MaxLength = 1; m_textBox.KeyDown += OnKeyDown; - m_textBox.KeyUp += OnKeyUp; + m_textBox.TextChanged += OnTextChanged; DrawingSurfaceBackground.Children.Add(m_textBox); } + m_textBox.SelectionLength = 0; + m_textBox.SelectionStart = int.MaxValue; m_textBox.Focus(); break; @@ -199,6 +217,13 @@ public void OnSelectText(object sender, String str) } } + public void OpenURL(String url) + { + WebBrowserTask webBrowserTask = new WebBrowserTask(); + webBrowserTask.Uri = new Uri(url, UriKind.Absolute); + webBrowserTask.Show(); + } + private void StartTimer() { m_timer = new DispatcherTimer(); diff --git a/proj.wp8-xaml/App/Properties/AssemblyInfo.cs b/proj.wp8-xaml/App/Properties/AssemblyInfo.cs index 1b6c5d6..c5921e1 100644 --- a/proj.wp8-xaml/App/Properties/AssemblyInfo.cs +++ b/proj.wp8-xaml/App/Properties/AssemblyInfo.cs @@ -6,11 +6,11 @@ // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("PhoneDirect3DXamlAppInterop")] +[assembly: AssemblyTitle("cocos2d")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("PhoneDirect3DXamlAppInterop")] +[assembly: AssemblyProduct("cocos2d")] [assembly: AssemblyCopyright("Copyright © 2012")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] diff --git a/proj.wp8-xaml/App/Properties/WMAppManifest.xml b/proj.wp8-xaml/App/Properties/WMAppManifest.xml index 8437827..420f008 100644 --- a/proj.wp8-xaml/App/Properties/WMAppManifest.xml +++ b/proj.wp8-xaml/App/Properties/WMAppManifest.xml @@ -1,30 +1,35 @@  - + Assets\ApplicationIcon.png - - - - - + + + + + - + - + Assets\Tiles\FlipCycleTileSmall.png 0 Assets\Tiles\FlipCycleTileMedium.png - PhoneDirect3DXamlAppInterop - - - - - + CCPP + + + + + + + + + + diff --git a/proj.wp8-xaml/App/Resources/AppResources.Designer.cs b/proj.wp8-xaml/App/Resources/AppResources.Designer.cs index bf26a41..733f693 100644 --- a/proj.wp8-xaml/App/Resources/AppResources.Designer.cs +++ b/proj.wp8-xaml/App/Resources/AppResources.Designer.cs @@ -8,7 +8,8 @@ // //------------------------------------------------------------------------------ -namespace PhoneDirect3DXamlAppInterop.Resources { +namespace cocos2d.Resources +{ using System; diff --git a/proj.wp8-xaml/AppComponent/Slippery WheelsComponent.vcxproj b/proj.wp8-xaml/AppComponent/CCPPComponent.vcxproj similarity index 63% rename from proj.wp8-xaml/AppComponent/Slippery WheelsComponent.vcxproj rename to proj.wp8-xaml/AppComponent/CCPPComponent.vcxproj index e325b74..a5da28a 100644 --- a/proj.wp8-xaml/AppComponent/Slippery WheelsComponent.vcxproj +++ b/proj.wp8-xaml/AppComponent/CCPPComponent.vcxproj @@ -20,7 +20,7 @@ {60ec6889-c3c4-45ad-a006-47d9ee689212} - PhoneDirect3DXamlAppComponent + cocos2d en-US 11.0 true @@ -62,20 +62,24 @@ - - + + + - - + + + - - + + + - - + + + @@ -83,7 +87,7 @@ - WP8;_WINRT_DLL;CC_ENABLE_CHIPMUNK_INTEGRATION=1;COCOS2D_DEBUG=1;%(PreprocessorDefinitions) + CC_ENABLE_CHIPMUNK_INTEGRATION=1;COCOS2D_DEBUG=1;%(PreprocessorDefinitions) Use pch.h $(WindowsSDK_MetadataPath);$(AdditionalUsingDirectories) @@ -103,7 +107,7 @@ - WP8;_WINRT_DLL;CC_ENABLE_CHIPMUNK_INTEGRATION=1;NDEBUG;%(PreprocessorDefinitions) + CC_ENABLE_CHIPMUNK_INTEGRATION=1;NDEBUG;%(PreprocessorDefinitions) Use pch.h $(WindowsSDK_MetadataPath);$(AdditionalUsingDirectories) @@ -123,7 +127,7 @@ - WP8;_WINRT_DLL;CC_ENABLE_CHIPMUNK_INTEGRATION=1;COCOS2D_DEBUG=1;%(PreprocessorDefinitions) + CC_ENABLE_CHIPMUNK_INTEGRATION=1;COCOS2D_DEBUG=1;%(PreprocessorDefinitions) Use pch.h $(WindowsSDK_MetadataPath);$(AdditionalUsingDirectories) @@ -143,7 +147,7 @@ - WP8;_WINRT_DLL;CC_ENABLE_CHIPMUNK_INTEGRATION=1;NDEBUG;%(PreprocessorDefinitions) + CC_ENABLE_CHIPMUNK_INTEGRATION=1;NDEBUG;%(PreprocessorDefinitions) Use pch.h $(WindowsSDK_MetadataPath);$(AdditionalUsingDirectories) @@ -167,116 +171,42 @@ false - - - {b5af91b3-64ea-44e1-84b0-d759e93758fb} - - - {df125891-eee9-4466-b903-f828fd272158} - - - {20d4035d-fd3f-4fd3-baba-97bc1c38dfc2} - - - {51e5736e-e1a3-4c94-abb7-e92ecef9c12e} - - - {7d4fc6eb-9497-4804-98f3-3eaedc896154} - - - {7daa99e7-8e07-4fef-8374-8ec04e395d2e} - - - {88982c27-5a7b-40a8-86e7-b3187b44b322} - - - {08fb23e4-1517-4edc-b682-da238cdaa83d} - - - {04a0c42f-23bb-469b-a9d8-ca49136adbd4} - - - {c55734a3-702c-4fa1-b950-32c8e169302f} - - - {ba568a33-98f9-4d2a-bfff-c065adcb447a} - - - - Create - Create - Create - Create - + + Create + Create + Create + Create + - + - - true - true - - - true - true - - - true - true - - - true - true - - - true - true - - - true - true - - - true - true - - - true - true - - - true - true - - - true - true - - - true - true - - - true - true - + + {7c5dbc42-27f6-4978-aabc-02ba77e2a7f0} + + + {7d4fc6eb-9497-4804-98f3-3eaedc896154} + + + {c55734a3-702c-4fa1-b950-32c8e169302f} + diff --git a/proj.wp8-xaml/AppComponent/Slippery WheelsComponent.vcxproj.filters b/proj.wp8-xaml/AppComponent/CCPPComponent.vcxproj.filters similarity index 61% rename from proj.wp8-xaml/AppComponent/Slippery WheelsComponent.vcxproj.filters rename to proj.wp8-xaml/AppComponent/CCPPComponent.vcxproj.filters index 04b763c..ec4cf74 100644 --- a/proj.wp8-xaml/AppComponent/Slippery WheelsComponent.vcxproj.filters +++ b/proj.wp8-xaml/AppComponent/CCPPComponent.vcxproj.filters @@ -1,13 +1,6 @@  - - - Classes - - - Classes - src @@ -23,15 +16,17 @@ src - - - - + Classes - - + + Classes - + + + src + + + src @@ -50,27 +45,31 @@ src + + Classes + + + Classes + + + src + - {facbd0ff-d271-46ef-8324-beff0cbcb424} + {ddb0f381-1dc4-44a0-ab28-0f672a551265} {6fcff44b-bb9f-4ed9-8553-558855bc91e3} - - - - - - - - - - - - + + + + + + + \ No newline at end of file diff --git a/proj.wp8-xaml/AppComponent/pch.h b/proj.wp8-xaml/AppComponent/pch.h deleted file mode 100644 index 5e0bbb9..0000000 --- a/proj.wp8-xaml/AppComponent/pch.h +++ /dev/null @@ -1,3 +0,0 @@ -#pragma once - -#include "cocos2d.h" diff --git a/proj.wp8-xaml/AppComponent/src/Cocos2dRenderer.cpp b/proj.wp8-xaml/AppComponent/src/Cocos2dRenderer.cpp index 4e74c6f..c3cd6ca 100644 --- a/proj.wp8-xaml/AppComponent/src/Cocos2dRenderer.cpp +++ b/proj.wp8-xaml/AppComponent/src/Cocos2dRenderer.cpp @@ -26,7 +26,7 @@ THE SOFTWARE. #include "Cocos2dRenderer.h" #include "cocos2d.h" #include "CCApplication.h" -#include "CCGLView.h" +#include "CCGLViewImpl-wp8.h" #include "AppDelegate.h" #include @@ -35,7 +35,6 @@ using namespace DirectX; using namespace Microsoft::WRL; using namespace Windows::Foundation; using namespace Windows::UI::Core; -using namespace PhoneDirect3DXamlAppComponent; USING_NS_CC; @@ -53,14 +52,14 @@ void Cocos2dRenderer::CreateGLResources() if(!mInitialized) { mInitialized = true; - GLView* glview = GLView::create("Test Cpp"); + GLViewImpl* glview = GLViewImpl::create("Test Cpp"); glview->Create(m_eglDisplay, m_eglContext, m_eglSurface, m_renderTargetSize.Width, m_renderTargetSize.Height,m_orientation); director->setOpenGLView(glview); - CCApplication::getInstance()->run(); glview->SetXamlEventDelegate(m_delegate); glview->SetXamlMessageBoxDelegate(m_messageBoxDelegate); glview->SetXamlEditBoxDelegate(m_editBoxDelegate); - } + CCApplication::getInstance()->run(); + } else { cocos2d::GL::invalidateStateCache(); @@ -71,7 +70,7 @@ void Cocos2dRenderer::CreateGLResources() director->getEventDispatcher()->dispatchEvent(&recreatedEvent); cocos2d::Application::getInstance()->applicationWillEnterForeground(); director->setGLDefaultValues(); - } + } m_loadingComplete = true; } @@ -102,14 +101,14 @@ IAsyncAction^ Cocos2dRenderer::OnSuspending() void Cocos2dRenderer::OnUpdateDevice() { - GLView* glview = GLView::sharedOpenGLView(); - glview->UpdateDevice(m_eglDisplay, m_eglContext, m_eglSurface); + //GLView* glview = GLView::sharedOpenGLView(); + GLViewImpl::sharedOpenGLView()->UpdateDevice(m_eglDisplay, m_eglContext, m_eglSurface); } void Cocos2dRenderer::OnOrientationChanged(Windows::Graphics::Display::DisplayOrientations orientation) { DirectXBase::OnOrientationChanged(orientation); - GLView::sharedOpenGLView()->UpdateOrientation(orientation); + GLViewImpl::sharedOpenGLView()->UpdateOrientation(orientation); } // return true if eglSwapBuffers was called by OnRender() @@ -117,8 +116,8 @@ bool Cocos2dRenderer::OnRender() { if(m_loadingComplete) { - GLView* glview = GLView::sharedOpenGLView(); - glview->Render(); + //GLView* glview = GLView::sharedOpenGLView(); + GLViewImpl::sharedOpenGLView()->Render(); return true; // eglSwapBuffers was called by glview->Render(); } return false; @@ -151,37 +150,42 @@ void Cocos2dRenderer::OnCocos2dKeyEvent(Cocos2dKeyEvent event) } -void Cocos2dRenderer::SetXamlEventDelegate(PhoneDirect3DXamlAppComponent::Cocos2dEventDelegate^ delegate) +void Cocos2dRenderer::SetXamlEventDelegate(Cocos2dEventDelegate^ delegate) { m_delegate = delegate; - GLView* eglView = GLView::sharedOpenGLView(); + GLViewImpl* eglView = GLViewImpl::sharedOpenGLView(); if(eglView) { eglView->SetXamlEventDelegate(delegate); } } -void Cocos2dRenderer::SetXamlMessageBoxDelegate(PhoneDirect3DXamlAppComponent::Cocos2dMessageBoxDelegate^ delegate) +void Cocos2dRenderer::SetXamlMessageBoxDelegate(Cocos2dMessageBoxDelegate^ delegate) { m_messageBoxDelegate = delegate; - GLView* eglView = GLView::sharedOpenGLView(); + GLViewImpl* eglView = GLViewImpl::sharedOpenGLView(); if(eglView) { eglView->SetXamlMessageBoxDelegate(delegate); } } -void Cocos2dRenderer::SetXamlEditBoxDelegate(PhoneDirect3DXamlAppComponent::Cocos2dEditBoxDelegate^ delegate) +void Cocos2dRenderer::SetXamlEditBoxDelegate(Cocos2dEditBoxDelegate^ delegate) { m_editBoxDelegate = delegate; - GLView* eglView = GLView::sharedOpenGLView(); + GLViewImpl* eglView = GLViewImpl::sharedOpenGLView(); if(eglView) { eglView->SetXamlEditBoxDelegate(delegate); } } - - - - +void Cocos2dRenderer::SetXamlOpenURLDelegate(Cocos2dOpenURLDelegate^ delegate) +{ + m_openURLDelegate = delegate; + Application* app = Application::getInstance(); + if (app) + { + app->SetXamlOpenURLDelegate(delegate); + } +} diff --git a/proj.wp8-xaml/AppComponent/src/Cocos2dRenderer.h b/proj.wp8-xaml/AppComponent/src/Cocos2dRenderer.h index 41c3ddd..b179931 100644 --- a/proj.wp8-xaml/AppComponent/src/Cocos2dRenderer.h +++ b/proj.wp8-xaml/AppComponent/src/Cocos2dRenderer.h @@ -41,10 +41,11 @@ ref class Cocos2dRenderer sealed : public DirectXBase void OnBackButton(); void OnKeyPressed(Platform::String^ text); - void OnCocos2dKeyEvent(PhoneDirect3DXamlAppComponent::Cocos2dKeyEvent event); - void SetXamlEventDelegate(PhoneDirect3DXamlAppComponent::Cocos2dEventDelegate^ delegate); - void SetXamlMessageBoxDelegate(PhoneDirect3DXamlAppComponent::Cocos2dMessageBoxDelegate^ delegate); - void SetXamlEditBoxDelegate(PhoneDirect3DXamlAppComponent::Cocos2dEditBoxDelegate^ delegate); + void OnCocos2dKeyEvent(cocos2d::Cocos2dKeyEvent event); + void SetXamlEventDelegate(cocos2d::Cocos2dEventDelegate^ delegate); + void SetXamlMessageBoxDelegate(cocos2d::Cocos2dMessageBoxDelegate^ delegate); + void SetXamlEditBoxDelegate(cocos2d::Cocos2dEditBoxDelegate^ delegate); + void SetXamlOpenURLDelegate(cocos2d::Cocos2dOpenURLDelegate^ delegate); Windows::Foundation::IAsyncAction^ OnSuspending(); void Connect(); @@ -58,9 +59,10 @@ ref class Cocos2dRenderer sealed : public DirectXBase bool m_loadingComplete; bool mInitialized; - PhoneDirect3DXamlAppComponent::Cocos2dEventDelegate^ m_delegate; - PhoneDirect3DXamlAppComponent::Cocos2dMessageBoxDelegate^ m_messageBoxDelegate; - PhoneDirect3DXamlAppComponent::Cocos2dEditBoxDelegate^ m_editBoxDelegate; + cocos2d::Cocos2dEventDelegate^ m_delegate; + cocos2d::Cocos2dMessageBoxDelegate^ m_messageBoxDelegate; + cocos2d::Cocos2dEditBoxDelegate^ m_editBoxDelegate; + cocos2d::Cocos2dOpenURLDelegate^ m_openURLDelegate; // The AppDelegate for the Cocos2D app AppDelegate* mApp; diff --git a/proj.wp8-xaml/AppComponent/src/Direct3DContentProvider.cpp b/proj.wp8-xaml/AppComponent/src/Direct3DContentProvider.cpp index 323d0b5..7bfdf80 100644 --- a/proj.wp8-xaml/AppComponent/src/Direct3DContentProvider.cpp +++ b/proj.wp8-xaml/AppComponent/src/Direct3DContentProvider.cpp @@ -26,7 +26,7 @@ THE SOFTWARE. #include "Direct3DContentProvider.h" #include "Direct3DInterop.h" -using namespace PhoneDirect3DXamlAppComponent; +using namespace cocos2d; Direct3DContentProvider::Direct3DContentProvider(Direct3DInterop^ controller) : m_controller(controller) diff --git a/proj.wp8-xaml/AppComponent/src/Direct3DContentProvider.h b/proj.wp8-xaml/AppComponent/src/Direct3DContentProvider.h index 7a9d941..830496c 100644 --- a/proj.wp8-xaml/AppComponent/src/Direct3DContentProvider.h +++ b/proj.wp8-xaml/AppComponent/src/Direct3DContentProvider.h @@ -37,7 +37,7 @@ class Direct3DContentProvider : public Microsoft::WRL::RuntimeClass< IDrawingSurfaceBackgroundContentProviderNative> { public: - Direct3DContentProvider(PhoneDirect3DXamlAppComponent::Direct3DInterop^ controller); + Direct3DContentProvider(cocos2d::Direct3DInterop^ controller); // IDrawingSurfaceContentProviderNative HRESULT STDMETHODCALLTYPE Connect(_In_ IDrawingSurfaceRuntimeHostNative* host, _In_ ID3D11Device1* device); @@ -47,6 +47,6 @@ class Direct3DContentProvider : public Microsoft::WRL::RuntimeClass< HRESULT STDMETHODCALLTYPE Draw(_In_ ID3D11Device1* device, _In_ ID3D11DeviceContext1* context, _In_ ID3D11RenderTargetView* renderTargetView); private: - PhoneDirect3DXamlAppComponent::Direct3DInterop^ m_controller; + cocos2d::Direct3DInterop^ m_controller; Microsoft::WRL::ComPtr m_host; }; diff --git a/proj.wp8-xaml/AppComponent/src/Direct3DInterop.cpp b/proj.wp8-xaml/AppComponent/src/Direct3DInterop.cpp index b01ab9f..53c14cd 100644 --- a/proj.wp8-xaml/AppComponent/src/Direct3DInterop.cpp +++ b/proj.wp8-xaml/AppComponent/src/Direct3DInterop.cpp @@ -35,9 +35,8 @@ using namespace Windows::Phone::Graphics::Interop; using namespace Windows::Phone::Input::Interop; using namespace Windows::Graphics::Display; using namespace DirectX; -using namespace PhoneDirect3DXamlAppComponent; -namespace PhoneDirect3DXamlAppComponent +namespace cocos2d { Direct3DInterop::Direct3DInterop(Windows::Graphics::Display::DisplayOrientations orientation) @@ -90,43 +89,57 @@ IAsyncAction^ Direct3DInterop::OnSuspending() void Direct3DInterop::OnBackKeyPress() { - cocos2d::GLView::sharedOpenGLView()->QueueBackKeyPress(); + cocos2d::GLViewImpl::sharedOpenGLView()->QueueBackKeyPress(); } // Pointer Event Handlers. We need to queue up pointer events to pass them to the drawing thread void Direct3DInterop::OnPointerPressed(DrawingSurfaceManipulationHost^ sender, PointerEventArgs^ args) { - cocos2d::GLView::sharedOpenGLView()->QueuePointerEvent(cocos2d::PointerEventType::PointerPressed, args); + cocos2d::GLViewImpl::sharedOpenGLView()->QueuePointerEvent(cocos2d::PointerEventType::PointerPressed, args); } void Direct3DInterop::OnPointerMoved(DrawingSurfaceManipulationHost^ sender, PointerEventArgs^ args) { - cocos2d::GLView::sharedOpenGLView()->QueuePointerEvent(cocos2d::PointerEventType::PointerMoved, args); + cocos2d::GLViewImpl::sharedOpenGLView()->QueuePointerEvent(cocos2d::PointerEventType::PointerMoved, args); } void Direct3DInterop::OnPointerReleased(DrawingSurfaceManipulationHost^ sender, PointerEventArgs^ args) { - cocos2d::GLView::sharedOpenGLView()->QueuePointerEvent(cocos2d::PointerEventType::PointerReleased, args); + cocos2d::GLViewImpl::sharedOpenGLView()->QueuePointerEvent(cocos2d::PointerEventType::PointerReleased, args); +} + +void Direct3DInterop::OnOrientationChanged(Windows::Graphics::Display::DisplayOrientations orientation) +{ + std::shared_ptr e(new cocos2d::CustomInputEvent([this, orientation]() + { + m_renderer->OnOrientationChanged(orientation); + })); + cocos2d::GLViewImpl::sharedOpenGLView()->QueueEvent(e); } void Direct3DInterop::OnCocos2dKeyEvent(Cocos2dKeyEvent key) { std::shared_ptr e(new cocos2d::KeyboardEvent(key)); - cocos2d::GLView::sharedOpenGLView()->QueueEvent(e); + cocos2d::GLViewImpl::sharedOpenGLView()->QueueEvent(e); } void Direct3DInterop::OnCocos2dKeyEvent(Cocos2dKeyEvent key, Platform::String^ text) { std::shared_ptr e(new cocos2d::KeyboardEvent(key,text)); - cocos2d::GLView::sharedOpenGLView()->QueueEvent(e); + cocos2d::GLViewImpl::sharedOpenGLView()->QueueEvent(e); } void Direct3DInterop::OnCocos2dEditboxEvent(Object^ sender, Platform::String^ args, Windows::Foundation::EventHandler^ handler) { std::shared_ptr e(new EditBoxEvent(sender, args, handler)); - cocos2d::GLView::sharedOpenGLView()->QueueEvent(e); + cocos2d::GLViewImpl::sharedOpenGLView()->QueueEvent(e); +} + +void Direct3DInterop::OnCocos2dOpenURL(Platform::String^ url) +{ + m_openURLDelegate->Invoke(url); } @@ -142,15 +155,8 @@ HRESULT Direct3DInterop::PrepareResources(_In_ const LARGE_INTEGER* presentTarge HRESULT Direct3DInterop::Draw(_In_ ID3D11Device1* device, _In_ ID3D11DeviceContext1* context, _In_ ID3D11RenderTargetView* renderTargetView) { m_renderer->UpdateDevice(device, context, renderTargetView); -#if 0 - if(mCurrentOrientation != WindowOrientation) - { - mCurrentOrientation = WindowOrientation; - m_renderer->OnOrientationChanged(mCurrentOrientation); - } -#endif // 0 - cocos2d::GLView::sharedOpenGLView()->ProcessEvents(); + cocos2d::GLViewImpl::sharedOpenGLView()->ProcessEvents(); m_renderer->Render(); RequestAdditionalFrame(); return S_OK; @@ -174,12 +180,19 @@ void Direct3DInterop::SetCocos2dEditBoxDelegate(Cocos2dEditBoxDelegate ^ delegat m_renderer->SetXamlEditBoxDelegate(delegate); } +void Direct3DInterop::SetCocos2dOpenURLDelegate(Cocos2dOpenURLDelegate ^ delegate) +{ + m_openURLDelegate = delegate; + m_renderer->SetXamlOpenURLDelegate(delegate); +} + bool Direct3DInterop::SendCocos2dEvent(Cocos2dEvent event) { + Platform::String^ str; if(m_delegate) { - m_delegate->Invoke(event); + m_delegate->Invoke(event, str); return true; } return false; diff --git a/proj.wp8-xaml/AppComponent/src/Direct3DInterop.h b/proj.wp8-xaml/AppComponent/src/Direct3DInterop.h index acda488..ff87c60 100644 --- a/proj.wp8-xaml/AppComponent/src/Direct3DInterop.h +++ b/proj.wp8-xaml/AppComponent/src/Direct3DInterop.h @@ -34,7 +34,7 @@ THE SOFTWARE. #include -namespace PhoneDirect3DXamlAppComponent +namespace cocos2d { public delegate void RequestAdditionalFrameHandler(); @@ -60,6 +60,8 @@ public ref class Direct3DInterop sealed : public Windows::Phone::Input::Interop: void OnCocos2dKeyEvent(Cocos2dKeyEvent key); void OnCocos2dKeyEvent(Cocos2dKeyEvent key, Platform::String^ text); void OnCocos2dEditboxEvent(Platform::Object^ sender, Platform::String^ args, Windows::Foundation::EventHandler^ handler); + void OnOrientationChanged(Windows::Graphics::Display::DisplayOrientations orientation); + void OnCocos2dOpenURL(Platform::String^ url); property Windows::Graphics::Display::DisplayOrientations WindowOrientation; property Windows::Foundation::Size WindowBounds; @@ -67,6 +69,7 @@ public ref class Direct3DInterop sealed : public Windows::Phone::Input::Interop: void SetCocos2dEventDelegate(Cocos2dEventDelegate^ delegate); void SetCocos2dMessageBoxDelegate(Cocos2dMessageBoxDelegate ^ delegate); void SetCocos2dEditBoxDelegate(Cocos2dEditBoxDelegate ^ delegate); + void SetCocos2dOpenURLDelegate(Cocos2dOpenURLDelegate ^ delegate); protected: @@ -90,6 +93,7 @@ public ref class Direct3DInterop sealed : public Windows::Phone::Input::Interop: Cocos2dEventDelegate^ m_delegate; Cocos2dMessageBoxDelegate^ m_messageBoxDelegate; Cocos2dEditBoxDelegate^ m_editBoxDelegate; + Cocos2dOpenURLDelegate^ m_openURLDelegate; }; diff --git a/proj.wp8-xaml/AppComponent/src/EditBoxEvent.cpp b/proj.wp8-xaml/AppComponent/src/EditBoxEvent.cpp index 992dfe2..8837b68 100644 --- a/proj.wp8-xaml/AppComponent/src/EditBoxEvent.cpp +++ b/proj.wp8-xaml/AppComponent/src/EditBoxEvent.cpp @@ -26,9 +26,9 @@ THE SOFTWARE. using namespace Platform; -namespace PhoneDirect3DXamlAppComponent +namespace cocos2d { - EditBoxEvent::EditBoxEvent( Object^ sender, Platform::String^ arg, Windows::Foundation::EventHandler^ handle ): + EditBoxEvent::EditBoxEvent( Platform::Object^ sender, Platform::String^ arg, Windows::Foundation::EventHandler^ handle ): m_sender(sender), m_args(arg), m_handler(handle) diff --git a/proj.wp8-xaml/AppComponent/src/EditBoxEvent.h b/proj.wp8-xaml/AppComponent/src/EditBoxEvent.h index e9a7105..ddf206e 100644 --- a/proj.wp8-xaml/AppComponent/src/EditBoxEvent.h +++ b/proj.wp8-xaml/AppComponent/src/EditBoxEvent.h @@ -29,7 +29,7 @@ THE SOFTWARE. #include -namespace PhoneDirect3DXamlAppComponent +namespace cocos2d { class EditBoxEvent : public cocos2d::InputEvent { diff --git a/proj.wp8-xaml/AppComponent/src/pch.cpp b/proj.wp8-xaml/AppComponent/src/pch.cpp new file mode 100644 index 0000000..bcb5590 --- /dev/null +++ b/proj.wp8-xaml/AppComponent/src/pch.cpp @@ -0,0 +1 @@ +#include "pch.h" diff --git a/proj.wp8-xaml/AppComponent/src/pch.h b/proj.wp8-xaml/AppComponent/src/pch.h new file mode 100644 index 0000000..5dbe96e --- /dev/null +++ b/proj.wp8-xaml/AppComponent/src/pch.h @@ -0,0 +1,11 @@ +#pragma once + +#include "targetver.h" + +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#endif + +#include +#include "cocos2d.h" +#include "cocos-ext.h" \ No newline at end of file diff --git a/proj.wp8-xaml/CCPP.sln b/proj.wp8-xaml/CCPP.sln new file mode 100644 index 0000000..90d8809 --- /dev/null +++ b/proj.wp8-xaml/CCPP.sln @@ -0,0 +1,141 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.30723.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CCPP", "App\CCPP.csproj", "{83CC88FE-7E79-4E1E-A129-742987130B5C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CCPPComponent", "AppComponent\CCPPComponent.vcxproj", "{60EC6889-C3C4-45AD-A006-47D9EE689212}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "External", "External", "{1CD6A64E-A2B6-49BC-A5DC-25122C07166A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Box2D", "..\cocos2d\external\Box2D\proj.wp8\Box2D.vcxproj", "{C55734A3-702C-4FA1-B950-32C8E169302F}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libSpine", "..\cocos2d\cocos\editor-support\spine\proj.wp8\libSpine.vcxproj", "{7D4FC6EB-9497-4804-98F3-3EAEDC896154}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d_wp8", "..\cocos2d\cocos\2d\libcocos2d_wp8.vcxproj", "{7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}" +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|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|ARM = Release|ARM + Release|Mixed Platforms = Release|Mixed Platforms + Release|Win32 = Release|Win32 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|ARM.ActiveCfg = Debug|ARM + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|ARM.Build.0 = Debug|ARM + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|ARM.Deploy.0 = Debug|ARM + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|Mixed Platforms.Deploy.0 = Debug|x86 + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|Win32.ActiveCfg = Debug|x86 + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|Win32.Build.0 = Debug|x86 + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|Win32.Deploy.0 = Debug|x86 + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|x86.ActiveCfg = Debug|x86 + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|x86.Build.0 = Debug|x86 + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|x86.Deploy.0 = Debug|x86 + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|Any CPU.Build.0 = Release|Any CPU + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|Any CPU.Deploy.0 = Release|Any CPU + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|ARM.ActiveCfg = Release|ARM + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|ARM.Build.0 = Release|ARM + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|ARM.Deploy.0 = Release|ARM + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|Mixed Platforms.Build.0 = Release|x86 + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|Mixed Platforms.Deploy.0 = Release|x86 + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|Win32.ActiveCfg = Release|x86 + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|Win32.Build.0 = Release|x86 + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|Win32.Deploy.0 = Release|x86 + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|x86.ActiveCfg = Release|x86 + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|x86.Build.0 = Release|x86 + {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|x86.Deploy.0 = Release|x86 + {60EC6889-C3C4-45AD-A006-47D9EE689212}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {60EC6889-C3C4-45AD-A006-47D9EE689212}.Debug|ARM.ActiveCfg = Debug|ARM + {60EC6889-C3C4-45AD-A006-47D9EE689212}.Debug|ARM.Build.0 = Debug|ARM + {60EC6889-C3C4-45AD-A006-47D9EE689212}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {60EC6889-C3C4-45AD-A006-47D9EE689212}.Debug|Mixed Platforms.Build.0 = Debug|Win32 + {60EC6889-C3C4-45AD-A006-47D9EE689212}.Debug|Win32.ActiveCfg = Debug|Win32 + {60EC6889-C3C4-45AD-A006-47D9EE689212}.Debug|Win32.Build.0 = Debug|Win32 + {60EC6889-C3C4-45AD-A006-47D9EE689212}.Debug|x86.ActiveCfg = Debug|Win32 + {60EC6889-C3C4-45AD-A006-47D9EE689212}.Debug|x86.Build.0 = Debug|Win32 + {60EC6889-C3C4-45AD-A006-47D9EE689212}.Release|Any CPU.ActiveCfg = Release|Win32 + {60EC6889-C3C4-45AD-A006-47D9EE689212}.Release|ARM.ActiveCfg = Release|ARM + {60EC6889-C3C4-45AD-A006-47D9EE689212}.Release|ARM.Build.0 = Release|ARM + {60EC6889-C3C4-45AD-A006-47D9EE689212}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {60EC6889-C3C4-45AD-A006-47D9EE689212}.Release|Mixed Platforms.Build.0 = Release|Win32 + {60EC6889-C3C4-45AD-A006-47D9EE689212}.Release|Win32.ActiveCfg = Release|Win32 + {60EC6889-C3C4-45AD-A006-47D9EE689212}.Release|Win32.Build.0 = Release|Win32 + {60EC6889-C3C4-45AD-A006-47D9EE689212}.Release|x86.ActiveCfg = Release|Win32 + {60EC6889-C3C4-45AD-A006-47D9EE689212}.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|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|x86.ActiveCfg = Release|Win32 + {C55734A3-702C-4FA1-B950-32C8E169302F}.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|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|x86.ActiveCfg = Release|Win32 + {7D4FC6EB-9497-4804-98F3-3EAEDC896154}.Release|x86.Build.0 = Release|Win32 + {7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Debug|ARM.ActiveCfg = Debug|ARM + {7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Debug|ARM.Build.0 = Debug|ARM + {7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Debug|Mixed Platforms.Build.0 = Debug|Win32 + {7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Debug|Win32.ActiveCfg = Debug|Win32 + {7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Debug|Win32.Build.0 = Debug|Win32 + {7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Debug|x86.ActiveCfg = Debug|Win32 + {7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Debug|x86.Build.0 = Debug|Win32 + {7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Release|Any CPU.ActiveCfg = Release|Win32 + {7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Release|ARM.ActiveCfg = Release|ARM + {7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Release|ARM.Build.0 = Release|ARM + {7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Release|Mixed Platforms.Build.0 = Release|Win32 + {7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Release|Win32.ActiveCfg = Release|Win32 + {7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Release|Win32.Build.0 = Release|Win32 + {7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Release|x86.ActiveCfg = Release|Win32 + {7C5DBC42-27F6-4978-AABC-02BA77E2A7F0}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {C55734A3-702C-4FA1-B950-32C8E169302F} = {1CD6A64E-A2B6-49BC-A5DC-25122C07166A} + {7D4FC6EB-9497-4804-98F3-3EAEDC896154} = {1CD6A64E-A2B6-49BC-A5DC-25122C07166A} + EndGlobalSection +EndGlobal diff --git a/proj.wp8-xaml/Slippery Wheels.sln b/proj.wp8-xaml/Slippery Wheels.sln deleted file mode 100644 index b7e6aa4..0000000 --- a/proj.wp8-xaml/Slippery Wheels.sln +++ /dev/null @@ -1,293 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2012 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Slippery Wheels", "App\Slippery Wheels.csproj", "{83CC88FE-7E79-4E1E-A129-742987130B5C}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Slippery WheelsComponent", "AppComponent\Slippery WheelsComponent.vcxproj", "{60EC6889-C3C4-45AD-A006-47D9EE689212}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d", "..\cocos2d\cocos\2d\cocos2d_wp8.vcxproj", "{B5AF91B3-64EA-44E1-84B0-D759E93758FB}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CocosDenshion", "..\cocos2d\cocos\audio\proj.wp8\CocosDenshion.vcxproj", "{DF125891-EEE9-4466-B903-F828FD272158}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "chipmunk", "..\cocos2d\external\chipmunk\proj.wp8\chipmunk.vcxproj", "{BA568A33-98F9-4D2A-BFFF-C065ADCB447A}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libExtensions", "..\cocos2d\extensions\proj.wp8\libExtensions.vcxproj", "{04A0C42F-23BB-469B-A9D8-CA49136ADBD4}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libCocosBuilder", "..\cocos2d\cocos\editor-support\cocosbuilder\proj.wp8\libCocosBuilder.vcxproj", "{20D4035D-FD3F-4FD3-BABA-97BC1C38DFC2}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libCocosStudio", "..\cocos2d\cocos\editor-support\cocostudio\proj.wp8\libCocosStudio.vcxproj", "{51E5736E-E1A3-4C94-ABB7-E92ECEF9C12E}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libSpine", "..\cocos2d\cocos\editor-support\spine\proj.wp8\libSpine.vcxproj", "{7D4FC6EB-9497-4804-98F3-3EAEDC896154}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libLocalStorage", "..\cocos2d\cocos\storage\local-storage\proj.wp8\libLocalStorage.vcxproj", "{88982C27-5A7B-40A8-86E7-B3187B44B322}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libGUI", "..\cocos2d\cocos\ui\proj.wp8\libGUI.vcxproj", "{08FB23E4-1517-4EDC-B682-DA238CDAA83D}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Box2D", "..\cocos2d\external\Box2D\proj.wp8\Box2D.vcxproj", "{C55734A3-702C-4FA1-B950-32C8E169302F}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libNetwork", "..\cocos2d\cocos\network\proj.wp8\libNetwork.vcxproj", "{7DAA99E7-8E07-4FEF-8374-8EC04E395D2E}" -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|x86 = Debug|x86 - Release|Any CPU = Release|Any CPU - Release|ARM = Release|ARM - Release|Mixed Platforms = Release|Mixed Platforms - Release|Win32 = Release|Win32 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|Any CPU.Deploy.0 = Debug|Any CPU - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|ARM.ActiveCfg = Debug|ARM - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|ARM.Build.0 = Debug|ARM - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|ARM.Deploy.0 = Debug|ARM - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|Mixed Platforms.Deploy.0 = Debug|x86 - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|Win32.ActiveCfg = Debug|x86 - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|Win32.Build.0 = Debug|x86 - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|Win32.Deploy.0 = Debug|x86 - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|x86.ActiveCfg = Debug|x86 - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|x86.Build.0 = Debug|x86 - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Debug|x86.Deploy.0 = Debug|x86 - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|Any CPU.Build.0 = Release|Any CPU - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|Any CPU.Deploy.0 = Release|Any CPU - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|ARM.ActiveCfg = Release|ARM - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|ARM.Build.0 = Release|ARM - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|ARM.Deploy.0 = Release|ARM - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|Mixed Platforms.Build.0 = Release|x86 - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|Mixed Platforms.Deploy.0 = Release|x86 - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|Win32.ActiveCfg = Release|x86 - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|Win32.Build.0 = Release|x86 - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|Win32.Deploy.0 = Release|x86 - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|x86.ActiveCfg = Release|x86 - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|x86.Build.0 = Release|x86 - {83CC88FE-7E79-4E1E-A129-742987130B5C}.Release|x86.Deploy.0 = Release|x86 - {60EC6889-C3C4-45AD-A006-47D9EE689212}.Debug|Any CPU.ActiveCfg = Debug|Win32 - {60EC6889-C3C4-45AD-A006-47D9EE689212}.Debug|ARM.ActiveCfg = Debug|ARM - {60EC6889-C3C4-45AD-A006-47D9EE689212}.Debug|ARM.Build.0 = Debug|ARM - {60EC6889-C3C4-45AD-A006-47D9EE689212}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 - {60EC6889-C3C4-45AD-A006-47D9EE689212}.Debug|Mixed Platforms.Build.0 = Debug|Win32 - {60EC6889-C3C4-45AD-A006-47D9EE689212}.Debug|Win32.ActiveCfg = Debug|Win32 - {60EC6889-C3C4-45AD-A006-47D9EE689212}.Debug|Win32.Build.0 = Debug|Win32 - {60EC6889-C3C4-45AD-A006-47D9EE689212}.Debug|x86.ActiveCfg = Debug|Win32 - {60EC6889-C3C4-45AD-A006-47D9EE689212}.Debug|x86.Build.0 = Debug|Win32 - {60EC6889-C3C4-45AD-A006-47D9EE689212}.Release|Any CPU.ActiveCfg = Release|Win32 - {60EC6889-C3C4-45AD-A006-47D9EE689212}.Release|ARM.ActiveCfg = Release|ARM - {60EC6889-C3C4-45AD-A006-47D9EE689212}.Release|ARM.Build.0 = Release|ARM - {60EC6889-C3C4-45AD-A006-47D9EE689212}.Release|Mixed Platforms.ActiveCfg = Release|Win32 - {60EC6889-C3C4-45AD-A006-47D9EE689212}.Release|Mixed Platforms.Build.0 = Release|Win32 - {60EC6889-C3C4-45AD-A006-47D9EE689212}.Release|Win32.ActiveCfg = Release|Win32 - {60EC6889-C3C4-45AD-A006-47D9EE689212}.Release|Win32.Build.0 = Release|Win32 - {60EC6889-C3C4-45AD-A006-47D9EE689212}.Release|x86.ActiveCfg = Release|Win32 - {60EC6889-C3C4-45AD-A006-47D9EE689212}.Release|x86.Build.0 = Release|Win32 - {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|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|x86.ActiveCfg = Release|Win32 - {B5AF91B3-64EA-44E1-84B0-D759E93758FB}.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|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|x86.ActiveCfg = Release|Win32 - {DF125891-EEE9-4466-B903-F828FD272158}.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|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|x86.ActiveCfg = Release|Win32 - {BA568A33-98F9-4D2A-BFFF-C065ADCB447A}.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|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|x86.ActiveCfg = Release|Win32 - {04A0C42F-23BB-469B-A9D8-CA49136ADBD4}.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|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|x86.ActiveCfg = Release|Win32 - {20D4035D-FD3F-4FD3-BABA-97BC1C38DFC2}.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|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|x86.ActiveCfg = Release|Win32 - {51E5736E-E1A3-4C94-ABB7-E92ECEF9C12E}.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|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|x86.ActiveCfg = Release|Win32 - {7D4FC6EB-9497-4804-98F3-3EAEDC896154}.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|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|x86.ActiveCfg = Release|Win32 - {88982C27-5A7B-40A8-86E7-B3187B44B322}.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|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|x86.ActiveCfg = Release|Win32 - {08FB23E4-1517-4EDC-B682-DA238CDAA83D}.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|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|x86.ActiveCfg = Release|Win32 - {C55734A3-702C-4FA1-B950-32C8E169302F}.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|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|x86.ActiveCfg = Release|Win32 - {7DAA99E7-8E07-4FEF-8374-8EC04E395D2E}.Release|x86.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal