Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Creation

  • Loading branch information...
commit 7aa4349531ff2b167c9ac96dec7dbcc9262f184c 0 parents
@jpsarda authored
Showing with 32,142 additions and 0 deletions.
  1. +945 −0 DestructibleGround.xcodeproj/project.pbxproj
  2. +7 −0 DestructibleGround.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  3. BIN  DestructibleGround.xcodeproj/project.xcworkspace/xcuserdata/jpsarda.xcuserdatad/UserInterfaceState.xcuserstate
  4. +14 −0 DestructibleGround.xcodeproj/xcuserdata/jpsarda.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist
  5. +86 −0 DestructibleGround.xcodeproj/xcuserdata/jpsarda.xcuserdatad/xcschemes/DestructibleGround.xcscheme
  6. +22 −0 DestructibleGround.xcodeproj/xcuserdata/jpsarda.xcuserdatad/xcschemes/xcschememanagement.plist
  7. +20 −0 DestructibleGround/AppDelegate.h
  8. +157 −0 DestructibleGround/AppDelegate.m
  9. +20 −0 DestructibleGround/AsyncObject.h
  10. +22 −0 DestructibleGround/AsyncObject.m
  11. +141 −0 DestructibleGround/CCMutableTexture2D.h
  12. +749 −0 DestructibleGround/CCMutableTexture2D.m
  13. +22 −0 DestructibleGround/CreditsLayer.h
  14. +149 −0 DestructibleGround/CreditsLayer.m
  15. +28 −0 DestructibleGround/GameConfig.h
  16. +27 −0 DestructibleGround/GameLayer.h
  17. +278 −0 DestructibleGround/GameLayer.m
  18. +14 −0 DestructibleGround/Prefix.pch
  19. BIN  DestructibleGround/Resources/Default.png
  20. BIN  DestructibleGround/Resources/Icon-72.png
  21. BIN  DestructibleGround/Resources/Icon-Small-50.png
  22. BIN  DestructibleGround/Resources/Icon-Small.png
  23. BIN  DestructibleGround/Resources/Icon-Small@2x.png
  24. BIN  DestructibleGround/Resources/Icon.png
  25. BIN  DestructibleGround/Resources/Icon@2x.png
  26. +48 −0 DestructibleGround/Resources/Info.plist
  27. BIN  DestructibleGround/Resources/back.png
  28. BIN  DestructibleGround/Resources/fps_images.png
  29. BIN  DestructibleGround/Resources/iTunesArtwork
  30. BIN  DestructibleGround/Resources/info.png
  31. BIN  DestructibleGround/Resources/microminers.png
  32. BIN  DestructibleGround/Resources/miner.png
  33. BIN  DestructibleGround/Resources/twitter.png
  34. +16 −0 DestructibleGround/RootViewController.h
  35. +153 −0 DestructibleGround/RootViewController.m
  36. BIN  DestructibleGround/ground_vertical.png
  37. +44 −0 DestructibleGround/libs/FontLabel/FontLabel.h
  38. +195 −0 DestructibleGround/libs/FontLabel/FontLabel.m
  39. +69 −0 DestructibleGround/libs/FontLabel/FontLabelStringDrawing.h
  40. +892 −0 DestructibleGround/libs/FontLabel/FontLabelStringDrawing.m
  41. +85 −0 DestructibleGround/libs/FontLabel/FontManager.h
  42. +123 −0 DestructibleGround/libs/FontLabel/FontManager.m
  43. +77 −0 DestructibleGround/libs/FontLabel/ZAttributedString.h
  44. +597 −0 DestructibleGround/libs/FontLabel/ZAttributedString.m
  45. +24 −0 DestructibleGround/libs/FontLabel/ZAttributedStringPrivate.h
  46. +47 −0 DestructibleGround/libs/FontLabel/ZFont.h
  47. +170 −0 DestructibleGround/libs/FontLabel/ZFont.m
  48. +79 −0 DestructibleGround/libs/LICENSE_FontLabel.txt
  49. +23 −0 DestructibleGround/libs/LICENSE_cocos2d.txt
  50. +195 −0 DestructibleGround/libs/cocos2d/CCAction.h
  51. +360 −0 DestructibleGround/libs/cocos2d/CCAction.m
  52. +73 −0 DestructibleGround/libs/cocos2d/CCActionCamera.h
  53. +147 −0 DestructibleGround/libs/cocos2d/CCActionCamera.m
  54. +159 −0 DestructibleGround/libs/cocos2d/CCActionEase.h
  55. +534 −0 DestructibleGround/libs/cocos2d/CCActionEase.m
  56. +165 −0 DestructibleGround/libs/cocos2d/CCActionGrid.h
  57. +386 −0 DestructibleGround/libs/cocos2d/CCActionGrid.m
  58. +208 −0 DestructibleGround/libs/cocos2d/CCActionGrid3D.h
  59. +659 −0 DestructibleGround/libs/cocos2d/CCActionGrid3D.m
  60. +205 −0 DestructibleGround/libs/cocos2d/CCActionInstant.h
  61. +477 −0 DestructibleGround/libs/cocos2d/CCActionInstant.m
  62. +421 −0 DestructibleGround/libs/cocos2d/CCActionInterval.h
  63. +1,355 −0 DestructibleGround/libs/cocos2d/CCActionInterval.m
  64. +111 −0 DestructibleGround/libs/cocos2d/CCActionManager.h
  65. +345 −0 DestructibleGround/libs/cocos2d/CCActionManager.m
  66. +42 −0 DestructibleGround/libs/cocos2d/CCActionPageTurn3D.h
  67. +86 −0 DestructibleGround/libs/cocos2d/CCActionPageTurn3D.m
  68. +59 −0 DestructibleGround/libs/cocos2d/CCActionProgressTimer.h
  69. +103 −0 DestructibleGround/libs/cocos2d/CCActionProgressTimer.m
  70. +211 −0 DestructibleGround/libs/cocos2d/CCActionTiledGrid.h
  71. +768 −0 DestructibleGround/libs/cocos2d/CCActionTiledGrid.m
  72. +62 −0 DestructibleGround/libs/cocos2d/CCActionTween.h
  73. +72 −0 DestructibleGround/libs/cocos2d/CCActionTween.m
  74. +95 −0 DestructibleGround/libs/cocos2d/CCAnimation.h
  75. +107 −0 DestructibleGround/libs/cocos2d/CCAnimation.m
  76. +64 −0 DestructibleGround/libs/cocos2d/CCAnimationCache.h
  77. +101 −0 DestructibleGround/libs/cocos2d/CCAnimationCache.m
  78. +93 −0 DestructibleGround/libs/cocos2d/CCAtlasNode.h
  79. +211 −0 DestructibleGround/libs/cocos2d/CCAtlasNode.m
  80. +51 −0 DestructibleGround/libs/cocos2d/CCBlockSupport.h
  81. +46 −0 DestructibleGround/libs/cocos2d/CCBlockSupport.m
  82. +95 −0 DestructibleGround/libs/cocos2d/CCCamera.h
  83. +131 −0 DestructibleGround/libs/cocos2d/CCCamera.m
  84. +116 −0 DestructibleGround/libs/cocos2d/CCConfiguration.h
  85. +193 −0 DestructibleGround/libs/cocos2d/CCConfiguration.m
  86. +309 −0 DestructibleGround/libs/cocos2d/CCDirector.h
  87. +565 −0 DestructibleGround/libs/cocos2d/CCDirector.m
  88. +92 −0 DestructibleGround/libs/cocos2d/CCDrawingPrimitives.h
  89. +272 −0 DestructibleGround/libs/cocos2d/CCDrawingPrimitives.m
  90. +43 −0 DestructibleGround/libs/cocos2d/CCGrabber.h
  91. +95 −0 DestructibleGround/libs/cocos2d/CCGrabber.m
  92. +121 −0 DestructibleGround/libs/cocos2d/CCGrid.h
  93. +571 −0 DestructibleGround/libs/cocos2d/CCGrid.m
  94. +57 −0 DestructibleGround/libs/cocos2d/CCLabelAtlas.h
  95. +163 −0 DestructibleGround/libs/cocos2d/CCLabelAtlas.m
  96. +178 −0 DestructibleGround/libs/cocos2d/CCLabelBMFont.h
  97. +669 −0 DestructibleGround/libs/cocos2d/CCLabelBMFont.m
  98. +78 −0 DestructibleGround/libs/cocos2d/CCLabelTTF.h
  99. +141 −0 DestructibleGround/libs/cocos2d/CCLabelTTF.m
  100. +277 −0 DestructibleGround/libs/cocos2d/CCLayer.h
  101. +614 −0 DestructibleGround/libs/cocos2d/CCLayer.m
  102. +93 −0 DestructibleGround/libs/cocos2d/CCMenu.h
  103. +527 −0 DestructibleGround/libs/cocos2d/CCMenu.m
  104. +377 −0 DestructibleGround/libs/cocos2d/CCMenuItem.h
  105. +795 −0 DestructibleGround/libs/cocos2d/CCMenuItem.m
  106. +67 −0 DestructibleGround/libs/cocos2d/CCMotionStreak.h
  107. +104 −0 DestructibleGround/libs/cocos2d/CCMotionStreak.m
  108. +529 −0 DestructibleGround/libs/cocos2d/CCNode.h
  109. +926 −0 DestructibleGround/libs/cocos2d/CCNode.m
  110. +50 −0 DestructibleGround/libs/cocos2d/CCParallaxNode.h
  111. +161 −0 DestructibleGround/libs/cocos2d/CCParallaxNode.m
  112. +111 −0 DestructibleGround/libs/cocos2d/CCParticleExamples.h
  113. +926 −0 DestructibleGround/libs/cocos2d/CCParticleExamples.m
  114. +445 −0 DestructibleGround/libs/cocos2d/CCParticleSystem.h
  115. +808 −0 DestructibleGround/libs/cocos2d/CCParticleSystem.m
  116. +65 −0 DestructibleGround/libs/cocos2d/CCParticleSystemPoint.h
  117. +211 −0 DestructibleGround/libs/cocos2d/CCParticleSystemPoint.m
  118. +76 −0 DestructibleGround/libs/cocos2d/CCParticleSystemQuad.h
  119. +318 −0 DestructibleGround/libs/cocos2d/CCParticleSystemQuad.m
  120. +83 −0 DestructibleGround/libs/cocos2d/CCProgressTimer.h
  121. +493 −0 DestructibleGround/libs/cocos2d/CCProgressTimer.m
  122. +125 −0 DestructibleGround/libs/cocos2d/CCProtocols.h
  123. +108 −0 DestructibleGround/libs/cocos2d/CCRenderTexture.h
  124. +340 −0 DestructibleGround/libs/cocos2d/CCRenderTexture.m
  125. +117 −0 DestructibleGround/libs/cocos2d/CCRibbon.h
  126. +383 −0 DestructibleGround/libs/cocos2d/CCRibbon.m
  127. +43 −0 DestructibleGround/libs/cocos2d/CCScene.h
  128. +45 −0 DestructibleGround/libs/cocos2d/CCScene.m
  129. +199 −0 DestructibleGround/libs/cocos2d/CCScheduler.h
  130. +657 −0 DestructibleGround/libs/cocos2d/CCScheduler.m
  131. +330 −0 DestructibleGround/libs/cocos2d/CCSprite.h
  132. +976 −0 DestructibleGround/libs/cocos2d/CCSprite.m
  133. +122 −0 DestructibleGround/libs/cocos2d/CCSpriteBatchNode.h
  134. +471 −0 DestructibleGround/libs/cocos2d/CCSpriteBatchNode.m
  135. +90 −0 DestructibleGround/libs/cocos2d/CCSpriteFrame.h
  136. +111 −0 DestructibleGround/libs/cocos2d/CCSpriteFrame.m
  137. +130 −0 DestructibleGround/libs/cocos2d/CCSpriteFrameCache.h
  138. +340 −0 DestructibleGround/libs/cocos2d/CCSpriteFrameCache.m
  139. +152 −0 DestructibleGround/libs/cocos2d/CCTMXLayer.h
  140. +670 −0 DestructibleGround/libs/cocos2d/CCTMXLayer.m
  141. +67 −0 DestructibleGround/libs/cocos2d/CCTMXObjectGroup.h
  142. +86 −0 DestructibleGround/libs/cocos2d/CCTMXObjectGroup.m
  143. +140 −0 DestructibleGround/libs/cocos2d/CCTMXTiledMap.h
  144. +195 −0 DestructibleGround/libs/cocos2d/CCTMXTiledMap.m
  145. +202 −0 DestructibleGround/libs/cocos2d/CCTMXXMLParser.h
  146. +456 −0 DestructibleGround/libs/cocos2d/CCTMXXMLParser.m
  147. +328 −0 DestructibleGround/libs/cocos2d/CCTexture2D.h
Sorry, we could not display the entire diff because it was too big.
945 DestructibleGround.xcodeproj/project.pbxproj
@@ -0,0 +1,945 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ B7D0DD13165CDE2200071D65 /* miner.png in Resources */ = {isa = PBXBuildFile; fileRef = B7D0DD12165CDE2200071D65 /* miner.png */; };
+ B7D0DD16165CE79D00071D65 /* microminers.png in Resources */ = {isa = PBXBuildFile; fileRef = B7D0DD15165CE79D00071D65 /* microminers.png */; };
+ B7D0DD1E165CF8DB00071D65 /* CreditsLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = B7D0DD1D165CF8DB00071D65 /* CreditsLayer.m */; };
+ B7D0DD21165CFB6D00071D65 /* info.png in Resources */ = {isa = PBXBuildFile; fileRef = B7D0DD1F165CFB6D00071D65 /* info.png */; };
+ B7D0DD22165CFB6D00071D65 /* twitter.png in Resources */ = {isa = PBXBuildFile; fileRef = B7D0DD20165CFB6D00071D65 /* twitter.png */; };
+ B7D0DD24165D012F00071D65 /* back.png in Resources */ = {isa = PBXBuildFile; fileRef = B7D0DD23165D012F00071D65 /* back.png */; };
+ B7EFF205165C3C1400712AF8 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B7EFF204165C3C1400712AF8 /* QuartzCore.framework */; };
+ B7EFF207165C3C1400712AF8 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B7EFF206165C3C1400712AF8 /* OpenGLES.framework */; };
+ B7EFF209165C3C1400712AF8 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B7EFF208165C3C1400712AF8 /* OpenAL.framework */; };
+ B7EFF20B165C3C1400712AF8 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B7EFF20A165C3C1400712AF8 /* AudioToolbox.framework */; };
+ B7EFF20D165C3C1400712AF8 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B7EFF20C165C3C1400712AF8 /* AVFoundation.framework */; };
+ B7EFF20F165C3C1400712AF8 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B7EFF20E165C3C1400712AF8 /* UIKit.framework */; };
+ B7EFF211165C3C1400712AF8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B7EFF210165C3C1400712AF8 /* Foundation.framework */; };
+ B7EFF213165C3C1400712AF8 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B7EFF212165C3C1400712AF8 /* CoreGraphics.framework */; };
+ B7EFF217165C3C1400712AF8 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = B7EFF216165C3C1400712AF8 /* Default.png */; };
+ B7EFF219165C3C1400712AF8 /* fps_images.png in Resources */ = {isa = PBXBuildFile; fileRef = B7EFF218165C3C1400712AF8 /* fps_images.png */; };
+ B7EFF21B165C3C1400712AF8 /* Icon-72.png in Resources */ = {isa = PBXBuildFile; fileRef = B7EFF21A165C3C1400712AF8 /* Icon-72.png */; };
+ B7EFF21D165C3C1400712AF8 /* Icon-Small-50.png in Resources */ = {isa = PBXBuildFile; fileRef = B7EFF21C165C3C1400712AF8 /* Icon-Small-50.png */; };
+ B7EFF21F165C3C1400712AF8 /* Icon-Small.png in Resources */ = {isa = PBXBuildFile; fileRef = B7EFF21E165C3C1400712AF8 /* Icon-Small.png */; };
+ B7EFF221165C3C1400712AF8 /* Icon-Small@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B7EFF220165C3C1400712AF8 /* Icon-Small@2x.png */; };
+ B7EFF223165C3C1400712AF8 /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = B7EFF222165C3C1400712AF8 /* Icon.png */; };
+ B7EFF225165C3C1400712AF8 /* Icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B7EFF224165C3C1400712AF8 /* Icon@2x.png */; };
+ B7EFF228165C3C1400712AF8 /* iTunesArtwork in Resources */ = {isa = PBXBuildFile; fileRef = B7EFF227165C3C1400712AF8 /* iTunesArtwork */; };
+ B7EFF22D165C3C1400712AF8 /* CCAction.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF22C165C3C1400712AF8 /* CCAction.m */; };
+ B7EFF230165C3C1400712AF8 /* CCActionCamera.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF22F165C3C1400712AF8 /* CCActionCamera.m */; };
+ B7EFF233165C3C1400712AF8 /* CCActionEase.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF232165C3C1400712AF8 /* CCActionEase.m */; };
+ B7EFF236165C3C1400712AF8 /* CCActionGrid.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF235165C3C1400712AF8 /* CCActionGrid.m */; };
+ B7EFF239165C3C1400712AF8 /* CCActionGrid3D.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF238165C3C1400712AF8 /* CCActionGrid3D.m */; };
+ B7EFF23C165C3C1400712AF8 /* CCActionInstant.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF23B165C3C1400712AF8 /* CCActionInstant.m */; };
+ B7EFF23F165C3C1400712AF8 /* CCActionInterval.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF23E165C3C1400712AF8 /* CCActionInterval.m */; };
+ B7EFF242165C3C1400712AF8 /* CCActionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF241165C3C1400712AF8 /* CCActionManager.m */; };
+ B7EFF245165C3C1400712AF8 /* CCActionPageTurn3D.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF244165C3C1400712AF8 /* CCActionPageTurn3D.m */; };
+ B7EFF248165C3C1400712AF8 /* CCActionProgressTimer.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF247165C3C1400712AF8 /* CCActionProgressTimer.m */; };
+ B7EFF24B165C3C1400712AF8 /* CCActionTiledGrid.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF24A165C3C1400712AF8 /* CCActionTiledGrid.m */; };
+ B7EFF24E165C3C1400712AF8 /* CCActionTween.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF24D165C3C1400712AF8 /* CCActionTween.m */; };
+ B7EFF251165C3C1400712AF8 /* CCAnimation.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF250165C3C1400712AF8 /* CCAnimation.m */; };
+ B7EFF254165C3C1400712AF8 /* CCAnimationCache.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF253165C3C1400712AF8 /* CCAnimationCache.m */; };
+ B7EFF257165C3C1400712AF8 /* CCAtlasNode.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF256165C3C1400712AF8 /* CCAtlasNode.m */; };
+ B7EFF25A165C3C1400712AF8 /* CCBlockSupport.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF259165C3C1400712AF8 /* CCBlockSupport.m */; };
+ B7EFF25D165C3C1400712AF8 /* CCCamera.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF25C165C3C1400712AF8 /* CCCamera.m */; };
+ B7EFF261165C3C1400712AF8 /* CCConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF260165C3C1400712AF8 /* CCConfiguration.m */; };
+ B7EFF264165C3C1400712AF8 /* CCDirector.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF263165C3C1400712AF8 /* CCDirector.m */; };
+ B7EFF267165C3C1400712AF8 /* CCDrawingPrimitives.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF266165C3C1400712AF8 /* CCDrawingPrimitives.m */; };
+ B7EFF26A165C3C1500712AF8 /* CCGrabber.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF269165C3C1500712AF8 /* CCGrabber.m */; };
+ B7EFF26D165C3C1500712AF8 /* CCGrid.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF26C165C3C1500712AF8 /* CCGrid.m */; };
+ B7EFF270165C3C1500712AF8 /* CCLabelAtlas.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF26F165C3C1500712AF8 /* CCLabelAtlas.m */; };
+ B7EFF273165C3C1500712AF8 /* CCLabelBMFont.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF272165C3C1500712AF8 /* CCLabelBMFont.m */; };
+ B7EFF276165C3C1500712AF8 /* CCLabelTTF.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF275165C3C1500712AF8 /* CCLabelTTF.m */; };
+ B7EFF279165C3C1500712AF8 /* CCLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF278165C3C1500712AF8 /* CCLayer.m */; };
+ B7EFF27D165C3C1500712AF8 /* CCMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF27C165C3C1500712AF8 /* CCMenu.m */; };
+ B7EFF280165C3C1500712AF8 /* CCMenuItem.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF27F165C3C1500712AF8 /* CCMenuItem.m */; };
+ B7EFF283165C3C1500712AF8 /* CCMotionStreak.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF282165C3C1500712AF8 /* CCMotionStreak.m */; };
+ B7EFF286165C3C1500712AF8 /* CCNode.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF285165C3C1500712AF8 /* CCNode.m */; };
+ B7EFF289165C3C1500712AF8 /* CCParallaxNode.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF288165C3C1500712AF8 /* CCParallaxNode.m */; };
+ B7EFF28C165C3C1500712AF8 /* CCParticleExamples.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF28B165C3C1500712AF8 /* CCParticleExamples.m */; };
+ B7EFF28F165C3C1500712AF8 /* CCParticleSystem.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF28E165C3C1500712AF8 /* CCParticleSystem.m */; };
+ B7EFF292165C3C1500712AF8 /* CCParticleSystemPoint.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF291165C3C1500712AF8 /* CCParticleSystemPoint.m */; };
+ B7EFF295165C3C1500712AF8 /* CCParticleSystemQuad.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF294165C3C1500712AF8 /* CCParticleSystemQuad.m */; };
+ B7EFF298165C3C1500712AF8 /* CCProgressTimer.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF297165C3C1500712AF8 /* CCProgressTimer.m */; };
+ B7EFF29C165C3C1500712AF8 /* CCRenderTexture.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF29B165C3C1500712AF8 /* CCRenderTexture.m */; };
+ B7EFF29F165C3C1500712AF8 /* CCRibbon.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF29E165C3C1500712AF8 /* CCRibbon.m */; };
+ B7EFF2A2165C3C1500712AF8 /* CCScene.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF2A1165C3C1500712AF8 /* CCScene.m */; };
+ B7EFF2A5165C3C1500712AF8 /* CCScheduler.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF2A4165C3C1500712AF8 /* CCScheduler.m */; };
+ B7EFF2A8165C3C1500712AF8 /* CCSprite.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF2A7165C3C1500712AF8 /* CCSprite.m */; };
+ B7EFF2AB165C3C1500712AF8 /* CCSpriteBatchNode.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF2AA165C3C1500712AF8 /* CCSpriteBatchNode.m */; };
+ B7EFF2AE165C3C1500712AF8 /* CCSpriteFrame.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF2AD165C3C1500712AF8 /* CCSpriteFrame.m */; };
+ B7EFF2B1165C3C1500712AF8 /* CCSpriteFrameCache.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF2B0165C3C1500712AF8 /* CCSpriteFrameCache.m */; };
+ B7EFF2B4165C3C1500712AF8 /* CCTexture2D.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF2B3165C3C1500712AF8 /* CCTexture2D.m */; };
+ B7EFF2B7165C3C1500712AF8 /* CCTextureAtlas.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF2B6165C3C1500712AF8 /* CCTextureAtlas.m */; };
+ B7EFF2BA165C3C1500712AF8 /* CCTextureCache.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF2B9165C3C1500712AF8 /* CCTextureCache.m */; };
+ B7EFF2BD165C3C1500712AF8 /* CCTexturePVR.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF2BC165C3C1500712AF8 /* CCTexturePVR.m */; };
+ B7EFF2C0165C3C1500712AF8 /* CCTileMapAtlas.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF2BF165C3C1500712AF8 /* CCTileMapAtlas.m */; };
+ B7EFF2C3165C3C1500712AF8 /* CCTMXLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF2C2165C3C1500712AF8 /* CCTMXLayer.m */; };
+ B7EFF2C6165C3C1500712AF8 /* CCTMXObjectGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF2C5165C3C1500712AF8 /* CCTMXObjectGroup.m */; };
+ B7EFF2C9165C3C1500712AF8 /* CCTMXTiledMap.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF2C8165C3C1500712AF8 /* CCTMXTiledMap.m */; };
+ B7EFF2CC165C3C1500712AF8 /* CCTMXXMLParser.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF2CB165C3C1500712AF8 /* CCTMXXMLParser.m */; };
+ B7EFF2CF165C3C1500712AF8 /* CCTransition.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF2CE165C3C1500712AF8 /* CCTransition.m */; };
+ B7EFF2D2165C3C1500712AF8 /* CCTransitionPageTurn.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF2D1165C3C1500712AF8 /* CCTransitionPageTurn.m */; };
+ B7EFF2D5165C3C1500712AF8 /* CCTransitionRadial.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF2D4165C3C1500712AF8 /* CCTransitionRadial.m */; };
+ B7EFF2D9165C3C1500712AF8 /* cocos2d.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF2D8165C3C1500712AF8 /* cocos2d.m */; };
+ B7EFF2E0165C3C1500712AF8 /* CCDirectorIOS.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF2DF165C3C1500712AF8 /* CCDirectorIOS.m */; };
+ B7EFF2E4165C3C1500712AF8 /* CCTouchDispatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF2E3165C3C1500712AF8 /* CCTouchDispatcher.m */; };
+ B7EFF2E7165C3C1500712AF8 /* CCTouchHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF2E6165C3C1500712AF8 /* CCTouchHandler.m */; };
+ B7EFF2EA165C3C1500712AF8 /* EAGLView.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF2E9165C3C1500712AF8 /* EAGLView.m */; };
+ B7EFF2ED165C3C1500712AF8 /* ES1Renderer.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF2EC165C3C1500712AF8 /* ES1Renderer.m */; };
+ B7EFF2F0165C3C1500712AF8 /* glu.c in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF2EF165C3C1500712AF8 /* glu.c */; };
+ B7EFF2F5165C3C1500712AF8 /* CCDirectorMac.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF2F4165C3C1500712AF8 /* CCDirectorMac.m */; };
+ B7EFF2F8165C3C1500712AF8 /* CCEventDispatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF2F7165C3C1500712AF8 /* CCEventDispatcher.m */; };
+ B7EFF2FB165C3C1500712AF8 /* MacGLView.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF2FA165C3C1500712AF8 /* MacGLView.m */; };
+ B7EFF2FE165C3C1500712AF8 /* MacWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF2FD165C3C1500712AF8 /* MacWindow.m */; };
+ B7EFF301165C3C1600712AF8 /* base64.c in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF300165C3C1600712AF8 /* base64.c */; };
+ B7EFF305165C3C1600712AF8 /* CCArray.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF304165C3C1600712AF8 /* CCArray.m */; };
+ B7EFF309165C3C1600712AF8 /* CCFileUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF308165C3C1600712AF8 /* CCFileUtils.m */; };
+ B7EFF30C165C3C1600712AF8 /* CCProfiling.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF30B165C3C1600712AF8 /* CCProfiling.m */; };
+ B7EFF30E165C3C1600712AF8 /* ccUtils.c in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF30D165C3C1600712AF8 /* ccUtils.c */; };
+ B7EFF312165C3C1600712AF8 /* CGPointExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF311165C3C1600712AF8 /* CGPointExtension.m */; };
+ B7EFF316165C3C1600712AF8 /* TGAlib.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF315165C3C1600712AF8 /* TGAlib.m */; };
+ B7EFF319165C3C1600712AF8 /* TransformUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF318165C3C1600712AF8 /* TransformUtils.m */; };
+ B7EFF31E165C3C1600712AF8 /* ZipUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF31D165C3C1600712AF8 /* ZipUtils.m */; };
+ B7EFF365165C3C1600712AF8 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF364165C3C1600712AF8 /* main.m */; };
+ B7EFF368165C3C1600712AF8 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF367165C3C1600712AF8 /* AppDelegate.m */; };
+ B7EFF36B165C3C1600712AF8 /* RootViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF36A165C3C1600712AF8 /* RootViewController.m */; };
+ B7EFF36E165C3C1600712AF8 /* GameLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF36D165C3C1600712AF8 /* GameLayer.m */; };
+ B7EFF385165C3D4E00712AF8 /* FontLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF37B165C3D4E00712AF8 /* FontLabel.m */; };
+ B7EFF386165C3D4E00712AF8 /* FontLabelStringDrawing.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF37D165C3D4E00712AF8 /* FontLabelStringDrawing.m */; };
+ B7EFF387165C3D4E00712AF8 /* FontManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF37F165C3D4E00712AF8 /* FontManager.m */; };
+ B7EFF388165C3D4E00712AF8 /* ZAttributedString.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF381165C3D4E00712AF8 /* ZAttributedString.m */; };
+ B7EFF389165C3D4E00712AF8 /* ZFont.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF384165C3D4E00712AF8 /* ZFont.m */; };
+ B7EFF38C165C3D5800712AF8 /* LICENSE_FontLabel.txt in Resources */ = {isa = PBXBuildFile; fileRef = B7EFF38B165C3D5800712AF8 /* LICENSE_FontLabel.txt */; };
+ B7EFF39B165C3EF300712AF8 /* CCMutableTexture2D.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF39A165C3EF200712AF8 /* CCMutableTexture2D.m */; };
+ B7EFF39E165C3F5B00712AF8 /* AsyncObject.m in Sources */ = {isa = PBXBuildFile; fileRef = B7EFF39C165C3F5B00712AF8 /* AsyncObject.m */; };
+ B7EFF3A0165C406100712AF8 /* ground_vertical.png in Resources */ = {isa = PBXBuildFile; fileRef = B7EFF39F165C406100712AF8 /* ground_vertical.png */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ B7D0DD12165CDE2200071D65 /* miner.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = miner.png; path = Resources/miner.png; sourceTree = "<group>"; };
+ B7D0DD15165CE79D00071D65 /* microminers.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = microminers.png; path = Resources/microminers.png; sourceTree = "<group>"; };
+ B7D0DD1C165CF8DB00071D65 /* CreditsLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CreditsLayer.h; sourceTree = "<group>"; };
+ B7D0DD1D165CF8DB00071D65 /* CreditsLayer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CreditsLayer.m; sourceTree = "<group>"; };
+ B7D0DD1F165CFB6D00071D65 /* info.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = info.png; path = Resources/info.png; sourceTree = "<group>"; };
+ B7D0DD20165CFB6D00071D65 /* twitter.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = twitter.png; path = Resources/twitter.png; sourceTree = "<group>"; };
+ B7D0DD23165D012F00071D65 /* back.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = back.png; path = Resources/back.png; sourceTree = "<group>"; };
+ B7EFF200165C3C1400712AF8 /* DestructibleGround.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DestructibleGround.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ B7EFF204165C3C1400712AF8 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
+ B7EFF206165C3C1400712AF8 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; };
+ B7EFF208165C3C1400712AF8 /* OpenAL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenAL.framework; path = System/Library/Frameworks/OpenAL.framework; sourceTree = SDKROOT; };
+ B7EFF20A165C3C1400712AF8 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
+ B7EFF20C165C3C1400712AF8 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
+ B7EFF20E165C3C1400712AF8 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+ B7EFF210165C3C1400712AF8 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+ B7EFF212165C3C1400712AF8 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+ B7EFF216165C3C1400712AF8 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Default.png; path = Resources/Default.png; sourceTree = "<group>"; };
+ B7EFF218165C3C1400712AF8 /* fps_images.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = fps_images.png; path = Resources/fps_images.png; sourceTree = "<group>"; };
+ B7EFF21A165C3C1400712AF8 /* Icon-72.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-72.png"; path = "Resources/Icon-72.png"; sourceTree = "<group>"; };
+ B7EFF21C165C3C1400712AF8 /* Icon-Small-50.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-Small-50.png"; path = "Resources/Icon-Small-50.png"; sourceTree = "<group>"; };
+ B7EFF21E165C3C1400712AF8 /* Icon-Small.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-Small.png"; path = "Resources/Icon-Small.png"; sourceTree = "<group>"; };
+ B7EFF220165C3C1400712AF8 /* Icon-Small@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon-Small@2x.png"; path = "Resources/Icon-Small@2x.png"; sourceTree = "<group>"; };
+ B7EFF222165C3C1400712AF8 /* Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon.png; path = Resources/Icon.png; sourceTree = "<group>"; };
+ B7EFF224165C3C1400712AF8 /* Icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Icon@2x.png"; path = "Resources/Icon@2x.png"; sourceTree = "<group>"; };
+ B7EFF226165C3C1400712AF8 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Resources/Info.plist; sourceTree = "<group>"; };
+ B7EFF227165C3C1400712AF8 /* iTunesArtwork */ = {isa = PBXFileReference; lastKnownFileType = file; name = iTunesArtwork; path = Resources/iTunesArtwork; sourceTree = "<group>"; };
+ B7EFF22B165C3C1400712AF8 /* CCAction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCAction.h; path = libs/cocos2d/CCAction.h; sourceTree = "<group>"; };
+ B7EFF22C165C3C1400712AF8 /* CCAction.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCAction.m; path = libs/cocos2d/CCAction.m; sourceTree = "<group>"; };
+ B7EFF22E165C3C1400712AF8 /* CCActionCamera.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCActionCamera.h; path = libs/cocos2d/CCActionCamera.h; sourceTree = "<group>"; };
+ B7EFF22F165C3C1400712AF8 /* CCActionCamera.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCActionCamera.m; path = libs/cocos2d/CCActionCamera.m; sourceTree = "<group>"; };
+ B7EFF231165C3C1400712AF8 /* CCActionEase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCActionEase.h; path = libs/cocos2d/CCActionEase.h; sourceTree = "<group>"; };
+ B7EFF232165C3C1400712AF8 /* CCActionEase.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCActionEase.m; path = libs/cocos2d/CCActionEase.m; sourceTree = "<group>"; };
+ B7EFF234165C3C1400712AF8 /* CCActionGrid.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCActionGrid.h; path = libs/cocos2d/CCActionGrid.h; sourceTree = "<group>"; };
+ B7EFF235165C3C1400712AF8 /* CCActionGrid.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCActionGrid.m; path = libs/cocos2d/CCActionGrid.m; sourceTree = "<group>"; };
+ B7EFF237165C3C1400712AF8 /* CCActionGrid3D.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCActionGrid3D.h; path = libs/cocos2d/CCActionGrid3D.h; sourceTree = "<group>"; };
+ B7EFF238165C3C1400712AF8 /* CCActionGrid3D.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCActionGrid3D.m; path = libs/cocos2d/CCActionGrid3D.m; sourceTree = "<group>"; };
+ B7EFF23A165C3C1400712AF8 /* CCActionInstant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCActionInstant.h; path = libs/cocos2d/CCActionInstant.h; sourceTree = "<group>"; };
+ B7EFF23B165C3C1400712AF8 /* CCActionInstant.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCActionInstant.m; path = libs/cocos2d/CCActionInstant.m; sourceTree = "<group>"; };
+ B7EFF23D165C3C1400712AF8 /* CCActionInterval.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCActionInterval.h; path = libs/cocos2d/CCActionInterval.h; sourceTree = "<group>"; };
+ B7EFF23E165C3C1400712AF8 /* CCActionInterval.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCActionInterval.m; path = libs/cocos2d/CCActionInterval.m; sourceTree = "<group>"; };
+ B7EFF240165C3C1400712AF8 /* CCActionManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCActionManager.h; path = libs/cocos2d/CCActionManager.h; sourceTree = "<group>"; };
+ B7EFF241165C3C1400712AF8 /* CCActionManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCActionManager.m; path = libs/cocos2d/CCActionManager.m; sourceTree = "<group>"; };
+ B7EFF243165C3C1400712AF8 /* CCActionPageTurn3D.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCActionPageTurn3D.h; path = libs/cocos2d/CCActionPageTurn3D.h; sourceTree = "<group>"; };
+ B7EFF244165C3C1400712AF8 /* CCActionPageTurn3D.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCActionPageTurn3D.m; path = libs/cocos2d/CCActionPageTurn3D.m; sourceTree = "<group>"; };
+ B7EFF246165C3C1400712AF8 /* CCActionProgressTimer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCActionProgressTimer.h; path = libs/cocos2d/CCActionProgressTimer.h; sourceTree = "<group>"; };
+ B7EFF247165C3C1400712AF8 /* CCActionProgressTimer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCActionProgressTimer.m; path = libs/cocos2d/CCActionProgressTimer.m; sourceTree = "<group>"; };
+ B7EFF249165C3C1400712AF8 /* CCActionTiledGrid.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCActionTiledGrid.h; path = libs/cocos2d/CCActionTiledGrid.h; sourceTree = "<group>"; };
+ B7EFF24A165C3C1400712AF8 /* CCActionTiledGrid.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCActionTiledGrid.m; path = libs/cocos2d/CCActionTiledGrid.m; sourceTree = "<group>"; };
+ B7EFF24C165C3C1400712AF8 /* CCActionTween.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCActionTween.h; path = libs/cocos2d/CCActionTween.h; sourceTree = "<group>"; };
+ B7EFF24D165C3C1400712AF8 /* CCActionTween.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCActionTween.m; path = libs/cocos2d/CCActionTween.m; sourceTree = "<group>"; };
+ B7EFF24F165C3C1400712AF8 /* CCAnimation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCAnimation.h; path = libs/cocos2d/CCAnimation.h; sourceTree = "<group>"; };
+ B7EFF250165C3C1400712AF8 /* CCAnimation.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCAnimation.m; path = libs/cocos2d/CCAnimation.m; sourceTree = "<group>"; };
+ B7EFF252165C3C1400712AF8 /* CCAnimationCache.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCAnimationCache.h; path = libs/cocos2d/CCAnimationCache.h; sourceTree = "<group>"; };
+ B7EFF253165C3C1400712AF8 /* CCAnimationCache.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCAnimationCache.m; path = libs/cocos2d/CCAnimationCache.m; sourceTree = "<group>"; };
+ B7EFF255165C3C1400712AF8 /* CCAtlasNode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCAtlasNode.h; path = libs/cocos2d/CCAtlasNode.h; sourceTree = "<group>"; };
+ B7EFF256165C3C1400712AF8 /* CCAtlasNode.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCAtlasNode.m; path = libs/cocos2d/CCAtlasNode.m; sourceTree = "<group>"; };
+ B7EFF258165C3C1400712AF8 /* CCBlockSupport.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCBlockSupport.h; path = libs/cocos2d/CCBlockSupport.h; sourceTree = "<group>"; };
+ B7EFF259165C3C1400712AF8 /* CCBlockSupport.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCBlockSupport.m; path = libs/cocos2d/CCBlockSupport.m; sourceTree = "<group>"; };
+ B7EFF25B165C3C1400712AF8 /* CCCamera.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCCamera.h; path = libs/cocos2d/CCCamera.h; sourceTree = "<group>"; };
+ B7EFF25C165C3C1400712AF8 /* CCCamera.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCCamera.m; path = libs/cocos2d/CCCamera.m; sourceTree = "<group>"; };
+ B7EFF25E165C3C1400712AF8 /* ccConfig.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ccConfig.h; path = libs/cocos2d/ccConfig.h; sourceTree = "<group>"; };
+ B7EFF25F165C3C1400712AF8 /* CCConfiguration.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCConfiguration.h; path = libs/cocos2d/CCConfiguration.h; sourceTree = "<group>"; };
+ B7EFF260165C3C1400712AF8 /* CCConfiguration.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCConfiguration.m; path = libs/cocos2d/CCConfiguration.m; sourceTree = "<group>"; };
+ B7EFF262165C3C1400712AF8 /* CCDirector.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCDirector.h; path = libs/cocos2d/CCDirector.h; sourceTree = "<group>"; };
+ B7EFF263165C3C1400712AF8 /* CCDirector.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCDirector.m; path = libs/cocos2d/CCDirector.m; sourceTree = "<group>"; };
+ B7EFF265165C3C1400712AF8 /* CCDrawingPrimitives.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCDrawingPrimitives.h; path = libs/cocos2d/CCDrawingPrimitives.h; sourceTree = "<group>"; };
+ B7EFF266165C3C1400712AF8 /* CCDrawingPrimitives.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCDrawingPrimitives.m; path = libs/cocos2d/CCDrawingPrimitives.m; sourceTree = "<group>"; };
+ B7EFF268165C3C1500712AF8 /* CCGrabber.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCGrabber.h; path = libs/cocos2d/CCGrabber.h; sourceTree = "<group>"; };
+ B7EFF269165C3C1500712AF8 /* CCGrabber.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCGrabber.m; path = libs/cocos2d/CCGrabber.m; sourceTree = "<group>"; };
+ B7EFF26B165C3C1500712AF8 /* CCGrid.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCGrid.h; path = libs/cocos2d/CCGrid.h; sourceTree = "<group>"; };
+ B7EFF26C165C3C1500712AF8 /* CCGrid.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCGrid.m; path = libs/cocos2d/CCGrid.m; sourceTree = "<group>"; };
+ B7EFF26E165C3C1500712AF8 /* CCLabelAtlas.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCLabelAtlas.h; path = libs/cocos2d/CCLabelAtlas.h; sourceTree = "<group>"; };
+ B7EFF26F165C3C1500712AF8 /* CCLabelAtlas.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCLabelAtlas.m; path = libs/cocos2d/CCLabelAtlas.m; sourceTree = "<group>"; };
+ B7EFF271165C3C1500712AF8 /* CCLabelBMFont.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCLabelBMFont.h; path = libs/cocos2d/CCLabelBMFont.h; sourceTree = "<group>"; };
+ B7EFF272165C3C1500712AF8 /* CCLabelBMFont.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCLabelBMFont.m; path = libs/cocos2d/CCLabelBMFont.m; sourceTree = "<group>"; };
+ B7EFF274165C3C1500712AF8 /* CCLabelTTF.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCLabelTTF.h; path = libs/cocos2d/CCLabelTTF.h; sourceTree = "<group>"; };
+ B7EFF275165C3C1500712AF8 /* CCLabelTTF.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCLabelTTF.m; path = libs/cocos2d/CCLabelTTF.m; sourceTree = "<group>"; };
+ B7EFF277165C3C1500712AF8 /* CCLayer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCLayer.h; path = libs/cocos2d/CCLayer.h; sourceTree = "<group>"; };
+ B7EFF278165C3C1500712AF8 /* CCLayer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCLayer.m; path = libs/cocos2d/CCLayer.m; sourceTree = "<group>"; };
+ B7EFF27A165C3C1500712AF8 /* ccMacros.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ccMacros.h; path = libs/cocos2d/ccMacros.h; sourceTree = "<group>"; };
+ B7EFF27B165C3C1500712AF8 /* CCMenu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCMenu.h; path = libs/cocos2d/CCMenu.h; sourceTree = "<group>"; };
+ B7EFF27C165C3C1500712AF8 /* CCMenu.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCMenu.m; path = libs/cocos2d/CCMenu.m; sourceTree = "<group>"; };
+ B7EFF27E165C3C1500712AF8 /* CCMenuItem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCMenuItem.h; path = libs/cocos2d/CCMenuItem.h; sourceTree = "<group>"; };
+ B7EFF27F165C3C1500712AF8 /* CCMenuItem.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCMenuItem.m; path = libs/cocos2d/CCMenuItem.m; sourceTree = "<group>"; };
+ B7EFF281165C3C1500712AF8 /* CCMotionStreak.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCMotionStreak.h; path = libs/cocos2d/CCMotionStreak.h; sourceTree = "<group>"; };
+ B7EFF282165C3C1500712AF8 /* CCMotionStreak.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCMotionStreak.m; path = libs/cocos2d/CCMotionStreak.m; sourceTree = "<group>"; };
+ B7EFF284165C3C1500712AF8 /* CCNode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCNode.h; path = libs/cocos2d/CCNode.h; sourceTree = "<group>"; };
+ B7EFF285165C3C1500712AF8 /* CCNode.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCNode.m; path = libs/cocos2d/CCNode.m; sourceTree = "<group>"; };
+ B7EFF287165C3C1500712AF8 /* CCParallaxNode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCParallaxNode.h; path = libs/cocos2d/CCParallaxNode.h; sourceTree = "<group>"; };
+ B7EFF288165C3C1500712AF8 /* CCParallaxNode.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCParallaxNode.m; path = libs/cocos2d/CCParallaxNode.m; sourceTree = "<group>"; };
+ B7EFF28A165C3C1500712AF8 /* CCParticleExamples.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCParticleExamples.h; path = libs/cocos2d/CCParticleExamples.h; sourceTree = "<group>"; };
+ B7EFF28B165C3C1500712AF8 /* CCParticleExamples.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCParticleExamples.m; path = libs/cocos2d/CCParticleExamples.m; sourceTree = "<group>"; };
+ B7EFF28D165C3C1500712AF8 /* CCParticleSystem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCParticleSystem.h; path = libs/cocos2d/CCParticleSystem.h; sourceTree = "<group>"; };
+ B7EFF28E165C3C1500712AF8 /* CCParticleSystem.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCParticleSystem.m; path = libs/cocos2d/CCParticleSystem.m; sourceTree = "<group>"; };
+ B7EFF290165C3C1500712AF8 /* CCParticleSystemPoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCParticleSystemPoint.h; path = libs/cocos2d/CCParticleSystemPoint.h; sourceTree = "<group>"; };
+ B7EFF291165C3C1500712AF8 /* CCParticleSystemPoint.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCParticleSystemPoint.m; path = libs/cocos2d/CCParticleSystemPoint.m; sourceTree = "<group>"; };
+ B7EFF293165C3C1500712AF8 /* CCParticleSystemQuad.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCParticleSystemQuad.h; path = libs/cocos2d/CCParticleSystemQuad.h; sourceTree = "<group>"; };
+ B7EFF294165C3C1500712AF8 /* CCParticleSystemQuad.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCParticleSystemQuad.m; path = libs/cocos2d/CCParticleSystemQuad.m; sourceTree = "<group>"; };
+ B7EFF296165C3C1500712AF8 /* CCProgressTimer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCProgressTimer.h; path = libs/cocos2d/CCProgressTimer.h; sourceTree = "<group>"; };
+ B7EFF297165C3C1500712AF8 /* CCProgressTimer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCProgressTimer.m; path = libs/cocos2d/CCProgressTimer.m; sourceTree = "<group>"; };
+ B7EFF299165C3C1500712AF8 /* CCProtocols.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCProtocols.h; path = libs/cocos2d/CCProtocols.h; sourceTree = "<group>"; };
+ B7EFF29A165C3C1500712AF8 /* CCRenderTexture.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCRenderTexture.h; path = libs/cocos2d/CCRenderTexture.h; sourceTree = "<group>"; };
+ B7EFF29B165C3C1500712AF8 /* CCRenderTexture.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCRenderTexture.m; path = libs/cocos2d/CCRenderTexture.m; sourceTree = "<group>"; };
+ B7EFF29D165C3C1500712AF8 /* CCRibbon.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCRibbon.h; path = libs/cocos2d/CCRibbon.h; sourceTree = "<group>"; };
+ B7EFF29E165C3C1500712AF8 /* CCRibbon.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCRibbon.m; path = libs/cocos2d/CCRibbon.m; sourceTree = "<group>"; };
+ B7EFF2A0165C3C1500712AF8 /* CCScene.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCScene.h; path = libs/cocos2d/CCScene.h; sourceTree = "<group>"; };
+ B7EFF2A1165C3C1500712AF8 /* CCScene.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCScene.m; path = libs/cocos2d/CCScene.m; sourceTree = "<group>"; };
+ B7EFF2A3165C3C1500712AF8 /* CCScheduler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCScheduler.h; path = libs/cocos2d/CCScheduler.h; sourceTree = "<group>"; };
+ B7EFF2A4165C3C1500712AF8 /* CCScheduler.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCScheduler.m; path = libs/cocos2d/CCScheduler.m; sourceTree = "<group>"; };
+ B7EFF2A6165C3C1500712AF8 /* CCSprite.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCSprite.h; path = libs/cocos2d/CCSprite.h; sourceTree = "<group>"; };
+ B7EFF2A7165C3C1500712AF8 /* CCSprite.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCSprite.m; path = libs/cocos2d/CCSprite.m; sourceTree = "<group>"; };
+ B7EFF2A9165C3C1500712AF8 /* CCSpriteBatchNode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCSpriteBatchNode.h; path = libs/cocos2d/CCSpriteBatchNode.h; sourceTree = "<group>"; };
+ B7EFF2AA165C3C1500712AF8 /* CCSpriteBatchNode.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCSpriteBatchNode.m; path = libs/cocos2d/CCSpriteBatchNode.m; sourceTree = "<group>"; };
+ B7EFF2AC165C3C1500712AF8 /* CCSpriteFrame.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCSpriteFrame.h; path = libs/cocos2d/CCSpriteFrame.h; sourceTree = "<group>"; };
+ B7EFF2AD165C3C1500712AF8 /* CCSpriteFrame.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCSpriteFrame.m; path = libs/cocos2d/CCSpriteFrame.m; sourceTree = "<group>"; };
+ B7EFF2AF165C3C1500712AF8 /* CCSpriteFrameCache.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCSpriteFrameCache.h; path = libs/cocos2d/CCSpriteFrameCache.h; sourceTree = "<group>"; };
+ B7EFF2B0165C3C1500712AF8 /* CCSpriteFrameCache.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCSpriteFrameCache.m; path = libs/cocos2d/CCSpriteFrameCache.m; sourceTree = "<group>"; };
+ B7EFF2B2165C3C1500712AF8 /* CCTexture2D.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCTexture2D.h; path = libs/cocos2d/CCTexture2D.h; sourceTree = "<group>"; };
+ B7EFF2B3165C3C1500712AF8 /* CCTexture2D.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCTexture2D.m; path = libs/cocos2d/CCTexture2D.m; sourceTree = "<group>"; };
+ B7EFF2B5165C3C1500712AF8 /* CCTextureAtlas.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCTextureAtlas.h; path = libs/cocos2d/CCTextureAtlas.h; sourceTree = "<group>"; };
+ B7EFF2B6165C3C1500712AF8 /* CCTextureAtlas.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCTextureAtlas.m; path = libs/cocos2d/CCTextureAtlas.m; sourceTree = "<group>"; };
+ B7EFF2B8165C3C1500712AF8 /* CCTextureCache.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCTextureCache.h; path = libs/cocos2d/CCTextureCache.h; sourceTree = "<group>"; };
+ B7EFF2B9165C3C1500712AF8 /* CCTextureCache.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCTextureCache.m; path = libs/cocos2d/CCTextureCache.m; sourceTree = "<group>"; };
+ B7EFF2BB165C3C1500712AF8 /* CCTexturePVR.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCTexturePVR.h; path = libs/cocos2d/CCTexturePVR.h; sourceTree = "<group>"; };
+ B7EFF2BC165C3C1500712AF8 /* CCTexturePVR.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCTexturePVR.m; path = libs/cocos2d/CCTexturePVR.m; sourceTree = "<group>"; };
+ B7EFF2BE165C3C1500712AF8 /* CCTileMapAtlas.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCTileMapAtlas.h; path = libs/cocos2d/CCTileMapAtlas.h; sourceTree = "<group>"; };
+ B7EFF2BF165C3C1500712AF8 /* CCTileMapAtlas.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCTileMapAtlas.m; path = libs/cocos2d/CCTileMapAtlas.m; sourceTree = "<group>"; };
+ B7EFF2C1165C3C1500712AF8 /* CCTMXLayer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCTMXLayer.h; path = libs/cocos2d/CCTMXLayer.h; sourceTree = "<group>"; };
+ B7EFF2C2165C3C1500712AF8 /* CCTMXLayer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCTMXLayer.m; path = libs/cocos2d/CCTMXLayer.m; sourceTree = "<group>"; };
+ B7EFF2C4165C3C1500712AF8 /* CCTMXObjectGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCTMXObjectGroup.h; path = libs/cocos2d/CCTMXObjectGroup.h; sourceTree = "<group>"; };
+ B7EFF2C5165C3C1500712AF8 /* CCTMXObjectGroup.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCTMXObjectGroup.m; path = libs/cocos2d/CCTMXObjectGroup.m; sourceTree = "<group>"; };
+ B7EFF2C7165C3C1500712AF8 /* CCTMXTiledMap.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCTMXTiledMap.h; path = libs/cocos2d/CCTMXTiledMap.h; sourceTree = "<group>"; };
+ B7EFF2C8165C3C1500712AF8 /* CCTMXTiledMap.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCTMXTiledMap.m; path = libs/cocos2d/CCTMXTiledMap.m; sourceTree = "<group>"; };
+ B7EFF2CA165C3C1500712AF8 /* CCTMXXMLParser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCTMXXMLParser.h; path = libs/cocos2d/CCTMXXMLParser.h; sourceTree = "<group>"; };
+ B7EFF2CB165C3C1500712AF8 /* CCTMXXMLParser.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCTMXXMLParser.m; path = libs/cocos2d/CCTMXXMLParser.m; sourceTree = "<group>"; };
+ B7EFF2CD165C3C1500712AF8 /* CCTransition.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCTransition.h; path = libs/cocos2d/CCTransition.h; sourceTree = "<group>"; };
+ B7EFF2CE165C3C1500712AF8 /* CCTransition.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCTransition.m; path = libs/cocos2d/CCTransition.m; sourceTree = "<group>"; };
+ B7EFF2D0165C3C1500712AF8 /* CCTransitionPageTurn.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCTransitionPageTurn.h; path = libs/cocos2d/CCTransitionPageTurn.h; sourceTree = "<group>"; };
+ B7EFF2D1165C3C1500712AF8 /* CCTransitionPageTurn.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCTransitionPageTurn.m; path = libs/cocos2d/CCTransitionPageTurn.m; sourceTree = "<group>"; };
+ B7EFF2D3165C3C1500712AF8 /* CCTransitionRadial.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCTransitionRadial.h; path = libs/cocos2d/CCTransitionRadial.h; sourceTree = "<group>"; };
+ B7EFF2D4165C3C1500712AF8 /* CCTransitionRadial.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCTransitionRadial.m; path = libs/cocos2d/CCTransitionRadial.m; sourceTree = "<group>"; };
+ B7EFF2D6165C3C1500712AF8 /* ccTypes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ccTypes.h; path = libs/cocos2d/ccTypes.h; sourceTree = "<group>"; };
+ B7EFF2D7165C3C1500712AF8 /* cocos2d.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = cocos2d.h; path = libs/cocos2d/cocos2d.h; sourceTree = "<group>"; };
+ B7EFF2D8165C3C1500712AF8 /* cocos2d.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = cocos2d.m; path = libs/cocos2d/cocos2d.m; sourceTree = "<group>"; };
+ B7EFF2DB165C3C1500712AF8 /* CCGL.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCGL.h; path = libs/cocos2d/Platforms/CCGL.h; sourceTree = "<group>"; };
+ B7EFF2DC165C3C1500712AF8 /* CCNS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCNS.h; path = libs/cocos2d/Platforms/CCNS.h; sourceTree = "<group>"; };
+ B7EFF2DE165C3C1500712AF8 /* CCDirectorIOS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCDirectorIOS.h; path = libs/cocos2d/Platforms/iOS/CCDirectorIOS.h; sourceTree = "<group>"; };
+ B7EFF2DF165C3C1500712AF8 /* CCDirectorIOS.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCDirectorIOS.m; path = libs/cocos2d/Platforms/iOS/CCDirectorIOS.m; sourceTree = "<group>"; };
+ B7EFF2E1165C3C1500712AF8 /* CCTouchDelegateProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCTouchDelegateProtocol.h; path = libs/cocos2d/Platforms/iOS/CCTouchDelegateProtocol.h; sourceTree = "<group>"; };
+ B7EFF2E2165C3C1500712AF8 /* CCTouchDispatcher.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCTouchDispatcher.h; path = libs/cocos2d/Platforms/iOS/CCTouchDispatcher.h; sourceTree = "<group>"; };
+ B7EFF2E3165C3C1500712AF8 /* CCTouchDispatcher.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCTouchDispatcher.m; path = libs/cocos2d/Platforms/iOS/CCTouchDispatcher.m; sourceTree = "<group>"; };
+ B7EFF2E5165C3C1500712AF8 /* CCTouchHandler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCTouchHandler.h; path = libs/cocos2d/Platforms/iOS/CCTouchHandler.h; sourceTree = "<group>"; };
+ B7EFF2E6165C3C1500712AF8 /* CCTouchHandler.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCTouchHandler.m; path = libs/cocos2d/Platforms/iOS/CCTouchHandler.m; sourceTree = "<group>"; };
+ B7EFF2E8165C3C1500712AF8 /* EAGLView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EAGLView.h; path = libs/cocos2d/Platforms/iOS/EAGLView.h; sourceTree = "<group>"; };
+ B7EFF2E9165C3C1500712AF8 /* EAGLView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = EAGLView.m; path = libs/cocos2d/Platforms/iOS/EAGLView.m; sourceTree = "<group>"; };
+ B7EFF2EB165C3C1500712AF8 /* ES1Renderer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ES1Renderer.h; path = libs/cocos2d/Platforms/iOS/ES1Renderer.h; sourceTree = "<group>"; };
+ B7EFF2EC165C3C1500712AF8 /* ES1Renderer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = ES1Renderer.m; path = libs/cocos2d/Platforms/iOS/ES1Renderer.m; sourceTree = "<group>"; };
+ B7EFF2EE165C3C1500712AF8 /* ESRenderer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ESRenderer.h; path = libs/cocos2d/Platforms/iOS/ESRenderer.h; sourceTree = "<group>"; };
+ B7EFF2EF165C3C1500712AF8 /* glu.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = glu.c; path = libs/cocos2d/Platforms/iOS/glu.c; sourceTree = "<group>"; };
+ B7EFF2F1165C3C1500712AF8 /* glu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = glu.h; path = libs/cocos2d/Platforms/iOS/glu.h; sourceTree = "<group>"; };
+ B7EFF2F3165C3C1500712AF8 /* CCDirectorMac.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCDirectorMac.h; path = libs/cocos2d/Platforms/Mac/CCDirectorMac.h; sourceTree = "<group>"; };
+ B7EFF2F4165C3C1500712AF8 /* CCDirectorMac.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCDirectorMac.m; path = libs/cocos2d/Platforms/Mac/CCDirectorMac.m; sourceTree = "<group>"; };
+ B7EFF2F6165C3C1500712AF8 /* CCEventDispatcher.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCEventDispatcher.h; path = libs/cocos2d/Platforms/Mac/CCEventDispatcher.h; sourceTree = "<group>"; };
+ B7EFF2F7165C3C1500712AF8 /* CCEventDispatcher.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCEventDispatcher.m; path = libs/cocos2d/Platforms/Mac/CCEventDispatcher.m; sourceTree = "<group>"; };
+ B7EFF2F9165C3C1500712AF8 /* MacGLView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MacGLView.h; path = libs/cocos2d/Platforms/Mac/MacGLView.h; sourceTree = "<group>"; };
+ B7EFF2FA165C3C1500712AF8 /* MacGLView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = MacGLView.m; path = libs/cocos2d/Platforms/Mac/MacGLView.m; sourceTree = "<group>"; };
+ B7EFF2FC165C3C1500712AF8 /* MacWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = MacWindow.h; path = libs/cocos2d/Platforms/Mac/MacWindow.h; sourceTree = "<group>"; };
+ B7EFF2FD165C3C1500712AF8 /* MacWindow.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = MacWindow.m; path = libs/cocos2d/Platforms/Mac/MacWindow.m; sourceTree = "<group>"; };
+ B7EFF300165C3C1600712AF8 /* base64.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = base64.c; path = libs/cocos2d/Support/base64.c; sourceTree = "<group>"; };
+ B7EFF302165C3C1600712AF8 /* base64.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = base64.h; path = libs/cocos2d/Support/base64.h; sourceTree = "<group>"; };
+ B7EFF303165C3C1600712AF8 /* CCArray.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCArray.h; path = libs/cocos2d/Support/CCArray.h; sourceTree = "<group>"; };
+ B7EFF304165C3C1600712AF8 /* CCArray.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCArray.m; path = libs/cocos2d/Support/CCArray.m; sourceTree = "<group>"; };
+ B7EFF306165C3C1600712AF8 /* ccCArray.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ccCArray.h; path = libs/cocos2d/Support/ccCArray.h; sourceTree = "<group>"; };
+ B7EFF307165C3C1600712AF8 /* CCFileUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCFileUtils.h; path = libs/cocos2d/Support/CCFileUtils.h; sourceTree = "<group>"; };
+ B7EFF308165C3C1600712AF8 /* CCFileUtils.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCFileUtils.m; path = libs/cocos2d/Support/CCFileUtils.m; sourceTree = "<group>"; };
+ B7EFF30A165C3C1600712AF8 /* CCProfiling.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CCProfiling.h; path = libs/cocos2d/Support/CCProfiling.h; sourceTree = "<group>"; };
+ B7EFF30B165C3C1600712AF8 /* CCProfiling.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CCProfiling.m; path = libs/cocos2d/Support/CCProfiling.m; sourceTree = "<group>"; };
+ B7EFF30D165C3C1600712AF8 /* ccUtils.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = ccUtils.c; path = libs/cocos2d/Support/ccUtils.c; sourceTree = "<group>"; };
+ B7EFF30F165C3C1600712AF8 /* ccUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ccUtils.h; path = libs/cocos2d/Support/ccUtils.h; sourceTree = "<group>"; };
+ B7EFF310165C3C1600712AF8 /* CGPointExtension.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CGPointExtension.h; path = libs/cocos2d/Support/CGPointExtension.h; sourceTree = "<group>"; };
+ B7EFF311165C3C1600712AF8 /* CGPointExtension.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = CGPointExtension.m; path = libs/cocos2d/Support/CGPointExtension.m; sourceTree = "<group>"; };
+ B7EFF313165C3C1600712AF8 /* OpenGL_Internal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OpenGL_Internal.h; path = libs/cocos2d/Support/OpenGL_Internal.h; sourceTree = "<group>"; };
+ B7EFF314165C3C1600712AF8 /* TGAlib.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TGAlib.h; path = libs/cocos2d/Support/TGAlib.h; sourceTree = "<group>"; };
+ B7EFF315165C3C1600712AF8 /* TGAlib.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TGAlib.m; path = libs/cocos2d/Support/TGAlib.m; sourceTree = "<group>"; };
+ B7EFF317165C3C1600712AF8 /* TransformUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TransformUtils.h; path = libs/cocos2d/Support/TransformUtils.h; sourceTree = "<group>"; };
+ B7EFF318165C3C1600712AF8 /* TransformUtils.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = TransformUtils.m; path = libs/cocos2d/Support/TransformUtils.m; sourceTree = "<group>"; };
+ B7EFF31A165C3C1600712AF8 /* uthash.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = uthash.h; path = libs/cocos2d/Support/uthash.h; sourceTree = "<group>"; };
+ B7EFF31B165C3C1600712AF8 /* utlist.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = utlist.h; path = libs/cocos2d/Support/utlist.h; sourceTree = "<group>"; };
+ B7EFF31C165C3C1600712AF8 /* ZipUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ZipUtils.h; path = libs/cocos2d/Support/ZipUtils.h; sourceTree = "<group>"; };
+ B7EFF31D165C3C1600712AF8 /* ZipUtils.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = ZipUtils.m; path = libs/cocos2d/Support/ZipUtils.m; sourceTree = "<group>"; };
+ B7EFF31F165C3C1600712AF8 /* LICENSE_cocos2d.txt */ = {isa = PBXFileReference; lastKnownFileType = text; name = LICENSE_cocos2d.txt; path = libs/LICENSE_cocos2d.txt; sourceTree = "<group>"; };
+ B7EFF363165C3C1600712AF8 /* Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Prefix.pch; sourceTree = "<group>"; };
+ B7EFF364165C3C1600712AF8 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+ B7EFF366165C3C1600712AF8 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
+ B7EFF367165C3C1600712AF8 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
+ B7EFF369165C3C1600712AF8 /* RootViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RootViewController.h; sourceTree = "<group>"; };
+ B7EFF36A165C3C1600712AF8 /* RootViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RootViewController.m; sourceTree = "<group>"; };
+ B7EFF36C165C3C1600712AF8 /* GameLayer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GameLayer.h; sourceTree = "<group>"; };
+ B7EFF36D165C3C1600712AF8 /* GameLayer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GameLayer.m; sourceTree = "<group>"; };
+ B7EFF36F165C3C1600712AF8 /* GameConfig.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GameConfig.h; sourceTree = "<group>"; };
+ B7EFF37A165C3D4E00712AF8 /* FontLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FontLabel.h; sourceTree = "<group>"; };
+ B7EFF37B165C3D4E00712AF8 /* FontLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FontLabel.m; sourceTree = "<group>"; };
+ B7EFF37C165C3D4E00712AF8 /* FontLabelStringDrawing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FontLabelStringDrawing.h; sourceTree = "<group>"; };
+ B7EFF37D165C3D4E00712AF8 /* FontLabelStringDrawing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FontLabelStringDrawing.m; sourceTree = "<group>"; };
+ B7EFF37E165C3D4E00712AF8 /* FontManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FontManager.h; sourceTree = "<group>"; };
+ B7EFF37F165C3D4E00712AF8 /* FontManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FontManager.m; sourceTree = "<group>"; };
+ B7EFF380165C3D4E00712AF8 /* ZAttributedString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZAttributedString.h; sourceTree = "<group>"; };
+ B7EFF381165C3D4E00712AF8 /* ZAttributedString.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ZAttributedString.m; sourceTree = "<group>"; };
+ B7EFF382165C3D4E00712AF8 /* ZAttributedStringPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZAttributedStringPrivate.h; sourceTree = "<group>"; };
+ B7EFF383165C3D4E00712AF8 /* ZFont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZFont.h; sourceTree = "<group>"; };
+ B7EFF384165C3D4E00712AF8 /* ZFont.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ZFont.m; sourceTree = "<group>"; };
+ B7EFF38B165C3D5800712AF8 /* LICENSE_FontLabel.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = LICENSE_FontLabel.txt; path = libs/LICENSE_FontLabel.txt; sourceTree = "<group>"; };
+ B7EFF399165C3EF200712AF8 /* CCMutableTexture2D.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCMutableTexture2D.h; sourceTree = "<group>"; };
+ B7EFF39A165C3EF200712AF8 /* CCMutableTexture2D.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCMutableTexture2D.m; sourceTree = "<group>"; };
+ B7EFF39C165C3F5B00712AF8 /* AsyncObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AsyncObject.m; sourceTree = "<group>"; };
+ B7EFF39D165C3F5B00712AF8 /* AsyncObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AsyncObject.h; sourceTree = "<group>"; };
+ B7EFF39F165C406100712AF8 /* ground_vertical.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ground_vertical.png; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ B7EFF1FD165C3C1400712AF8 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ B7EFF205165C3C1400712AF8 /* QuartzCore.framework in Frameworks */,
+ B7EFF207165C3C1400712AF8 /* OpenGLES.framework in Frameworks */,
+ B7EFF209165C3C1400712AF8 /* OpenAL.framework in Frameworks */,
+ B7EFF20B165C3C1400712AF8 /* AudioToolbox.framework in Frameworks */,
+ B7EFF20D165C3C1400712AF8 /* AVFoundation.framework in Frameworks */,
+ B7EFF20F165C3C1400712AF8 /* UIKit.framework in Frameworks */,
+ B7EFF211165C3C1400712AF8 /* Foundation.framework in Frameworks */,
+ B7EFF213165C3C1400712AF8 /* CoreGraphics.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ B7EFF1F5165C3C1400712AF8 = {
+ isa = PBXGroup;
+ children = (
+ B7EFF214165C3C1400712AF8 /* DestructibleGround */,
+ B7EFF203165C3C1400712AF8 /* Frameworks */,
+ B7EFF201165C3C1400712AF8 /* Products */,
+ );
+ sourceTree = "<group>";
+ };
+ B7EFF201165C3C1400712AF8 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ B7EFF200165C3C1400712AF8 /* DestructibleGround.app */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ B7EFF203165C3C1400712AF8 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ B7EFF204165C3C1400712AF8 /* QuartzCore.framework */,
+ B7EFF206165C3C1400712AF8 /* OpenGLES.framework */,
+ B7EFF208165C3C1400712AF8 /* OpenAL.framework */,
+ B7EFF20A165C3C1400712AF8 /* AudioToolbox.framework */,
+ B7EFF20C165C3C1400712AF8 /* AVFoundation.framework */,
+ B7EFF20E165C3C1400712AF8 /* UIKit.framework */,
+ B7EFF210165C3C1400712AF8 /* Foundation.framework */,
+ B7EFF212165C3C1400712AF8 /* CoreGraphics.framework */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+ B7EFF214165C3C1400712AF8 /* DestructibleGround */ = {
+ isa = PBXGroup;
+ children = (
+ B7EFF399165C3EF200712AF8 /* CCMutableTexture2D.h */,
+ B7EFF39A165C3EF200712AF8 /* CCMutableTexture2D.m */,
+ B7EFF39D165C3F5B00712AF8 /* AsyncObject.h */,
+ B7EFF39C165C3F5B00712AF8 /* AsyncObject.m */,
+ B7EFF366165C3C1600712AF8 /* AppDelegate.h */,
+ B7EFF367165C3C1600712AF8 /* AppDelegate.m */,
+ B7EFF369165C3C1600712AF8 /* RootViewController.h */,
+ B7EFF36A165C3C1600712AF8 /* RootViewController.m */,
+ B7D0DD1C165CF8DB00071D65 /* CreditsLayer.h */,
+ B7D0DD1D165CF8DB00071D65 /* CreditsLayer.m */,
+ B7EFF36C165C3C1600712AF8 /* GameLayer.h */,
+ B7EFF36D165C3C1600712AF8 /* GameLayer.m */,
+ B7EFF36F165C3C1600712AF8 /* GameConfig.h */,
+ B7EFF215165C3C1400712AF8 /* Resources */,
+ B7EFF229165C3C1400712AF8 /* libs */,
+ B7EFF362165C3C1600712AF8 /* Supporting Files */,
+ );
+ path = DestructibleGround;
+ sourceTree = "<group>";
+ };
+ B7EFF215165C3C1400712AF8 /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ B7D0DD23165D012F00071D65 /* back.png */,
+ B7D0DD15165CE79D00071D65 /* microminers.png */,
+ B7D0DD1F165CFB6D00071D65 /* info.png */,
+ B7D0DD20165CFB6D00071D65 /* twitter.png */,
+ B7D0DD12165CDE2200071D65 /* miner.png */,
+ B7EFF39F165C406100712AF8 /* ground_vertical.png */,
+ B7EFF216165C3C1400712AF8 /* Default.png */,
+ B7EFF218165C3C1400712AF8 /* fps_images.png */,
+ B7EFF21A165C3C1400712AF8 /* Icon-72.png */,
+ B7EFF21C165C3C1400712AF8 /* Icon-Small-50.png */,
+ B7EFF21E165C3C1400712AF8 /* Icon-Small.png */,
+ B7EFF220165C3C1400712AF8 /* Icon-Small@2x.png */,
+ B7EFF222165C3C1400712AF8 /* Icon.png */,
+ B7EFF224165C3C1400712AF8 /* Icon@2x.png */,
+ B7EFF226165C3C1400712AF8 /* Info.plist */,
+ B7EFF227165C3C1400712AF8 /* iTunesArtwork */,
+ );
+ name = Resources;
+ sourceTree = "<group>";
+ };
+ B7EFF229165C3C1400712AF8 /* libs */ = {
+ isa = PBXGroup;
+ children = (
+ B7EFF38B165C3D5800712AF8 /* LICENSE_FontLabel.txt */,
+ B7EFF379165C3D4E00712AF8 /* FontLabel */,
+ B7EFF31F165C3C1600712AF8 /* LICENSE_cocos2d.txt */,
+ B7EFF22A165C3C1400712AF8 /* cocos2d */,
+ );
+ name = libs;
+ sourceTree = "<group>";
+ };
+ B7EFF22A165C3C1400712AF8 /* cocos2d */ = {
+ isa = PBXGroup;
+ children = (
+ B7EFF22B165C3C1400712AF8 /* CCAction.h */,
+ B7EFF22C165C3C1400712AF8 /* CCAction.m */,
+ B7EFF22E165C3C1400712AF8 /* CCActionCamera.h */,
+ B7EFF22F165C3C1400712AF8 /* CCActionCamera.m */,
+ B7EFF231165C3C1400712AF8 /* CCActionEase.h */,
+ B7EFF232165C3C1400712AF8 /* CCActionEase.m */,
+ B7EFF234165C3C1400712AF8 /* CCActionGrid.h */,
+ B7EFF235165C3C1400712AF8 /* CCActionGrid.m */,
+ B7EFF237165C3C1400712AF8 /* CCActionGrid3D.h */,
+ B7EFF238165C3C1400712AF8 /* CCActionGrid3D.m */,
+ B7EFF23A165C3C1400712AF8 /* CCActionInstant.h */,
+ B7EFF23B165C3C1400712AF8 /* CCActionInstant.m */,
+ B7EFF23D165C3C1400712AF8 /* CCActionInterval.h */,
+ B7EFF23E165C3C1400712AF8 /* CCActionInterval.m */,
+ B7EFF240165C3C1400712AF8 /* CCActionManager.h */,
+ B7EFF241165C3C1400712AF8 /* CCActionManager.m */,
+ B7EFF243165C3C1400712AF8 /* CCActionPageTurn3D.h */,
+ B7EFF244165C3C1400712AF8 /* CCActionPageTurn3D.m */,
+ B7EFF246165C3C1400712AF8 /* CCActionProgressTimer.h */,
+ B7EFF247165C3C1400712AF8 /* CCActionProgressTimer.m */,
+ B7EFF249165C3C1400712AF8 /* CCActionTiledGrid.h */,
+ B7EFF24A165C3C1400712AF8 /* CCActionTiledGrid.m */,
+ B7EFF24C165C3C1400712AF8 /* CCActionTween.h */,
+ B7EFF24D165C3C1400712AF8 /* CCActionTween.m */,
+ B7EFF24F165C3C1400712AF8 /* CCAnimation.h */,
+ B7EFF250165C3C1400712AF8 /* CCAnimation.m */,
+ B7EFF252165C3C1400712AF8 /* CCAnimationCache.h */,
+ B7EFF253165C3C1400712AF8 /* CCAnimationCache.m */,
+ B7EFF255165C3C1400712AF8 /* CCAtlasNode.h */,
+ B7EFF256165C3C1400712AF8 /* CCAtlasNode.m */,
+ B7EFF258165C3C1400712AF8 /* CCBlockSupport.h */,
+ B7EFF259165C3C1400712AF8 /* CCBlockSupport.m */,
+ B7EFF25B165C3C1400712AF8 /* CCCamera.h */,
+ B7EFF25C165C3C1400712AF8 /* CCCamera.m */,
+ B7EFF25E165C3C1400712AF8 /* ccConfig.h */,
+ B7EFF25F165C3C1400712AF8 /* CCConfiguration.h */,
+ B7EFF260165C3C1400712AF8 /* CCConfiguration.m */,
+ B7EFF262165C3C1400712AF8 /* CCDirector.h */,
+ B7EFF263165C3C1400712AF8 /* CCDirector.m */,
+ B7EFF265165C3C1400712AF8 /* CCDrawingPrimitives.h */,
+ B7EFF266165C3C1400712AF8 /* CCDrawingPrimitives.m */,
+ B7EFF268165C3C1500712AF8 /* CCGrabber.h */,
+ B7EFF269165C3C1500712AF8 /* CCGrabber.m */,
+ B7EFF26B165C3C1500712AF8 /* CCGrid.h */,
+ B7EFF26C165C3C1500712AF8 /* CCGrid.m */,
+ B7EFF26E165C3C1500712AF8 /* CCLabelAtlas.h */,
+ B7EFF26F165C3C1500712AF8 /* CCLabelAtlas.m */,
+ B7EFF271165C3C1500712AF8 /* CCLabelBMFont.h */,
+ B7EFF272165C3C1500712AF8 /* CCLabelBMFont.m */,
+ B7EFF274165C3C1500712AF8 /* CCLabelTTF.h */,
+ B7EFF275165C3C1500712AF8 /* CCLabelTTF.m */,
+ B7EFF277165C3C1500712AF8 /* CCLayer.h */,
+ B7EFF278165C3C1500712AF8 /* CCLayer.m */,
+ B7EFF27A165C3C1500712AF8 /* ccMacros.h */,
+ B7EFF27B165C3C1500712AF8 /* CCMenu.h */,
+ B7EFF27C165C3C1500712AF8 /* CCMenu.m */,
+ B7EFF27E165C3C1500712AF8 /* CCMenuItem.h */,
+ B7EFF27F165C3C1500712AF8 /* CCMenuItem.m */,
+ B7EFF281165C3C1500712AF8 /* CCMotionStreak.h */,
+ B7EFF282165C3C1500712AF8 /* CCMotionStreak.m */,
+ B7EFF284165C3C1500712AF8 /* CCNode.h */,
+ B7EFF285165C3C1500712AF8 /* CCNode.m */,
+ B7EFF287165C3C1500712AF8 /* CCParallaxNode.h */,
+ B7EFF288165C3C1500712AF8 /* CCParallaxNode.m */,
+ B7EFF28A165C3C1500712AF8 /* CCParticleExamples.h */,
+ B7EFF28B165C3C1500712AF8 /* CCParticleExamples.m */,
+ B7EFF28D165C3C1500712AF8 /* CCParticleSystem.h */,
+ B7EFF28E165C3C1500712AF8 /* CCParticleSystem.m */,
+ B7EFF290165C3C1500712AF8 /* CCParticleSystemPoint.h */,
+ B7EFF291165C3C1500712AF8 /* CCParticleSystemPoint.m */,
+ B7EFF293165C3C1500712AF8 /* CCParticleSystemQuad.h */,
+ B7EFF294165C3C1500712AF8 /* CCParticleSystemQuad.m */,
+ B7EFF296165C3C1500712AF8 /* CCProgressTimer.h */,
+ B7EFF297165C3C1500712AF8 /* CCProgressTimer.m */,
+ B7EFF299165C3C1500712AF8 /* CCProtocols.h */,
+ B7EFF29A165C3C1500712AF8 /* CCRenderTexture.h */,
+ B7EFF29B165C3C1500712AF8 /* CCRenderTexture.m */,
+ B7EFF29D165C3C1500712AF8 /* CCRibbon.h */,
+ B7EFF29E165C3C1500712AF8 /* CCRibbon.m */,
+ B7EFF2A0165C3C1500712AF8 /* CCScene.h */,
+ B7EFF2A1165C3C1500712AF8 /* CCScene.m */,
+ B7EFF2A3165C3C1500712AF8 /* CCScheduler.h */,
+ B7EFF2A4165C3C1500712AF8 /* CCScheduler.m */,
+ B7EFF2A6165C3C1500712AF8 /* CCSprite.h */,
+ B7EFF2A7165C3C1500712AF8 /* CCSprite.m */,
+ B7EFF2A9165C3C1500712AF8 /* CCSpriteBatchNode.h */,
+ B7EFF2AA165C3C1500712AF8 /* CCSpriteBatchNode.m */,
+ B7EFF2AC165C3C1500712AF8 /* CCSpriteFrame.h */,
+ B7EFF2AD165C3C1500712AF8 /* CCSpriteFrame.m */,
+ B7EFF2AF165C3C1500712AF8 /* CCSpriteFrameCache.h */,
+ B7EFF2B0165C3C1500712AF8 /* CCSpriteFrameCache.m */,
+ B7EFF2B2165C3C1500712AF8 /* CCTexture2D.h */,
+ B7EFF2B3165C3C1500712AF8 /* CCTexture2D.m */,
+ B7EFF2B5165C3C1500712AF8 /* CCTextureAtlas.h */,
+ B7EFF2B6165C3C1500712AF8 /* CCTextureAtlas.m */,
+ B7EFF2B8165C3C1500712AF8 /* CCTextureCache.h */,
+ B7EFF2B9165C3C1500712AF8 /* CCTextureCache.m */,
+ B7EFF2BB165C3C1500712AF8 /* CCTexturePVR.h */,
+ B7EFF2BC165C3C1500712AF8 /* CCTexturePVR.m */,
+ B7EFF2BE165C3C1500712AF8 /* CCTileMapAtlas.h */,
+ B7EFF2BF165C3C1500712AF8 /* CCTileMapAtlas.m */,
+ B7EFF2C1165C3C1500712AF8 /* CCTMXLayer.h */,
+ B7EFF2C2165C3C1500712AF8 /* CCTMXLayer.m */,
+ B7EFF2C4165C3C1500712AF8 /* CCTMXObjectGroup.h */,
+ B7EFF2C5165C3C1500712AF8 /* CCTMXObjectGroup.m */,
+ B7EFF2C7165C3C1500712AF8 /* CCTMXTiledMap.h */,
+ B7EFF2C8165C3C1500712AF8 /* CCTMXTiledMap.m */,
+ B7EFF2CA165C3C1500712AF8 /* CCTMXXMLParser.h */,
+ B7EFF2CB165C3C1500712AF8 /* CCTMXXMLParser.m */,
+ B7EFF2CD165C3C1500712AF8 /* CCTransition.h */,
+ B7EFF2CE165C3C1500712AF8 /* CCTransition.m */,
+ B7EFF2D0165C3C1500712AF8 /* CCTransitionPageTurn.h */,
+ B7EFF2D1165C3C1500712AF8 /* CCTransitionPageTurn.m */,
+ B7EFF2D3165C3C1500712AF8 /* CCTransitionRadial.h */,
+ B7EFF2D4165C3C1500712AF8 /* CCTransitionRadial.m */,
+ B7EFF2D6165C3C1500712AF8 /* ccTypes.h */,
+ B7EFF2D7165C3C1500712AF8 /* cocos2d.h */,
+ B7EFF2D8165C3C1500712AF8 /* cocos2d.m */,
+ B7EFF2DA165C3C1500712AF8 /* Platforms */,
+ B7EFF2FF165C3C1600712AF8 /* Support */,
+ );
+ name = cocos2d;
+ sourceTree = "<group>";
+ };
+ B7EFF2DA165C3C1500712AF8 /* Platforms */ = {
+ isa = PBXGroup;
+ children = (
+ B7EFF2DB165C3C1500712AF8 /* CCGL.h */,
+ B7EFF2DC165C3C1500712AF8 /* CCNS.h */,
+ B7EFF2DD165C3C1500712AF8 /* iOS */,
+ B7EFF2F2165C3C1500712AF8 /* Mac */,
+ );
+ name = Platforms;
+ sourceTree = "<group>";
+ };
+ B7EFF2DD165C3C1500712AF8 /* iOS */ = {
+ isa = PBXGroup;
+ children = (
+ B7EFF2DE165C3C1500712AF8 /* CCDirectorIOS.h */,
+ B7EFF2DF165C3C1500712AF8 /* CCDirectorIOS.m */,
+ B7EFF2E1165C3C1500712AF8 /* CCTouchDelegateProtocol.h */,
+ B7EFF2E2165C3C1500712AF8 /* CCTouchDispatcher.h */,
+ B7EFF2E3165C3C1500712AF8 /* CCTouchDispatcher.m */,
+ B7EFF2E5165C3C1500712AF8 /* CCTouchHandler.h */,
+ B7EFF2E6165C3C1500712AF8 /* CCTouchHandler.m */,
+ B7EFF2E8165C3C1500712AF8 /* EAGLView.h */,
+ B7EFF2E9165C3C1500712AF8 /* EAGLView.m */,
+ B7EFF2EB165C3C1500712AF8 /* ES1Renderer.h */,
+ B7EFF2EC165C3C1500712AF8 /* ES1Renderer.m */,
+ B7EFF2EE165C3C1500712AF8 /* ESRenderer.h */,
+ B7EFF2EF165C3C1500712AF8 /* glu.c */,
+ B7EFF2F1165C3C1500712AF8 /* glu.h */,
+ );
+ name = iOS;
+ sourceTree = "<group>";
+ };
+ B7EFF2F2165C3C1500712AF8 /* Mac */ = {
+ isa = PBXGroup;
+ children = (
+ B7EFF2F3165C3C1500712AF8 /* CCDirectorMac.h */,
+ B7EFF2F4165C3C1500712AF8 /* CCDirectorMac.m */,
+ B7EFF2F6165C3C1500712AF8 /* CCEventDispatcher.h */,
+ B7EFF2F7165C3C1500712AF8 /* CCEventDispatcher.m */,
+ B7EFF2F9165C3C1500712AF8 /* MacGLView.h */,
+ B7EFF2FA165C3C1500712AF8 /* MacGLView.m */,
+ B7EFF2FC165C3C1500712AF8 /* MacWindow.h */,
+ B7EFF2FD165C3C1500712AF8 /* MacWindow.m */,
+ );
+ name = Mac;
+ sourceTree = "<group>";
+ };
+ B7EFF2FF165C3C1600712AF8 /* Support */ = {
+ isa = PBXGroup;
+ children = (
+ B7EFF300165C3C1600712AF8 /* base64.c */,
+ B7EFF302165C3C1600712AF8 /* base64.h */,
+ B7EFF303165C3C1600712AF8 /* CCArray.h */,
+ B7EFF304165C3C1600712AF8 /* CCArray.m */,
+ B7EFF306165C3C1600712AF8 /* ccCArray.h */,
+ B7EFF307165C3C1600712AF8 /* CCFileUtils.h */,
+ B7EFF308165C3C1600712AF8 /* CCFileUtils.m */,
+ B7EFF30A165C3C1600712AF8 /* CCProfiling.h */,
+ B7EFF30B165C3C1600712AF8 /* CCProfiling.m */,
+ B7EFF30D165C3C1600712AF8 /* ccUtils.c */,
+ B7EFF30F165C3C1600712AF8 /* ccUtils.h */,
+ B7EFF310165C3C1600712AF8 /* CGPointExtension.h */,
+ B7EFF311165C3C1600712AF8 /* CGPointExtension.m */,
+ B7EFF313165C3C1600712AF8 /* OpenGL_Internal.h */,
+ B7EFF314165C3C1600712AF8 /* TGAlib.h */,
+ B7EFF315165C3C1600712AF8 /* TGAlib.m */,
+ B7EFF317165C3C1600712AF8 /* TransformUtils.h */,
+ B7EFF318165C3C1600712AF8 /* TransformUtils.m */,
+ B7EFF31A165C3C1600712AF8 /* uthash.h */,
+ B7EFF31B165C3C1600712AF8 /* utlist.h */,
+ B7EFF31C165C3C1600712AF8 /* ZipUtils.h */,
+ B7EFF31D165C3C1600712AF8 /* ZipUtils.m */,
+ );
+ name = Support;
+ sourceTree = "<group>";
+ };
+ B7EFF362165C3C1600712AF8 /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ B7EFF363165C3C1600712AF8 /* Prefix.pch */,
+ B7EFF364165C3C1600712AF8 /* main.m */,
+ );
+ name = "Supporting Files";
+ sourceTree = "<group>";
+ };
+ B7EFF379165C3D4E00712AF8 /* FontLabel */ = {
+ isa = PBXGroup;
+ children = (
+ B7EFF37A165C3D4E00712AF8 /* FontLabel.h */,
+ B7EFF37B165C3D4E00712AF8 /* FontLabel.m */,
+ B7EFF37C165C3D4E00712AF8 /* FontLabelStringDrawing.h */,
+ B7EFF37D165C3D4E00712AF8 /* FontLabelStringDrawing.m */,
+ B7EFF37E165C3D4E00712AF8 /* FontManager.h */,
+ B7EFF37F165C3D4E00712AF8 /* FontManager.m */,
+ B7EFF380165C3D4E00712AF8 /* ZAttributedString.h */,
+ B7EFF381165C3D4E00712AF8 /* ZAttributedString.m */,
+ B7EFF382165C3D4E00712AF8 /* ZAttributedStringPrivate.h */,
+ B7EFF383165C3D4E00712AF8 /* ZFont.h */,
+ B7EFF384165C3D4E00712AF8 /* ZFont.m */,
+ );
+ name = FontLabel;
+ path = libs/FontLabel;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ B7EFF1FF165C3C1400712AF8 /* DestructibleGround */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = B7EFF372165C3C1600712AF8 /* Build configuration list for PBXNativeTarget "DestructibleGround" */;
+ buildPhases = (
+ B7EFF1FC165C3C1400712AF8 /* Sources */,
+ B7EFF1FD165C3C1400712AF8 /* Frameworks */,
+ B7EFF1FE165C3C1400712AF8 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = DestructibleGround;
+ productName = DestructibleGround;
+ productReference = B7EFF200165C3C1400712AF8 /* DestructibleGround.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ B7EFF1F7165C3C1400712AF8 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 0450;
+ };
+ buildConfigurationList = B7EFF1FA165C3C1400712AF8 /* Build configuration list for PBXProject "DestructibleGround" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = B7EFF1F5165C3C1400712AF8;
+ productRefGroup = B7EFF201165C3C1400712AF8 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ B7EFF1FF165C3C1400712AF8 /* DestructibleGround */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ B7EFF1FE165C3C1400712AF8 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ B7EFF217165C3C1400712AF8 /* Default.png in Resources */,
+ B7EFF219165C3C1400712AF8 /* fps_images.png in Resources */,
+ B7EFF21B165C3C1400712AF8 /* Icon-72.png in Resources */,
+ B7EFF21D165C3C1400712AF8 /* Icon-Small-50.png in Resources */,
+ B7EFF21F165C3C1400712AF8 /* Icon-Small.png in Resources */,
+ B7EFF221165C3C1400712AF8 /* Icon-Small@2x.png in Resources */,
+ B7EFF223165C3C1400712AF8 /* Icon.png in Resources */,
+ B7EFF225165C3C1400712AF8 /* Icon@2x.png in Resources */,
+ B7EFF228165C3C1400712AF8 /* iTunesArtwork in Resources */,
+ B7EFF38C165C3D5800712AF8 /* LICENSE_FontLabel.txt in Resources */,
+ B7EFF3A0165C406100712AF8 /* ground_vertical.png in Resources */,
+ B7D0DD13165CDE2200071D65 /* miner.png in Resources */,
+ B7D0DD16165CE79D00071D65 /* microminers.png in Resources */,
+ B7D0DD21165CFB6D00071D65 /* info.png in Resources */,
+ B7D0DD22165CFB6D00071D65 /* twitter.png in Resources */,
+ B7D0DD24165D012F00071D65 /* back.png in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ B7EFF1FC165C3C1400712AF8 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ B7EFF22D165C3C1400712AF8 /* CCAction.m in Sources */,
+ B7EFF230165C3C1400712AF8 /* CCActionCamera.m in Sources */,
+ B7EFF233165C3C1400712AF8 /* CCActionEase.m in Sources */,
+ B7EFF236165C3C1400712AF8 /* CCActionGrid.m in Sources */,
+ B7EFF239165C3C1400712AF8 /* CCActionGrid3D.m in Sources */,
+ B7EFF23C165C3C1400712AF8 /* CCActionInstant.m in Sources */,
+ B7EFF23F165C3C1400712AF8 /* CCActionInterval.m in Sources */,
+ B7EFF242165C3C1400712AF8 /* CCActionManager.m in Sources */,
+ B7EFF245165C3C1400712AF8 /* CCActionPageTurn3D.m in Sources */,
+ B7EFF248165C3C1400712AF8 /* CCActionProgressTimer.m in Sources */,
+ B7EFF24B165C3C1400712AF8 /* CCActionTiledGrid.m in Sources */,
+ B7EFF24E165C3C1400712AF8 /* CCActionTween.m in Sources */,
+ B7EFF251165C3C1400712AF8 /* CCAnimation.m in Sources */,
+ B7EFF254165C3C1400712AF8 /* CCAnimationCache.m in Sources */,
+ B7EFF257165C3C1400712AF8 /* CCAtlasNode.m in Sources */,
+ B7EFF25A165C3C1400712AF8 /* CCBlockSupport.m in Sources */,
+ B7EFF25D165C3C1400712AF8 /* CCCamera.m in Sources */,
+ B7EFF261165C3C1400712AF8 /* CCConfiguration.m in Sources */,
+ B7EFF264165C3C1400712AF8 /* CCDirector.m in Sources */,
+ B7EFF267165C3C1400712AF8 /* CCDrawingPrimitives.m in Sources */,
+ B7EFF26A165C3C1500712AF8 /* CCGrabber.m in Sources */,
+ B7EFF26D165C3C1500712AF8 /* CCGrid.m in Sources */,
+ B7EFF270165C3C1500712AF8 /* CCLabelAtlas.m in Sources */,
+ B7EFF273165C3C1500712AF8 /* CCLabelBMFont.m in Sources */,
+ B7EFF276165C3C1500712AF8 /* CCLabelTTF.m in Sources */,
+ B7EFF279165C3C1500712AF8 /* CCLayer.m in Sources */,
+ B7EFF27D165C3C1500712AF8 /* CCMenu.m in Sources */,
+ B7EFF280165C3C1500712AF8 /* CCMenuItem.m in Sources */,
+ B7EFF283165C3C1500712AF8 /* CCMotionStreak.m in Sources */,
+ B7EFF286165C3C1500712AF8 /* CCNode.m in Sources */,
+ B7EFF289165C3C1500712AF8 /* CCParallaxNode.m in Sources */,
+ B7EFF28C165C3C1500712AF8 /* CCParticleExamples.m in Sources */,
+ B7EFF28F165C3C1500712AF8 /* CCParticleSystem.m in Sources */,
+ B7EFF292165C3C1500712AF8 /* CCParticleSystemPoint.m in Sources */,
+ B7EFF295165C3C1500712AF8 /* CCParticleSystemQuad.m in Sources */,
+ B7EFF298165C3C1500712AF8 /* CCProgressTimer.m in Sources */,
+ B7EFF29C165C3C1500712AF8 /* CCRenderTexture.m in Sources */,
+ B7EFF29F165C3C1500712AF8 /* CCRibbon.m in Sources */,
+ B7EFF2A2165C3C1500712AF8 /* CCScene.m in Sources */,
+ B7EFF2A5165C3C1500712AF8 /* CCScheduler.m in Sources */,
+ B7EFF2A8165C3C1500712AF8 /* CCSprite.m in Sources */,
+ B7EFF2AB165C3C1500712AF8 /* CCSpriteBatchNode.m in Sources */,
+ B7EFF2AE165C3C1500712AF8 /* CCSpriteFrame.m in Sources */,
+ B7EFF2B1165C3C1500712AF8 /* CCSpriteFrameCache.m in Sources */,
+ B7EFF2B4165C3C1500712AF8 /* CCTexture2D.m in Sources */,
+ B7EFF2B7165C3C1500712AF8 /* CCTextureAtlas.m in Sources */,
+ B7EFF2BA165C3C1500712AF8 /* CCTextureCache.m in Sources */,
+ B7EFF2BD165C3C1500712AF8 /* CCTexturePVR.m in Sources */,
+ B7EFF2C0165C3C1500712AF8 /* CCTileMapAtlas.m in Sources */,
+ B7EFF2C3165C3C1500712AF8 /* CCTMXLayer.m in Sources */,
+ B7EFF2C6165C3C1500712AF8 /* CCTMXObjectGroup.m in Sources */,
+ B7EFF2C9165C3C1500712AF8 /* CCTMXTiledMap.m in Sources */,
+ B7EFF2CC165C3C1500712AF8 /* CCTMXXMLParser.m in Sources */,
+ B7EFF2CF165C3C1500712AF8 /* CCTransition.m in Sources */,
+ B7EFF2D2165C3C1500712AF8 /* CCTransitionPageTurn.m in Sources */,
+ B7EFF2D5165C3C1500712AF8 /* CCTransitionRadial.m in Sources */,
+ B7EFF2D9165C3C1500712AF8 /* cocos2d.m in Sources */,
+ B7EFF2E0165C3C1500712AF8 /* CCDirectorIOS.m in Sources */,
+ B7EFF2E4165C3C1500712AF8 /* CCTouchDispatcher.m in Sources */,
+ B7EFF2E7165C3C1500712AF8 /* CCTouchHandler.m in Sources */,
+ B7EFF2EA165C3C1500712AF8 /* EAGLView.m in Sources */,
+ B7EFF2ED165C3C1500712AF8 /* ES1Renderer.m in Sources */,
+ B7EFF2F0165C3C1500712AF8 /* glu.c in Sources */,
+ B7EFF2F5165C3C1500712AF8 /* CCDirectorMac.m in Sources */,
+ B7EFF2F8165C3C1500712AF8 /* CCEventDispatcher.m in Sources */,
+ B7EFF2FB165C3C1500712AF8 /* MacGLView.m in Sources */,
+ B7EFF2FE165C3C1500712AF8 /* MacWindow.m in Sources */,
+ B7EFF301165C3C1600712AF8 /* base64.c in Sources */,
+ B7EFF305165C3C1600712AF8 /* CCArray.m in Sources */,
+ B7EFF309165C3C1600712AF8 /* CCFileUtils.m in Sources */,
+ B7EFF30C165C3C1600712AF8 /* CCProfiling.m in Sources */,
+ B7EFF30E165C3C1600712AF8 /* ccUtils.c in Sources */,
+ B7EFF312165C3C1600712AF8 /* CGPointExtension.m in Sources */,
+ B7EFF316165C3C1600712AF8 /* TGAlib.m in Sources */,
+ B7EFF319165C3C1600712AF8 /* TransformUtils.m in Sources */,
+ B7EFF31E165C3C1600712AF8 /* ZipUtils.m in Sources */,
+ B7EFF365165C3C1600712AF8 /* main.m in Sources */,
+ B7EFF368165C3C1600712AF8 /* AppDelegate.m in Sources */,
+ B7EFF36B165C3C1600712AF8 /* RootViewController.m in Sources */,
+ B7EFF36E165C3C1600712AF8 /* GameLayer.m in Sources */,
+ B7EFF385165C3D4E00712AF8 /* FontLabel.m in Sources */,
+ B7EFF386165C3D4E00712AF8 /* FontLabelStringDrawing.m in Sources */,
+ B7EFF387165C3D4E00712AF8 /* FontManager.m in Sources */,
+ B7EFF388165C3D4E00712AF8 /* ZAttributedString.m in Sources */,
+ B7EFF389165C3D4E00712AF8 /* ZFont.m in Sources */,
+ B7EFF39B165C3EF300712AF8 /* CCMutableTexture2D.m in Sources */,
+ B7EFF39E165C3F5B00712AF8 /* AsyncObject.m in Sources */,
+ B7D0DD1E165CF8DB00071D65 /* CreditsLayer.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin XCBuildConfiguration section */
+ B7EFF370165C3C1600712AF8 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ DEBUG,
+ "COCOS2D_DEBUG=1",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_VERSION = com.apple.compilers.llvmgcc42;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 4.3;
+ SDKROOT = iphoneos;
+ };
+ name = Debug;
+ };
+ B7EFF371165C3C1600712AF8 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_PREPROCESSOR_DEFINITIONS = NDEBUG;
+ GCC_VERSION = com.apple.compilers.llvmgcc42;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 4.3;
+ OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
+ SDKROOT = iphoneos;
+ };
+ name = Release;
+ };
+ B7EFF373165C3C1600712AF8 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = DestructibleGround/Prefix.pch;
+ "GCC_THUMB_SUPPORT[arch=armv6]" = "";
+ INFOPLIST_FILE = DestructibleGround/Resources/Info.plist;
+ OTHER_LDFLAGS = "-lz";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Debug;
+ };
+ B7EFF374165C3C1600712AF8 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ COPY_PHASE_STRIP = YES;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = DestructibleGround/Prefix.pch;
+ "GCC_THUMB_SUPPORT[arch=armv6]" = "";
+ INFOPLIST_FILE = DestructibleGround/Resources/Info.plist;
+ OTHER_LDFLAGS = "-lz";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ VALIDATE_PRODUCT = YES;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ B7EFF1FA165C3C1400712AF8 /* Build configuration list for PBXProject "DestructibleGround" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ B7EFF370165C3C1600712AF8 /* Debug */,
+ B7EFF371165C3C1600712AF8 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ B7EFF372165C3C1600712AF8 /* Build configuration list for PBXNativeTarget "DestructibleGround" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ B7EFF373165C3C1600712AF8 /* Debug */,
+ B7EFF374165C3C1600712AF8 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = B7EFF1F7165C3C1400712AF8 /* Project object */;
+}
7 DestructibleGround.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+ version = "1.0">
+ <FileRef
+ location = "self:DestructibleGround.xcodeproj">
+ </FileRef>
+</Workspace>
BIN  ...ctibleGround.xcodeproj/project.xcworkspace/xcuserdata/jpsarda.xcuserdatad/UserInterfaceState.xcuserstate
Binary file not shown
14 DestructibleGround.xcodeproj/xcuserdata/jpsarda.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Bucket
+ type = "1"
+ version = "1.0">
+ <ExceptionBreakpoints>
+ <ExceptionBreakpoint
+ shouldBeEnabled = "Yes"
+ ignoreCount = "0"
+ continueAfterRunningActions = "No"
+ scope = "0"
+ stopOnStyle = "0">
+ </ExceptionBreakpoint>
+ </ExceptionBreakpoints>
+</Bucket>
86 DestructibleGround.xcodeproj/xcuserdata/jpsarda.xcuserdatad/xcschemes/DestructibleGround.xcscheme
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ LastUpgradeVersion = "0450"
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ <BuildActionEntries>
+ <BuildActionEntry
+ buildForTesting = "YES"
+ buildForRunning = "YES"
+ buildForProfiling = "YES"
+ buildForArchiving = "YES"
+ buildForAnalyzing = "YES">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "B7EFF1FF165C3C1400712AF8"
+ BuildableName = "DestructibleGround.app"
+ BlueprintName = "DestructibleGround"
+ ReferencedContainer = "container:DestructibleGround.xcodeproj">
+ </BuildableReference>
+ </BuildActionEntry>
+ </BuildActionEntries>
+ </BuildAction>
+ <TestAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ buildConfiguration = "Debug">
+ <Testables>
+ </Testables>
+ <MacroExpansion>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "B7EFF1FF165C3C1400712AF8"
+ BuildableName = "DestructibleGround.app"
+ BlueprintName = "DestructibleGround"
+ ReferencedContainer = "container:DestructibleGround.xcodeproj">
+ </BuildableReference>
+ </MacroExpansion>
+ </TestAction>
+ <LaunchAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Debug"
+ ignoresPersistentStateOnLaunch = "NO"
+ debugDocumentVersioning = "YES"
+ allowLocationSimulation = "YES">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "B7EFF1FF165C3C1400712AF8"
+ BuildableName = "DestructibleGround.app"
+ BlueprintName = "DestructibleGround"
+ ReferencedContainer = "container:DestructibleGround.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </LaunchAction>
+ <ProfileAction
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Release"
+ debugDocumentVersioning = "YES">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "B7EFF1FF165C3C1400712AF8"
+ BuildableName = "DestructibleGround.app"
+ BlueprintName = "DestructibleGround"
+ ReferencedContainer = "container:DestructibleGround.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
22 DestructibleGround.xcodeproj/xcuserdata/jpsarda.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>SchemeUserState</key>
+ <dict>
+ <key>DestructibleGround.xcscheme</key>
+ <dict>
+ <key>orderHint</key>
+ <integer>0</integer>
+ </dict>
+ </dict>
+ <key>SuppressBuildableAutocreation</key>
+ <dict>
+ <key>B7EFF1FF165C3C1400712AF8</key>
+ <dict>
+ <key>primary</key>
+ <true/>
+ </dict>
+ </dict>
+</dict>
+</plist>
20 DestructibleGround/AppDelegate.h
@@ -0,0 +1,20 @@
+//
+// AppDelegate.h
+// DestructibleGround
+//
+// Created by Jean-Philippe SARDA on 11/20/12.
+// Copyright __MyCompanyName__ 2012. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+@class RootViewController;
+
+@interface AppDelegate : NSObject <UIApplicationDelegate> {
+ UIWindow *window;
+ RootViewController *viewController;
+}
+
+@property (nonatomic, retain) UIWindow *window;
+
+@end
157 DestructibleGround/AppDelegate.m
@@ -0,0 +1,157 @@
+//
+// AppDelegate.m
+// DestructibleGround
+//
+// Created by Jean-Philippe SARDA on 11/20/12.
+// Copyright __MyCompanyName__ 2012. All rights reserved.
+//
+
+#import "cocos2d.h"
+
+#import "AppDelegate.h"
+#import "GameConfig.h"
+#import "GameLayer.h"
+#import "RootViewController.h"
+
+@implementation AppDelegate
+
+@synthesize window;
+
+- (void) removeStartupFlicker
+{
+ //
+ // THIS CODE REMOVES THE STARTUP FLICKER
+ //
+ // Uncomment the following code if you Application only supports landscape mode
+ //
+#if GAME_AUTOROTATION == kGameAutorotationUIViewController
+
+// CC_ENABLE_DEFAULT_GL_STATES();
+// CCDirector *director = [CCDirector sharedDirector];
+// CGSize size = [director winSize];
+// CCSprite *sprite = [CCSprite spriteWithFile:@"Default.png"];
+// sprite.position = ccp(size.width/2, size.height/2);
+// sprite.rotation = -90;
+// [sprite visit];
+// [[director openGLView] swapBuffers];
+// CC_ENABLE_DEFAULT_GL_STATES();
+
+#endif // GAME_AUTOROTATION == kGameAutorotationUIViewController
+}
+- (void) applicationDidFinishLaunching:(UIApplication*)application
+{
+ // Init the window
+ window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
+
+ // Try to use CADisplayLink director
+ // if it fails (SDK < 3.1) use the default director
+ if( ! [CCDirector setDirectorType:kCCDirectorTypeDisplayLink] )
+ [CCDirector setDirectorType:kCCDirectorTypeDefault];
+
+
+ CCDirector *director = [CCDirector sharedDirector];
+
+ // Init the View Controller
+ viewController = [[RootViewController alloc] initWithNibName:nil bundle:nil];
+ viewController.wantsFullScreenLayout = YES;
+
+ //
+ // Create the EAGLView manually
+ // 1. Create a RGB565 format. Alternative: RGBA8
+ // 2. depth format of 0 bit. Use 16 or 24 bit for 3d effects, like CCPageTurnTransition
+ //
+ //
+ EAGLView *glView = [EAGLView viewWithFrame:[window bounds]
+ pixelFormat:kEAGLColorFormatRGB565 // kEAGLColorFormatRGBA8
+ depthFormat:0 // GL_DEPTH_COMPONENT16_OES
+ ];
+
+ // attach the openglView to the director
+ [director setOpenGLView:glView];
+
+// // Enables High Res mode (Retina Display) on iPhone 4 and maintains low res on all other devices
+// if( ! [director enableRetinaDisplay:YES] )
+// CCLOG(@"Retina Display Not supported");
+
+ //
+ // VERY IMPORTANT:
+ // If the rotation is going to be controlled by a UIViewController
+ // then the device orientation should be "Portrait".
+ //
+ // IMPORTANT:
+ // By default, this template only supports Landscape orientations.
+ // Edit the RootViewController.m file to edit the supported orientations.
+ //
+
+ [director setDeviceOrientation:kCCDeviceOrientationPortrait];
+
+
+ [director setAnimationInterval:1.0/60];
+ [director setDisplayFPS:YES];
+
+
+ // make the OpenGLView a child of the view controller
+ [viewController setView:glView];
+
+ // make the View Controller a child of the main window
+ [window addSubview: viewController.view];
+
+ [window makeKeyAndVisible];
+
+ // Default texture format for PNG/BMP/TIFF/JPEG/GIF images
+ // It can be RGBA8888, RGBA4444, RGB5_A1, RGB565
+ // You can change anytime.
+ [CCTexture2D setDefaultAlphaPixelFormat:kCCTexture2DPixelFormat_RGBA8888];
+
+
+ // Removes the startup flicker
+ [self removeStartupFlicker];
+
+ // Run the intro Scene
+ [[CCDirector sharedDirector] runWithScene: [GameLayer scene]];
+}
+
+
+- (void)applicationWillResignActive:(UIApplication *)application {
+ [[CCDirector sharedDirector] pause];
+}
+
+- (void)applicationDidBecomeActive:(UIApplication *)application {
+ [[CCDirector sharedDirector] resume];
+}
+
+- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
+ [[CCDirector sharedDirector] purgeCachedData];
+}
+
+-(void) applicationDidEnterBackground:(UIApplication*)application {
+ [[CCDirector sharedDirector] stopAnimation];
+}
+
+-(void) applicationWillEnterForeground:(UIApplication*)application {
+ [[CCDirector sharedDirector] startAnimation];
+}
+
+- (void)applicationWillTerminate:(UIApplication *)application {
+ CCDirector *director = [CCDirector sharedDirector];
+
+ [[director openGLView] removeFromSuperview];
+
+ [viewController release];
+
+ [window release];
+
+ [director end];
+}
+
+- (void)applicationSignificantTimeChange:(UIApplication *)application {
+ [[CCDirector sharedDirector] setNextDeltaTimeZero:YES];
+}
+
+- (void)dealloc {
+ [[CCDirector sharedDirector] end];
+ [window release];
+ [super dealloc];
+}
+
+@end
20 DestructibleGround/AsyncObject.h
@@ -0,0 +1,20 @@
+//
+// AsyncObject.h
+// PixelPile
+//
+// Created by Lam Pham on 1/25/10.
+// Copyright 2010 __MyCompanyName__. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+@interface AsyncObject : NSObject
+{
+ SEL selector_;
+ id target_;
+ id data_;
+}
+@property (readwrite,assign) SEL selector;
+@property (readwrite,retain) id target;
+@property (readwrite,retain) id data;
+@end
22 DestructibleGround/AsyncObject.m
@@ -0,0 +1,22 @@
+//
+// AsyncObject.m
+// PixelPile
+//
+// Created by Lam Pham on 1/25/10.
+// Copyright 2010 __MyCompanyName__. All rights reserved.
+//
+
+#import "AsyncObject.h"
+
+@implementation AsyncObject
+@synthesize selector = selector_;
+@synthesize target = target_;
+@synthesize data = data_;
+- (void) dealloc
+{
+ [target_ release];
+ [data_ release];
+ [super dealloc];
+}
+@end
+
141 DestructibleGround/CCMutableTexture2D.h
@@ -0,0 +1,141 @@
+///
+// CCMutableTexture2D extends cocos2D CCTexture2D
+// Created by Lam Hoang Pham.
+//
+// Allows for modifications of the texture data. If you load PVR's then you are
+// out of luck. Supported pixelFormats will allow access to bitmap data.
+//
+// Support for RGBA_4_4_4_4 and RGBA_5_5_5_1 was copied from:
+// https://devforums.apple.com/message/37855#37855 by a1studmuffin
+//
+///
+
+#import <UIKit/UIKit.h>
+#import <OpenGLES/ES1/gl.h>
+#import "cocos2d.h"
+
+
+#define CCMUTABLETEXTURE2D_LINE_POLY_COUNT 10
+
+
+@interface CCMutableTexture2D : CCTexture2D
+{
+ void *data_;
+ bool dirty_;
+ NSLock *contextLock_;
+
+ //Acceleration vars
+ uint* pixelUint;
+ GLushort* pixelGLushort;
+ GLubyte* pixelGLubyte;
+ uint colorUint;
+ GLushort colorGLushort;
+ GLubyte colorGLubyte;
+ CGPoint *poly;
+}
+@property (readonly) CGPoint *poly;
+// Returns the maximum allowed texture size
++ (int) maxTextureSize;
+@end
+
+@interface CCMutableTexture2D(Image)
+///
+// Create a texture with an image
+///
++ (id) textureWithImage:(UIImage*) image;
+- (id) initWithImage:(UIImage*) image;
+@end
+
+@interface CCMutableTexture2D(CCTexture2D)
+///
+// Create a texture with a CCTexture2D
+///
++ (id) textureWithTexture2D:(CCTexture2D*) tex;
+- (id) initWithTexture2D:(CCTexture2D*) tex;
+@end
+
+@interface CCMutableTexture2D (MutableTexture)
+///
+// Create a blank texture with canvas size and default pixel format
+///
++ (id) textureWithSize:(CGSize) size;
+
+///
+// Create a blank texture with canvas size and chosen pixel format
+///
++ (id) textureWithSize:(CGSize) size pixelFormat:(CCTexture2DPixelFormat) pixelFormat;
+
+///
+// Create a blank texture with canvas size and default pixel format
+///
+- (id) initWithSize:(CGSize) size pixelFormat:(CCTexture2DPixelFormat) pixelFormat;
+
+///
+// @param pt is a point to get a pixel (0,0) is top-left to (width,height) bottom-right
+// @returns a ccColor4B which is a colour, otherwise it returns Texture2DPixelClear
+///
+- (ccColor4B) pixelAt:(CGPoint) pt;
+
+///
+// @param pt is a point to get a pixel (0,0) is top-left to (width,height) bottom-right
+// @param c is a ccColor4B which is a colour.
+// Remember to call apply to actually update the texture canvas.
+///
+- (BOOL) setPixelAt:(CGPoint) pt rgba:(ccColor4B) c;
+
+///
+// Fill with specified colour
+///
+- (void) fill:(ccColor4B) c;
+
+///
+// Fill a polygon (n points) with specified colour
+///
+- (void) fillConvexPolygon:(CGPoint*)p :(int)n withColor:(ccColor4B)c;
+
+///
+// Draw an horizontal line
+///
+- (void) drawHorizontalLine:(float)x0 :(float)x1 :(float)yF withColor:(ccColor4B)c;
+
+///
+// Draw a line with width (not optimized for a 1 pixel width line)
+///
+-(void) drawLineFrom:(CGPoint)p0 to:(CGPoint)p1 withLineWidth:(float)w andColor:(ccColor4B) c;
+
+
+///
+// Apply actually updates the texture with any new data we added.
+// If you never call apply then you will never see the texture update but don't
+// call this method too much. Use it sparingly since you can always set a number of pixels
+// before ever needing to apply it.
+///
+- (Boolean) apply;
+
+///
+// apply actually could slow down app a bit so asynch might have better visual performance
+// Once the apply has finished, it will execute the callback.
+// @param target the address to call the selector
+// @param callbackSel the selector to use
+///
+- (void) applyAsyncWithCallback:(id) target selector:(SEL) callbackSel;
+@end
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+///
+// Fast find for powers of 2
+///
+bool IsPow2(uint v);
+
+///
+// Fast round to nearest power of 2 for 32-bit int's.
+///
+uint RoundToNearestPow2(uint v);
+
+#ifdef __cplusplus
+}
+#endif
749 DestructibleGround/CCMutableTexture2D.m
@@ -0,0 +1,749 @@
+///
+// All info located in header.
+///
+#import <OpenGLES/ES1/glext.h>
+#import "CCMutableTexture2D.h"
+#import "AsyncObject.h"
+
+/*
+#import "EAGLView.h"
+#import "CCConfiguration.h"
+#import "ccMacros.h"
+#import "cocos2d.h"
+*/
+///
+// Fast find for powers of 2
+///
+bool IsPow2(uint v)
+{
+ return (v > 1) && ((v & (v - 1)) == 0);
+}
+
+///
+// Fast round to nearest power of 2 for 32-bit int's.
+///
+uint RoundToNearestPow2(uint v)
+{
+ //if(v < 32) return 32;
+ if(v <= 1)return 2;
+ v--;
+ v |= v >> 1;
+ v |= v >> 2;
+ v |= v >> 4;
+ v |= v >> 8;
+ v |= v >> 16;
+ v++;
+ return v;
+}
+
+@implementation CCMutableTexture2D
+@synthesize poly;
+static EAGLContext *mutableTextureAuxEAGLcontext = nil;
++ (int) maxTextureSize
+{
+ return 1024;
+}
+-(void)commonInit {
+ //Draw line polygon
+ poly = calloc( sizeof(CGPoint) * CCMUTABLETEXTURE2D_LINE_POLY_COUNT, 1 );
+}
+- (id) initWithData:(const void*)data pixelFormat:(CCTexture2DPixelFormat)pixelFormat pixelsWide:(NSUInteger)width pixelsHigh:(NSUInteger)height contentSize:(CGSize)size
+{
+ if((self = [super initWithData:data pixelFormat:pixelFormat pixelsWide:width pixelsHigh:height contentSize:size])) {
+ data_ = NULL;
+ dirty_ = false;
+ } else {
+ [self commonInit];
+ }
+ return self;
+}
+
+
+- (void) dealloc
+{
+ if(data_) { free(data_); data_ = NULL; }
+ if(poly) { free(poly); poly = NULL; }
+
+ [contextLock_ release];
+
+ [super dealloc];
+}
+
+@end
+
+@implementation CCMutableTexture2D(Image)
++ (id) textureWithImage:(UIImage*) image
+{
+ return [[[self alloc]initWithImage:image]autorelease];
+}
+
+- (id) initWithImage:(UIImage *)uiImage
+{
+ NSUInteger width,
+ height,
+ i;
+ CGContextRef context = nil;
+ void* data = nil;;
+ CGColorSpaceRef colorSpace;
+ void* tempData;
+ unsigned int* inPixel32;
+ unsigned short* outPixel16;
+ BOOL hasAlpha;
+ CGImageAlphaInfo info;
+ CGAffineTransform transform;
+ CGSize imageSize;
+ CCTexture2DPixelFormat pixelFormat;
+ CGImageRef image;
+ BOOL sizeToFit = NO;
+
+
+ image = [uiImage CGImage];
+
+ if(image == NULL) {
+ [self release];
+ NSLog(@"Image is Null");
+ return nil;
+ }
+
+
+ info = CGImageGetAlphaInfo(image);
+ hasAlpha = ((info == kCGImageAlphaPremultipliedLast) || (info == kCGImageAlphaPremultipliedFirst) || (info == kCGImageAlphaLast) || (info == kCGImageAlphaFirst) ? YES : NO);
+
+ size_t bpp = CGImageGetBitsPerComponent(image);
+ if(CGImageGetColorSpace(image)) {
+ if(hasAlpha || bpp >= 8)
+ pixelFormat = [CCTexture2D defaultAlphaPixelFormat];
+ else
+ pixelFormat = kTexture2DPixelFormat_RGB565;
+ } else //NOTE: No colorspace means a mask image
+ pixelFormat = kTexture2DPixelFormat_A8;
+
+ imageSize = CGSizeMake(CGImageGetWidth(image), CGImageGetHeight(image));
+ transform = CGAffineTransformIdentity;
+
+ width = imageSize.width;
+
+ if((width != 1) && (width & (width - 1))) {
+ i = 1;
+ while((sizeToFit ? 2 * i : i) < width)
+ i *= 2;
+ width = i;
+ }
+ height = imageSize.height;
+ if((height != 1) && (height & (height - 1))) {
+ i = 1;
+ while((sizeToFit ? 2 * i : i) < height)
+ i *= 2;
+ height = i;
+ }
+
+
+ unsigned maxTextureSize = [[CCConfiguration sharedConfiguration] maxTextureSize];
+ if( width > maxTextureSize || height > maxTextureSize ) {
+ CCLOG(@"cocos2d: WARNING: Image (%d x %d) is bigger than the supported %d x %d", width, height, maxTextureSize, maxTextureSize);
+ return nil;
+ }
+
+ // while((width > kMaxTextureSize) || (height > kMaxTextureSize)) {
+ // width /= 2;
+ // height /= 2;
+ // transform = CGAffineTransformScale(transform, 0.5f, 0.5f);
+ // imageSize.width *= 0.5f;
+ // imageSize.height *= 0.5f;
+ // }
+
+ // Create the bitmap graphics context
+
+ switch(pixelFormat) {
+ case kTexture2DPixelFormat_RGBA8888:
+ case kTexture2DPixelFormat_RGBA4444:
+ case kTexture2DPixelFormat_RGB5A1:
+ colorSpace = CGColorSpaceCreateDeviceRGB();
+ data = malloc(height * width * 4);
+ info = hasAlpha ? kCGImageAlphaPremultipliedLast : kCGImageAlphaNoneSkipLast;
+ context = CGBitmapContextCreate(data, width, height, 8, 4 * width, colorSpace, info | kCGBitmapByteOrder32Big);
+ CGColorSpaceRelease(colorSpace);
+ break;
+ case kTexture2DPixelFormat_RGB565:
+ colorSpace = CGColorSpaceCreateDeviceRGB();
+ data = malloc(height * width * 4);
+ info = kCGImageAlphaNoneSkipLast;
+ context = CGBitmapContextCreate(data, width, height, 8, 4 * width, colorSpace, info | kCGBitmapByteOrder32Big);
+ CGColorSpaceRelease(colorSpace);
+ break;
+ case kTexture2DPixelFormat_A8:
+ data = malloc(height * width);
+ info = kCGImageAlphaOnly;
+ context = CGBitmapContextCreate(data, width, height, 8, width, NULL, info);
+ break;
+ default:
+ [NSException raise:NSInternalInconsistencyException format:@"Invalid pixel format"];
+ }
+
+
+ CGContextClearRect(context, CGRectMake(0, 0, width, height));
+ CGContextTranslateCTM(context, 0, height - imageSize.height);
+
+ if(!CGAffineTransformIsIdentity(transform))
+ CGContextConcatCTM(context, transform);
+ CGContextDrawImage(context, CGRectMake(0, 0, CGImageGetWidth(image), CGImageGetHeight(image)), image);
+
+ // Repack the pixel data into the right format
+
+ if(pixelFormat == kTexture2DPixelFormat_RGB565) {
+ //Convert "RRRRRRRRRGGGGGGGGBBBBBBBBAAAAAAAA" to "RRRRRGGGGGGBBBBB"
+ tempData = malloc(height * width * 2);
+ inPixel32 = (unsigned int*)data;
+ outPixel16 = (unsigned short*)tempData;
+ for(i = 0; i < width * height; ++i, ++inPixel32)
+ *outPixel16++ = ((((*inPixel32 >> 0) & 0xFF) >> 3) << 11) | ((((*inPixel32 >> 8) & 0xFF) >> 2) << 5) | ((((*inPixel32 >> 16) & 0xFF) >> 3) << 0);
+ free(data);
+ data = tempData;
+
+ }
+ else if (pixelFormat == kTexture2DPixelFormat_RGBA4444) {
+ //Convert "RRRRRRRRRGGGGGGGGBBBBBBBBAAAAAAAA" to "RRRRGGGGBBBBAAAA"
+ tempData = malloc(height * width * 2);
+ inPixel32 = (unsigned int*)data;
+ outPixel16 = (unsigned short*)tempData;
+ for(i = 0; i < width * height; ++i, ++inPixel32)
+ *outPixel16++ =
+ ((((*inPixel32 >> 0) & 0xFF) >> 4) << 12) | // R
+ ((((*inPixel32 >> 8) & 0xFF) >> 4) << 8) | // G
+ ((((*inPixel32 >> 16) & 0xFF) >> 4) << 4) | // B
+ ((((*inPixel32 >> 24) & 0xFF) >> 4) << 0); // A
+
+
+ free(data);
+ data = tempData;
+
+ }
+ else if (pixelFormat == kTexture2DPixelFormat_RGB5A1) {
+ //Convert "RRRRRRRRRGGGGGGGGBBBBBBBBAAAAAAAA" to "RRRRRGGGGGBBBBBA"
+ tempData = malloc(height * width * 2);
+ inPixel32 = (unsigned int*)data;
+ outPixel16 = (unsigned short*)tempData;
+ for(i = 0; i < width * height; ++i, ++inPixel32)
+ *outPixel16++ =
+ ((((*inPixel32 >> 0) & 0xFF) >> 3) << 11) | // R
+ ((((*inPixel32 >> 8) & 0xFF) >> 3) << 6) | // G
+ ((((*inPixel32 >> 16) & 0xFF) >> 3) << 1) | // B
+ ((((*inPixel32 >> 24) & 0xFF) >> 7) << 0); // A
+
+
+ free(data);
+ data = tempData;
+ }
+ self = [self initWithData:data pixelFormat:pixelFormat pixelsWide:width pixelsHigh:height contentSize:imageSize];
+
+ // should be after calling super init
+ hasPremultipliedAlpha_ = (info == kCGImageAlphaPremultipliedLast || info == kCGImageAlphaPremultipliedFirst);
+
+ CGContextRelease(context);
+
+ // This is the only change =/ but we want to keep the data for mutable methods
+ data_ = data;
+ contextLock_ = [[NSLock alloc] init];
+
+ [self commonInit];
+
+ return self;
+}
+@end
+
+@implementation CCMutableTexture2D(CCTexture2D)
+///
+// Create a texture with a CCTexture2D
+///
++ (id) textureWithTexture2D:(CCTexture2D*) tex
+{
+ return [[[self alloc]initWithTexture2D:tex]autorelease];
+}
+- (id) initWithTexture2D:(CCTexture2D*) tex
+{
+ if((self = [super init])){
+ contextLock_ = [[NSLock alloc] init];
+ }
+ [self commonInit];
+ return self;
+}
+@end
+
+@implementation CCMutableTexture2D (MutableTexture)
++ (id) textureWithSize:(CGSize) size
+{
+ return [[[self alloc] initWithSize:size pixelFormat:[[self class] defaultAlphaPixelFormat]] autorelease];
+}
++ (id) textureWithSize:(CGSize) size pixelFormat:(CCTexture2DPixelFormat) pixelFormat
+{
+ return [[[self alloc] initWithSize:size pixelFormat:pixelFormat] autorelease];
+}
+- (id) initWithSize:(CGSize) size pixelFormat:(CCTexture2DPixelFormat) pixelFormat
+{
+ if((self = [super init])){
+ format_ = pixelFormat;
+ size_ = size;
+
+ width_ = size.width;
+ if(!IsPow2(width_))
+ width_ = RoundToNearestPow2(width_);
+
+ height_ = size.height;
+ if(!IsPow2(height_))
+ height_ = RoundToNearestPow2(height_);
+
+ int dataSize = 0;
+ switch (format_) {
+ case kTexture2DPixelFormat_RGBA8888:
+ dataSize = width_ * height_ * sizeof(int);
+ break;
+ case kTexture2DPixelFormat_RGBA4444:
+ case kTexture2DPixelFormat_RGB5A1:
+ case kTexture2DPixelFormat_RGB565:
+ dataSize = width_ * height_ * sizeof(short);
+ break;
+ case kTexture2DPixelFormat_A8:
+ dataSize = width_ * height_;
+ break;
+ default:
+ break;
+ }
+
+ maxS_ = size_.width / (float)width_;
+ maxT_ = size_.height / (float)height_;
+
+ hasPremultipliedAlpha_ = NO;
+ data_ = calloc(dataSize, 1);
+ NSAssert(data_, @"Low Memory, could not allocate Texture Data");
+
+ glGenTextures(1, &name_);
+ glBindTexture(GL_TEXTURE_2D, name_);
+
+ [self setAntiAliasTexParameters];
+
+ switch(format_)
+ {
+ case kTexture2DPixelFormat_RGBA8888:
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width_, height_, 0, GL_RGBA, GL_UNSIGNED_BYTE, data_);
+ break;
+ case kTexture2DPixelFormat_RGBA4444:
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width_, height_, 0, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4, data_);
+ break;
+ case kTexture2DPixelFormat_RGB5A1:
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width_, height_, 0, GL_RGBA, GL_UNSIGNED_SHORT_5_5_5_1, data_);
+ break;
+ case kTexture2DPixelFormat_RGB565:
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width_, height_, 0, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, data_);
+ break;
+ case kTexture2DPixelFormat_A8:
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_ALPHA, width_, height_, 0, GL_ALPHA, GL_UNSIGNED_BYTE, data_);
+ break;
+ default:
+ [NSException raise:NSInternalInconsistencyException format:@""];
+
+ }
+ contextLock_ = [[NSLock alloc] init];
+ }
+ [self commonInit];
+ return self;
+}
+
+- (ccColor4B) pixelAt:(CGPoint) pt
+{
+ ccColor4B c = {0, 0, 0, 0};
+ if(!data_) return c;
+ if(pt.x < 0 || pt.y < 0) return c;
+ if(pt.x >= size_.width || pt.y >= size_.height) return c;
+
+ uint x = pt.x, y = pt.y;
+
+ if(format_ == kTexture2DPixelFormat_RGBA8888){
+ uint *pixel = data_;
+ pixel = pixel + (y * width_) + x;
+ c.r = *pixel & 0xff;
+ c.g = (*pixel >> 8) & 0xff;
+ c.b = (*pixel >> 16) & 0xff;
+ c.a = (*pixel >> 24) & 0xff;
+ } else if(format_ == kTexture2DPixelFormat_RGBA4444){
+ GLushort *pixel = data_;
+ pixel = pixel + (y * width_) + x;
+ c.a = ((*pixel & 0xf) << 4) | (*pixel & 0xf);
+ c.b = (((*pixel >> 4) & 0xf) << 4) | ((*pixel >> 4) & 0xf);
+ c.g = (((*pixel >> 8) & 0xf) << 4) | ((*pixel >> 8) & 0xf);
+ c.r = (((*pixel >> 12) & 0xf) << 4) | ((*pixel >> 12) & 0xf);
+ } else if(format_ == kTexture2DPixelFormat_RGB5A1){
+ GLushort *pixel = data_;
+ pixel = pixel + (y * width_) + x;
+ c.r = ((*pixel >> 11) & 0x1f)<<3;
+ c.g = ((*pixel >> 6) & 0x1f)<<3;
+ c.b = ((*pixel >> 1) & 0x1f)<<3;
+ c.a = (*pixel & 0x1)*255;
+ } else if(format_ == kTexture2DPixelFormat_RGB565){
+ GLushort *pixel = data_;
+ pixel = pixel + (y * width_) + x;
+ c.b = (*pixel & 0x1f)<<3;
+ c.g = ((*pixel >> 5) & 0x3f)<<2;
+ c.r = ((*pixel >> 11) & 0x1f)<<3;
+ c.a = 255;
+ } else if(format_ == kTexture2DPixelFormat_A8){
+ GLubyte *pixel = data_;
+ c.a = pixel[(y * width_) + x];
+ // Default white
+ c.r = 255;
+ c.g = 255;
+ c.b = 255;
+ }
+
+ return c;
+}
+
+-(void)setVarsForColor:(ccColor4B) c {
+ dirty_ = true;
+
+ pixelUint=0;
+ pixelGLushort=0;
+ pixelGLubyte=0;
+ if(format_ == kTexture2DPixelFormat_RGBA8888){
+ pixelUint = data_;
+ colorUint=(c.a << 24) | (c.b << 16) | (c.g << 8) | c.r;
+ } else if(format_ == kTexture2DPixelFormat_RGBA4444){
+ pixelGLushort = data_;
+ colorGLushort=((c.r >> 4) << 12) | ((c.g >> 4) << 8) | ((c.b >> 4) << 4) | (c.a >> 4);
+ } else if(format_ == kTexture2DPixelFormat_RGB5A1){
+ pixelGLushort = data_;
+ colorGLushort=((c.r >> 3) << 11) | ((c.g >> 3) << 6) | ((c.b >> 3) << 1) | (c.a > 0);
+ } else if(format_ == kTexture2DPixelFormat_RGB565){
+ pixelGLushort = data_;
+ colorGLushort=((c.r >> 3) << 11) | ((c.g >> 2) << 5) | (c.b >> 3);
+ } else if(format_ == kTexture2DPixelFormat_A8){
+ pixelGLubyte = data_;
+ colorGLubyte = c.a;
+ } else {
+ dirty_ = false;
+ return;
+ }
+}
+
+- (BOOL) setPixelAt:(CGPoint) pt rgba:(ccColor4B) c {
+ if(!data_) return NO;
+ if(pt.x < 0 || pt.y < 0) return NO;
+ if(pt.x >= size_.width || pt.y >= size_.height) return NO;
+ uint x = pt.x, y = pt.y;
+
+ // Shifted bit placement based on little-endian, let's make this more
+ // portable =/
+
+ [self setVarsForColor:c];
+ if (pixelUint!=0) {
+ pixelUint[(y * width_) + x] = colorUint;
+ } else if (pixelGLushort!=0) {
+ pixelGLushort[(y * width_) + x] = colorGLushort;
+ } else if (pixelGLubyte!=0) {
+ pixelGLubyte[(y * width_) + x] = colorGLubyte;
+ } else {
+ return NO;
+ }
+
+ return YES;
+}
+
+- (void) drawHorizontalLine:(float)x0 :(float)x1 :(float)yF withColor:(ccColor4B)c {
+ if(!data_) return;
+ int y=yF;
+ if ((y<0) || (y >= size_.height)) return;
+
+
+ int xMin, xMax;
+ if (x0>x1) {
+ xMin=x1;
+ xMax=x0;
+ } else {
+ xMin=x0;
+ xMax=x1;
+ }
+
+ if (xMax<0) return;
+ if (xMin>= size_.width) return;
+
+ if(xMin < 0) xMin=0;
+ if(xMax >= size_.width) xMax=size_.width-1;
+
+ [self setVarsForColor:c];
+
+ int offsetStart=(y * width_) + xMin;
+ int offsetEnd=offsetStart+xMax-xMin;
+
+ if (pixelUint!=0) {
+ for (int offset=offsetStart;offset<=offsetEnd;offset++) {
+ pixelUint[offset] = colorUint;
+ //NSLog(@"offset=%d",offset);
+ }
+ } else if (pixelGLushort!=0) {
+ for (int offset=offsetStart;offset<=offsetEnd;offset++) {
+ pixelGLushort[offset] = colorGLushort;
+ }
+ } else if (pixelGLubyte!=0) {
+ for (int offset=offsetStart;offset<=offsetEnd;offset++) {
+ pixelGLubyte[offset] = colorGLubyte;
+ }
+ }
+}
+
+- (void) fillConvexPolygon:(CGPoint*)p :(int)n withColor:(ccColor4B)c {
+ int *yOrderedIdx = calloc( sizeof(int) * n, 1 );
+ for (int i=0;i<n;i++) {
+ yOrderedIdx[i]=i;
+ }
+ //Order polygon corners by its corners y ascending
+ for (int i=0;i<n;i++) {
+ int oI=yOrderedIdx[i];
+ float min=p[oI].y;
+ for (int j=i+1;j<n;j++) {
+ int oJ=yOrderedIdx[j];
+ if (p[oJ].y<min) {
+ yOrderedIdx[i]=oJ;
+ yOrderedIdx[j]=oI;
+ min=p[oJ].y;
+ }
+ }
+ }
+
+ int rightIndex,leftIndex;
+ leftIndex=(yOrderedIdx[0]+n-1)%n +1;
+ rightIndex=(yOrderedIdx[0]+1)%n -1;
+
+ CGPoint leftPoint0,leftPoint1,rightPoint0,rightPoint1;
+ leftPoint0=leftPoint1=rightPoint0=rightPoint1=p[yOrderedIdx[0]];
+
+ float leftInc,rightInc;
+ int yMin=leftPoint0.y+0.5f;
+ int yMax=p[yOrderedIdx[n-1]].y;
+
+ int leftX,rightX;
+
+ for (int y=yMin;y<yMax;y++) {
+ while (y>=rightPoint1.y) {
+ //new right points
+ rightPoint0=rightPoint1;
+ rightIndex++; if (rightIndex>=n) rightIndex=0;
+ rightPoint1=p[rightIndex];
+
+ rightInc=0;
+ if ((rightPoint1.y-rightPoint0.y)!=0) {
+ rightInc=(rightPoint1.x-rightPoint0.x)/(rightPoint1.y-rightPoint0.y);
+ }
+ }
+
+ while (y>=leftPoint1.y) {
+ //new left points
+ leftPoint0=leftPoint1;
+ leftIndex--; if (leftIndex<0) leftIndex=n-1;
+ leftPoint1=p[leftIndex];
+
+ leftInc=0;
+ if ((leftPoint1.y-leftPoint0.y)!=0) {
+ leftInc=(leftPoint1.x-leftPoint0.x)/(leftPoint1.y-leftPoint0.y);
+ }
+ //NSLog(@"y>leftPoint1.y new leftIndex=%d leftInc=%f",leftIndex,leftInc);
+ }
+
+ leftX=leftPoint0.x;
+ rightX=rightPoint0.x;
+ //if (y>0)
+ [self drawHorizontalLine:leftX :rightX :y withColor:c];
+ //if (yMin<0) NSLog(@"drawHorizontalLine %d-%d,%d",leftX,rightX,y);
+
+ leftPoint0.x+=leftInc;
+ rightPoint0.x+=rightInc;
+ }
+
+ leftX=leftPoint0.x;
+ rightX=rightPoint0.x;
+ [self drawHorizontalLine:leftX :rightX :yMax withColor:c];
+
+ free(yOrderedIdx);
+}
+
+-(void) drawLineFrom:(CGPoint)p0 to:(CGPoint)p1 withLineWidth:(float)w andColor:(ccColor4B) c {
+ //[contextLock_ lock];
+ CGPoint vector=ccpMult(ccpNormalize(ccpSub(p1, p0)),w);
+ //float d=ccpLength(vector);
+ CGPoint midVector=ccpMult(vector,0.707106781f);
+
+ CGPoint perp=ccpPerp(vector);
+ CGPoint midPerp=ccpPerp(midVector);
+
+ //int n=10;
+
+ //CGPoint *poly = calloc( sizeof(CGPoint) * n, 1 );
+ int i=0;
+ poly[i]=ccpSub(ccpSub(p0,midVector),midPerp); i++;
+ poly[i]=ccpSub(p0,vector); i++;
+ poly[i]=ccpAdd(ccpSub(p0,midVector),midPerp); i++;
+
+ poly[i]=ccpAdd(p0,perp); i++;
+ poly[i]=ccpAdd(p1,perp); i++;
+
+ poly[i]=ccpAdd(ccpAdd(p1,midVector),midPerp); i++;
+ poly[i]=ccpAdd(p1,vector); i++;
+ poly[i]=ccpSub(ccpAdd(p1,midVector),midPerp); i++;
+
+ poly[i]=ccpSub(p1,perp); i++;
+ poly[i]=ccpSub(p0,perp); i++;
+
+ [self fillConvexPolygon:poly :CCMUTABLETEXTURE2D_LINE_POLY_COUNT withColor:c];
+
+ //free(poly);
+ //[contextLock_ unlock];
+}
+
+- (void) fill:(ccColor4B) c {
+ if(!data_) return;
+ [self setVarsForColor:c];
+
+ int offsetSize=height_*width_;
+
+ if (pixelUint!=0) {
+ for (int offset=0;offset<offsetSize;offset++) {
+ pixelUint[offset] = colorUint;
+ }
+ } else if (pixelGLushort!=0) {
+ for (int offset=0;offset<offsetSize;offset++) {
+ pixelGLushort[offset] = colorGLushort;
+ }
+ } else if (pixelGLubyte!=0) {
+ for (int offset=0;offset<offsetSize;offset++) {
+ pixelGLubyte[offset] = colorGLubyte;
+ }
+ }
+}
+
+-(void) pixelGrabGlow:(CGPoint)p glowColor:(ccColor4B)glowColor {
+ CGPoint cur;
+ ccColor4B color;
+
+ cur=ccp(p.x-1,p.y-1);
+ color=[self pixelAt:cur];
+ if ((color.r==0)&&(color.g==0)&&(color.b==0)) {
+ [self setPixelAt:cur rgba:glowColor];
+ }
+ cur=ccp(p.x,p.y-1);
+ color=[self pixelAt:cur];
+ if ((color.r==0)&&(color.g==0)&&(color.b==0)) {
+ [self setPixelAt:cur rgba:glowColor];
+ }
+ cur=ccp(p.x+1,p.y-1);
+ color=[self pixelAt:cur];
+ if ((color.r==0)&&(color.g==0)&&(color.b==0)) {
+ [self setPixelAt:cur rgba:glowColor];
+ }
+ cur=ccp(p.x-1,p.y);
+ color=[self pixelAt:cur];
+ if ((color.r==0)&&(color.g==0)&&(color.b==0)) {
+ [self setPixelAt:cur rgba:glowColor];
+ }
+ cur=ccp(p.x,p.y);
+ color=[self pixelAt:cur];
+ if ((color.r==0)&&(color.g==0)&&(color.b==0)) {
+ [self setPixelAt:cur rgba:glowColor];
+ }
+ cur=ccp(p.x+1,p.y);
+ color=[self pixelAt:cur];
+ if ((color.r==0)&&(color.g==0)&&(color.b==0)) {
+ [self setPixelAt:cur rgba:glowColor];
+ }
+ cur=ccp(p.x-1,p.y+1);
+ color=[self pixelAt:cur];
+ if ((color.r==0)&&(color.g==0)&&(color.b==0)) {
+ [self setPixelAt:cur rgba:glowColor];
+ }
+ cur=ccp(p.x,p.y+1);
+ color=[self pixelAt:cur];
+ if ((color.r==0)&&(color.g==0)&&(color.b==0)) {
+ [self setPixelAt:cur rgba:glowColor];
+ }
+ cur=ccp(p.x+1,p.y+1);
+ color=[self pixelAt:cur];
+ if ((color.r==0)&&(color.g==0)&&(color.b==0)) {
+ [self setPixelAt:cur rgba:glowColor];
+ }
+}
+
+- (Boolean) apply {
+ if(!dirty_) return NO;
+ if(!data_) return NO;
+
+ glBindTexture(GL_TEXTURE_2D, name_);
+
+ switch(format_) {
+ case kTexture2DPixelFormat_RGBA8888:
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width_, height_, 0, GL_RGBA, GL_UNSIGNED_BYTE, data_);
+ break;
+ case kTexture2DPixelFormat_RGBA4444:
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width_, height_, 0, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4, data_);
+ break;
+ case kTexture2DPixelFormat_RGB5A1:
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width_, height_, 0, GL_RGBA, GL_UNSIGNED_SHORT_5_5_5_1, data_);
+ break;
+ case kTexture2DPixelFormat_RGB565:
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width_, height_, 0, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, data_);
+ break;
+ case kTexture2DPixelFormat_A8:
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_ALPHA, width_, height_, 0, GL_ALPHA, GL_UNSIGNED_BYTE, data_);
+ break;
+ default:
+ [NSException raise:NSInternalInconsistencyException format:@""];
+ }
+ dirty_ = false;
+ return YES;
+}
+
+- (void) applyWithAsyncObject:(AsyncObject*)async {
+ NSAutoreleasePool *autoreleasepool = [[NSAutoreleasePool alloc] init];
+ [contextLock_ lock];
+ if( mutableTextureAuxEAGLcontext == nil ) {
+ mutableTextureAuxEAGLcontext = [[EAGLContext alloc]
+ initWithAPI:kEAGLRenderingAPIOpenGLES1
+ sharegroup:[[[[CCDirector sharedDirector] openGLView] context] sharegroup]];
+
+ if( ! mutableTextureAuxEAGLcontext )
+ CCLOG(@"cocos2d: TextureCache: Could not create EAGL context");
+ }
+
+ if( [EAGLContext setCurrentContext:mutableTextureAuxEAGLcontext] ) {
+ [self apply];
+ // The callback will be executed on the main thread
+ [async.target performSelectorOnMainThread:async.selector withObject:nil waitUntilDone:NO];
+ [EAGLContext setCurrentContext:nil];
+ } else {
+ CCLOG(@"cocos2d: TextureCache: EAGLContext error");
+ }
+ [contextLock_ unlock];
+ [autoreleasepool release];
+}
+
+- (void) applyAsyncWithCallback:(id) target selector:(SEL) callbackSel
+{
+ AsyncObject *asyncObject = [[AsyncObject alloc] init];
+ asyncObject.selector = callbackSel;
+ asyncObject.target = target;
+ [NSThread detachNewThreadSelector:@selector(applyWithAsyncObject:) toTarget:self withObject:asyncObject];
+ [asyncObject release];
+}
+
+- (void) drawAtPoint:(CGPoint)point
+{
+ [contextLock_ lock];
+ [super drawAtPoint:point];
+ [contextLock_ unlock];
+}
+
+
+- (void) drawInRect:(CGRect)rect
+{
+ [contextLock_ lock];
+ [super drawInRect:rect];
+ [contextLock_ unlock];
+}