joybox 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (393) hide show
  1. checksums.yaml +8 -8
  2. data/Gemfile.lock +1 -1
  3. data/LICENSE +1 -1
  4. data/LICENSE_Box2D +20 -0
  5. data/LICENSE_Cocos2D +24 -0
  6. data/README.md +34 -66
  7. data/Rakefile +2 -3
  8. data/bin/joybox +49 -0
  9. data/command/joybox/USAGE +24 -0
  10. data/command/joybox/templates/layer.erb +11 -0
  11. data/command/joybox/templates/layer_spec.erb +3 -0
  12. data/command/joybox/templates/scene.erb +11 -0
  13. data/command/joybox/templates/scene_spec.erb +3 -0
  14. data/command/joybox/templates/sprite.erb +11 -0
  15. data/command/joybox/templates/sprite_spec.erb +3 -0
  16. data/command/joybox_generate_command.rb +114 -0
  17. data/joybox.gemspec +44 -0
  18. data/lib/joybox/joybox-ios.rb +47 -0
  19. data/lib/joybox/joybox-osx.rb +47 -0
  20. data/lib/joybox/version.rb +1 -1
  21. data/lib/joybox.rb +18 -36
  22. data/{lib/joybox/cocos2d → motion/joybox}/actions/actions.rb +0 -0
  23. data/motion/joybox/actions/animate.rb +22 -0
  24. data/motion/joybox/actions/bezier.rb +33 -0
  25. data/motion/joybox/actions/blink.rb +24 -0
  26. data/motion/joybox/actions/ease.rb +149 -0
  27. data/motion/joybox/actions/fade.rb +38 -0
  28. data/motion/joybox/actions/jump.rb +39 -0
  29. data/{lib/joybox/cocos2d → motion/joybox}/actions/move.rb +4 -2
  30. data/motion/joybox/actions/place.rb +22 -0
  31. data/{lib/joybox/cocos2d → motion/joybox}/actions/repeat.rb +10 -1
  32. data/{lib/joybox/cocos2d → motion/joybox}/actions/rotate.rb +4 -2
  33. data/{lib/joybox/cocos2d → motion/joybox}/actions/scale.rb +4 -2
  34. data/{lib/joybox/cocos2d → motion/joybox}/actions/sequence.rb +3 -3
  35. data/{lib/joybox/cocos2d → motion/joybox}/actions/skew.rb +0 -0
  36. data/motion/joybox/actions/spawn.rb +22 -0
  37. data/motion/joybox/actions/tint.rb +37 -0
  38. data/motion/joybox/animations/animation.rb +60 -0
  39. data/{lib/joybox/cocos2d → motion/joybox}/common/color.rb +12 -1
  40. data/{lib/joybox/cocos2d → motion/joybox}/common/gc_size.rb +4 -4
  41. data/{lib/joybox/cocos2d → motion/joybox}/common/ns_set.rb +0 -0
  42. data/{lib/joybox/cocos2d → motion/joybox}/common/numeric.rb +0 -0
  43. data/{lib/joybox/cocos2d → motion/joybox}/common/screen.rb +4 -4
  44. data/motion/joybox/core/layer.rb +51 -0
  45. data/{lib/joybox/cocos2d → motion/joybox}/core/node.rb +0 -0
  46. data/{lib/joybox/cocos2d → motion/joybox}/core/scene.rb +0 -0
  47. data/{lib/joybox/cocos2d → motion/joybox}/core/sprite.rb +22 -3
  48. data/{lib/joybox/cocos2d → motion/joybox}/core/sprite_batch.rb +0 -0
  49. data/motion/joybox/core/sprite_frame_cache.rb +147 -0
  50. data/{lib/joybox/cocos2d/cocos2d.rb → motion/joybox/joybox.rb} +3 -1
  51. data/{lib/joybox/cocos2d → motion/joybox}/macros.rb +0 -0
  52. data/{lib/joybox/box2d → motion/joybox/physics}/body.rb +44 -17
  53. data/{lib/joybox/cocos2d/core → motion/joybox/physics}/physics_sprite.rb +1 -1
  54. data/motion/joybox/physics/world.rb +79 -0
  55. data/{lib/joybox/cocos2d → motion/joybox}/ui/label.rb +3 -2
  56. data/{lib/joybox/cocos2d → motion/joybox}/ui/menu.rb +0 -0
  57. data/{lib/joybox/cocos2d → motion/joybox}/ui/menu_image.rb +0 -0
  58. data/{lib/joybox/cocos2d → motion/joybox}/ui/menu_label.rb +0 -0
  59. data/{lib/joybox/cocos2d → motion/joybox}/ui/ui.rb +0 -0
  60. data/{lib/joybox/cocos2d → motion/joybox-ios}/common/cg_point.rb +9 -2
  61. data/{lib/joybox/cocos2d → motion/joybox-ios}/common/ui_touch.rb +1 -1
  62. data/{lib/joybox/cocos2d → motion/joybox-ios}/configuration/configuration.rb +0 -0
  63. data/{lib/joybox/cocos2d → motion/joybox-ios}/configuration/file_utils.rb +0 -3
  64. data/{lib/joybox/cocos2d → motion/joybox-ios}/configuration/gl_view.rb +0 -0
  65. data/{lib/joybox/cocos2d → motion/joybox-ios}/configuration/texture_2d.rb +0 -0
  66. data/{lib/joybox/cocos2d → motion/joybox-ios}/core/layer.rb +1 -45
  67. data/{lib/joybox/cocos2d → motion/joybox-ios}/director.rb +6 -6
  68. data/motion/joybox-osx/common/ats_point.rb +48 -0
  69. data/motion/joybox-osx/common/ns_event.rb +8 -0
  70. data/motion/joybox-osx/configuration/configuration.rb +46 -0
  71. data/motion/joybox-osx/configuration/gl_view.rb +57 -0
  72. data/motion/joybox-osx/core/layer.rb +135 -0
  73. data/motion/joybox-osx/director.rb +42 -0
  74. data/template/joybox-ios/files/Rakefile.erb +9 -0
  75. data/{app → template/joybox-ios/files/app}/app_delegate.rb +1 -5
  76. data/{resources → template/joybox-ios/files/resources}/fps_images-hd.png +0 -0
  77. data/{resources → template/joybox-ios/files/resources}/fps_images-ipadhd.png +0 -0
  78. data/{resources → template/joybox-ios/files/resources}/fps_images.png +0 -0
  79. data/template/joybox-ios/files/spec/main_spec.rb.erb +9 -0
  80. data/template/joybox-osx/files/Rakefile.erb +9 -0
  81. data/template/joybox-osx/files/app/app_delegate.rb +23 -0
  82. data/template/joybox-osx/files/app/layers/default_layer.rb +5 -0
  83. data/template/joybox-osx/files/app/menu.rb +51 -0
  84. data/template/joybox-osx/files/resources/Credits.rtf +29 -0
  85. data/template/joybox-osx/files/resources/fps_images-hd.png +0 -0
  86. data/template/joybox-osx/files/resources/fps_images-ipadhd.png +0 -0
  87. data/template/joybox-osx/files/resources/fps_images.png +0 -0
  88. data/template/joybox-osx/files/spec/main_spec.rb.erb +9 -0
  89. data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Box2D +0 -0
  90. data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Box2D.framework.bridgesupport +47 -37
  91. data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Box2D +0 -0
  92. data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Headers/Collision/B2DContactListener.h +0 -0
  93. data/vendor/vendor-ios/Box2D.framework/Versions/A/Headers/Collision/Shapes/B2DCircleShape.h +16 -0
  94. data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Headers/Collision/Shapes/B2DEdgeShape.h +0 -0
  95. data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Headers/Collision/Shapes/B2DPolygonShape.h +0 -0
  96. data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Headers/Collision/Shapes/B2DShape.h +0 -0
  97. data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Headers/Dynamics/B2DBody.h +6 -6
  98. data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Headers/Dynamics/B2DWorld.h +0 -0
  99. data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Resources/Box2DConfig.cmake +0 -0
  100. data/vendor/{Box2D.framework → vendor-ios/Box2D.framework}/Versions/A/Resources/CMakeLists.txt +0 -0
  101. data/vendor/vendor-ios/Box2D.framework/Versions/A/Resources/LICENSE +22 -0
  102. data/vendor/vendor-ios/cocos_2d/cocos_2d.bridgesupport +9154 -0
  103. data/vendor/vendor-ios/cocos_2d/cocos_2d_exceptions.bridgesupport +39 -0
  104. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCAction.h +23 -23
  105. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionCamera.h +21 -19
  106. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionCatmullRom.h +18 -6
  107. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionEase.h +117 -31
  108. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionGrid.h +19 -17
  109. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionGrid3D.h +45 -42
  110. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionInstant.h +21 -13
  111. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionInterval.h +123 -81
  112. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionManager.h +2 -2
  113. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionPageTurn3D.h +2 -1
  114. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionProgressTimer.h +4 -4
  115. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionTiledGrid.h +46 -38
  116. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCActionTween.h +3 -3
  117. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCAnimation.h +8 -8
  118. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCAnimationCache.h +2 -2
  119. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCAtlasNode.h +19 -17
  120. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCCamera.h +12 -12
  121. data/vendor/vendor-ios/cocos_2d/include/CCClippingNode.h +77 -0
  122. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCConfiguration.h +31 -13
  123. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCDirector.h +51 -42
  124. data/vendor/vendor-ios/cocos_2d/include/CCDrawNode.h +65 -0
  125. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCDrawingPrimitives.h +42 -8
  126. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCGLProgram.h +56 -21
  127. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCGrabber.h +2 -2
  128. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCGrid.h +29 -29
  129. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCLabelAtlas.h +5 -2
  130. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCLabelBMFont.h +56 -32
  131. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCLabelTTF.h +20 -20
  132. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCLayer.h +107 -79
  133. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCMenu.h +10 -14
  134. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCMenuItem.h +37 -32
  135. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCMotionStreak.h +18 -19
  136. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCNode+Debug.h +0 -0
  137. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCNode.h +87 -37
  138. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCParallaxNode.h +2 -2
  139. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCParticleBatchNode.h +2 -2
  140. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCParticleExamples.h +22 -0
  141. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCParticleSystem.h +51 -40
  142. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCParticleSystemQuad.h +4 -4
  143. data/vendor/vendor-ios/cocos_2d/include/CCPhysicsDebugNode.h +58 -0
  144. data/vendor/vendor-ios/cocos_2d/include/CCPhysicsSprite.h +82 -0
  145. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCProgressTimer.h +9 -11
  146. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCProtocols.h +54 -26
  147. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCRenderTexture.h +29 -9
  148. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCScene.h +4 -0
  149. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCScheduler.h +94 -40
  150. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCShaderCache.h +1 -1
  151. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCSprite.h +21 -28
  152. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCSpriteBatchNode.h +16 -9
  153. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCSpriteFrame.h +10 -10
  154. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCSpriteFrameCache.h +6 -6
  155. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTMXLayer.h +16 -16
  156. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTMXObjectGroup.h +4 -4
  157. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTMXTiledMap.h +9 -9
  158. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTMXXMLParser.h +44 -33
  159. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTexture2D.h +17 -25
  160. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTextureAtlas.h +10 -10
  161. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTextureCache.h +4 -4
  162. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTexturePVR.h +25 -8
  163. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTileMapAtlas.h +6 -6
  164. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTransition.h +57 -12
  165. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTransitionPageTurn.h +2 -2
  166. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/CCTransitionProgress.h +27 -5
  167. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms}/CCGL.h +4 -2
  168. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms}/CCNS.h +0 -0
  169. data/vendor/vendor-ios/cocos_2d/include/Platforms/Mac/CCDirectorMac.h +110 -0
  170. data/vendor/vendor-ios/cocos_2d/include/Platforms/Mac/CCEventDispatcher.h +343 -0
  171. data/vendor/vendor-ios/cocos_2d/include/Platforms/Mac/CCGLView.h +103 -0
  172. data/vendor/vendor-ios/cocos_2d/include/Platforms/Mac/CCWindow.h +41 -0
  173. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms/iOS}/CCDirectorIOS.h +12 -5
  174. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms/iOS}/CCES2Renderer.h +12 -12
  175. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms/iOS}/CCESRenderer.h +0 -0
  176. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms/iOS}/CCGLView.h +28 -13
  177. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms/iOS}/CCTouchDelegateProtocol.h +4 -4
  178. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms/iOS}/CCTouchDispatcher.h +2 -2
  179. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Platforms/iOS}/CCTouchHandler.h +7 -7
  180. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/CCArray.h +1 -1
  181. data/vendor/vendor-ios/cocos_2d/include/Support/CCFileUtils.h +394 -0
  182. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/CCProfiling.h +0 -0
  183. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/CCVertex.h +1 -1
  184. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/CGPointExtension.h +4 -2
  185. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/NSThread+performBlock.h +0 -0
  186. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/OpenGL_Internal.h +0 -0
  187. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/TGAlib.h +0 -0
  188. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/TransformUtils.h +0 -0
  189. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/ZipUtils.h +4 -4
  190. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/base64.h +0 -0
  191. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/ccCArray.h +15 -15
  192. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/ccUtils.h +0 -0
  193. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/uthash.h +129 -184
  194. data/vendor/{Cocos2D/include → vendor-ios/cocos_2d/include/Support}/utlist.h +298 -55
  195. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/ccConfig.h +56 -9
  196. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/ccDeprecated.h +131 -0
  197. data/vendor/vendor-ios/cocos_2d/include/ccFPSImages.h +39 -0
  198. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/ccGLStateCache.h +44 -26
  199. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/ccMacros.h +9 -9
  200. data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionColorLengthTexture_frag.h +41 -0
  201. data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionColorLengthTexture_vert.h +47 -0
  202. data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionColor_frag.h +37 -0
  203. data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionColor_vert.h +40 -0
  204. data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTextureA8Color_frag.h +41 -0
  205. data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTextureA8Color_vert.h +45 -0
  206. data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTextureColorAlphaTest_frag.h +47 -0
  207. data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTextureColor_frag.h +39 -0
  208. data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTextureColor_vert.h +45 -0
  209. data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTexture_frag.h +38 -0
  210. data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTexture_uColor_frag.h +41 -0
  211. data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTexture_uColor_vert.h +41 -0
  212. data/vendor/vendor-ios/cocos_2d/include/ccShader_PositionTexture_vert.h +41 -0
  213. data/vendor/vendor-ios/cocos_2d/include/ccShader_Position_uColor_frag.h +37 -0
  214. data/vendor/vendor-ios/cocos_2d/include/ccShader_Position_uColor_vert.h +43 -0
  215. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/ccShaders.h +11 -0
  216. data/vendor/vendor-ios/cocos_2d/include/ccTypes.h +392 -0
  217. data/vendor/vendor-ios/cocos_2d/include/cocos2d-ios-exceptions.bridgesupport +39 -0
  218. data/vendor/{Cocos2D → vendor-ios/cocos_2d}/include/cocos2d.h +28 -3
  219. data/vendor/vendor-ios/cocos_2d/include/gen_cocos2d_bridgesupport.sh +17 -0
  220. data/vendor/vendor-ios/cocos_2d/include/gen_cocos2d_complement.sh +17 -0
  221. data/vendor/vendor-ios/cocos_2d/libcocos2d.a +0 -0
  222. data/vendor/vendor-osx/box_2d/box_2d.bridgesupport +176 -0
  223. data/vendor/vendor-osx/box_2d/include/B2DBody.h +46 -0
  224. data/vendor/vendor-osx/box_2d/include/B2DCircleShape.h +16 -0
  225. data/vendor/vendor-osx/box_2d/include/B2DContactListener.h +30 -0
  226. data/vendor/vendor-osx/box_2d/include/B2DEdgeShape.h +17 -0
  227. data/vendor/vendor-osx/box_2d/include/B2DPolygonShape.h +16 -0
  228. data/vendor/vendor-osx/box_2d/include/B2DShape.h +18 -0
  229. data/vendor/vendor-osx/box_2d/include/B2DWorld.h +44 -0
  230. data/vendor/vendor-osx/box_2d/libBox2D.a +0 -0
  231. data/vendor/vendor-osx/cocos_2d/cocos_2d.bridgesupport +8292 -0
  232. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCAction.h +195 -0
  233. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionCamera.h +75 -0
  234. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionCatmullRom.h +151 -0
  235. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionEase.h +245 -0
  236. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionGrid.h +167 -0
  237. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionGrid3D.h +208 -0
  238. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionInstant.h +235 -0
  239. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionInterval.h +473 -0
  240. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionManager.h +113 -0
  241. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionPageTurn3D.h +43 -0
  242. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionProgressTimer.h +59 -0
  243. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionTiledGrid.h +219 -0
  244. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionTween.h +62 -0
  245. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCAnimation.h +150 -0
  246. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCAnimationCache.h +74 -0
  247. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCAtlasNode.h +98 -0
  248. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCCamera.h +98 -0
  249. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCClippingNode.h +77 -0
  250. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCConfiguration.h +144 -0
  251. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCDirector.h +353 -0
  252. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCDrawNode.h +65 -0
  253. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCDrawingPrimitives.h +173 -0
  254. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCGLProgram.h +185 -0
  255. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCGrabber.h +44 -0
  256. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCGrid.h +130 -0
  257. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCLabelAtlas.h +71 -0
  258. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCLabelBMFont.h +240 -0
  259. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCLabelTTF.h +132 -0
  260. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCLayer.h +308 -0
  261. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCMenu.h +96 -0
  262. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCMenuItem.h +428 -0
  263. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCMotionStreak.h +86 -0
  264. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCNode+Debug.h +39 -0
  265. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCNode.h +619 -0
  266. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCParallaxNode.h +50 -0
  267. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCParticleBatchNode.h +99 -0
  268. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCParticleExamples.h +117 -0
  269. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCParticleSystem.h +464 -0
  270. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCParticleSystemQuad.h +73 -0
  271. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCPhysicsDebugNode.h +58 -0
  272. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCPhysicsSprite.h +82 -0
  273. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCProgressTimer.h +92 -0
  274. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCProtocols.h +160 -0
  275. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCRenderTexture.h +159 -0
  276. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCScene.h +47 -0
  277. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCScheduler.h +284 -0
  278. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCShaderCache.h +60 -0
  279. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCSprite.h +281 -0
  280. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCSpriteBatchNode.h +145 -0
  281. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCSpriteFrame.h +126 -0
  282. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCSpriteFrameCache.h +121 -0
  283. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTMXLayer.h +164 -0
  284. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTMXObjectGroup.h +67 -0
  285. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTMXTiledMap.h +145 -0
  286. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTMXXMLParser.h +228 -0
  287. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTexture2D.h +349 -0
  288. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTextureAtlas.h +188 -0
  289. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTextureCache.h +146 -0
  290. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTexturePVR.h +146 -0
  291. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTileMapAtlas.h +83 -0
  292. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTransition.h +341 -0
  293. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTransitionPageTurn.h +60 -0
  294. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTransitionProgress.h +84 -0
  295. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/CCGL.h +74 -0
  296. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/CCNS.h +54 -0
  297. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/Mac/CCDirectorMac.h +110 -0
  298. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/Mac/CCEventDispatcher.h +343 -0
  299. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/Mac/CCGLView.h +103 -0
  300. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/Mac/CCWindow.h +41 -0
  301. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/CCArray.h +119 -0
  302. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/CCFileUtils.h +394 -0
  303. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/CCProfiling.h +89 -0
  304. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/CCVertex.h +36 -0
  305. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/CGPointExtension.h +346 -0
  306. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/NSThread+performBlock.h +22 -0
  307. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/OpenGL_Internal.h +86 -0
  308. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/TGAlib.h +55 -0
  309. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/TransformUtils.h +36 -0
  310. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/ZipUtils.h +91 -0
  311. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/base64.h +33 -0
  312. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/ccCArray.h +229 -0
  313. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/ccUtils.h +36 -0
  314. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/uthash.h +917 -0
  315. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Support/utlist.h +733 -0
  316. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccConfig.h +292 -0
  317. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccDeprecated.h +431 -0
  318. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccFPSImages.h +39 -0
  319. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccGLStateCache.h +156 -0
  320. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccMacros.h +353 -0
  321. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionColorLengthTexture_frag.h +41 -0
  322. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionColorLengthTexture_vert.h +47 -0
  323. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionColor_frag.h +37 -0
  324. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionColor_vert.h +40 -0
  325. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTextureA8Color_frag.h +41 -0
  326. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTextureA8Color_vert.h +45 -0
  327. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTextureColorAlphaTest_frag.h +47 -0
  328. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTextureColor_frag.h +39 -0
  329. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTextureColor_vert.h +45 -0
  330. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTexture_frag.h +38 -0
  331. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTexture_uColor_frag.h +41 -0
  332. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTexture_uColor_vert.h +41 -0
  333. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_PositionTexture_vert.h +41 -0
  334. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_Position_uColor_frag.h +37 -0
  335. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShader_Position_uColor_vert.h +43 -0
  336. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccShaders.h +56 -0
  337. data/vendor/{Cocos2D/include → vendor-osx/cocos_2d/cocos_2d_include}/ccTypes.h +39 -35
  338. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/cocos2d.h +203 -0
  339. data/vendor/vendor-osx/cocos_2d/libcocos2d.a +0 -0
  340. metadata +363 -195
  341. data/app/layers/box2d_layer.rb +0 -109
  342. data/app/layers/cocos2d_layer.rb +0 -14
  343. data/app/layers/cocos_motion_layer.rb +0 -145
  344. data/app/layers/menu_layer.rb +0 -59
  345. data/lib/joybox/box2d/world.rb +0 -79
  346. data/resources/box2d/blocks_sprite_sheet.png +0 -0
  347. data/resources/cocos_motion/dot.png +0 -0
  348. data/resources/cocos_motion/dot_selected.png +0 -0
  349. data/resources/cocos_motion/grossini.png +0 -0
  350. data/resources/cocos_motion/grossinis_sister.png +0 -0
  351. data/resources/cocos_motion/grossinis_sister_two.png +0 -0
  352. data/resources/cocos_motion/left_arrow.png +0 -0
  353. data/resources/cocos_motion/left_arrow_selected.png +0 -0
  354. data/resources/cocos_motion/right_arrow.png +0 -0
  355. data/resources/cocos_motion/right_arrow_selected.png +0 -0
  356. data/vendor/Cocos2D/Cocos2D.bridgesupport +0 -7808
  357. data/vendor/Cocos2D/include/CCFileUtils.h +0 -188
  358. data/vendor/Cocos2D/include/CocosDenshion/CDAudioManager.h +0 -243
  359. data/vendor/Cocos2D/include/CocosDenshion/CDConfig.h +0 -60
  360. data/vendor/Cocos2D/include/CocosDenshion/CDOpenALSupport.h +0 -77
  361. data/vendor/Cocos2D/include/CocosDenshion/CDXPropertyModifierAction.h +0 -45
  362. data/vendor/Cocos2D/include/CocosDenshion/CocosDenshion.h +0 -440
  363. data/vendor/Cocos2D/include/CocosDenshion/SimpleAudioEngine.h +0 -90
  364. data/vendor/Cocos2D/include/RubyMotionSchedule.h +0 -7
  365. data/vendor/Cocos2D/include/ccShader_PositionColor_frag.h +0 -12
  366. data/vendor/Cocos2D/include/ccShader_PositionColor_vert.h +0 -17
  367. data/vendor/Cocos2D/include/ccShader_PositionTextureA8Color_frag.h +0 -16
  368. data/vendor/Cocos2D/include/ccShader_PositionTextureA8Color_vert.h +0 -21
  369. data/vendor/Cocos2D/include/ccShader_PositionTextureColorAlphaTest_frag.h +0 -23
  370. data/vendor/Cocos2D/include/ccShader_PositionTextureColor_frag.h +0 -14
  371. data/vendor/Cocos2D/include/ccShader_PositionTextureColor_vert.h +0 -22
  372. data/vendor/Cocos2D/include/ccShader_PositionTexture_frag.h +0 -13
  373. data/vendor/Cocos2D/include/ccShader_PositionTexture_uColor_frag.h +0 -16
  374. data/vendor/Cocos2D/include/ccShader_PositionTexture_uColor_vert.h +0 -18
  375. data/vendor/Cocos2D/include/ccShader_PositionTexture_vert.h +0 -17
  376. data/vendor/Cocos2D/include/ccShader_Position_uColor_frag.h +0 -12
  377. data/vendor/Cocos2D/include/ccShader_Position_uColor_vert.h +0 -19
  378. data/vendor/Cocos2D/include/kazmath/GL/mat4stack.h +0 -51
  379. data/vendor/Cocos2D/include/kazmath/GL/matrix.h +0 -58
  380. data/vendor/Cocos2D/include/kazmath/aabb.h +0 -53
  381. data/vendor/Cocos2D/include/kazmath/kazmath.h +0 -39
  382. data/vendor/Cocos2D/include/kazmath/mat3.h +0 -75
  383. data/vendor/Cocos2D/include/kazmath/mat4.h +0 -93
  384. data/vendor/Cocos2D/include/kazmath/neon_matrix_impl.h +0 -41
  385. data/vendor/Cocos2D/include/kazmath/plane.h +0 -70
  386. data/vendor/Cocos2D/include/kazmath/quaternion.h +0 -113
  387. data/vendor/Cocos2D/include/kazmath/ray2.h +0 -50
  388. data/vendor/Cocos2D/include/kazmath/utility.h +0 -74
  389. data/vendor/Cocos2D/include/kazmath/vec2.h +0 -64
  390. data/vendor/Cocos2D/include/kazmath/vec3.h +0 -68
  391. data/vendor/Cocos2D/include/kazmath/vec4.h +0 -68
  392. data/vendor/Cocos2D/libCocosDenshion.a +0 -0
  393. data/vendor/Cocos2D/libcocos2d.a +0 -0
@@ -0,0 +1,98 @@
1
+ /*
2
+ * cocos2d for iPhone: http://www.cocos2d-iphone.org
3
+ *
4
+ * Copyright (c) 2008-2010 Ricardo Quesada
5
+ * Copyright (c) 2011 Zynga Inc.
6
+ *
7
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ * of this software and associated documentation files (the "Software"), to deal
9
+ * in the Software without restriction, including without limitation the rights
10
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ * copies of the Software, and to permit persons to whom the Software is
12
+ * furnished to do so, subject to the following conditions:
13
+ *
14
+ * The above copyright notice and this permission notice shall be included in
15
+ * all copies or substantial portions of the Software.
16
+ *
17
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
+ * THE SOFTWARE.
24
+ */
25
+
26
+
27
+
28
+ #import "CCNode.h"
29
+ #import "kazmath/mat4.h"
30
+
31
+ /**
32
+ A CCCamera is used in every CCNode.
33
+ Useful to look at the object from different views.
34
+ The OpenGL gluLookAt() function is used to locate the
35
+ camera.
36
+
37
+ If the object is transformed by any of the scale, rotation or
38
+ position attributes, then they will override the camera.
39
+
40
+ IMPORTANT: Either your use the camera or the rotation/scale/position properties. You can't use both.
41
+ World coordinates won't work if you use the camera.
42
+
43
+ Limitations:
44
+
45
+ - Some nodes, like CCParallaxNode, CCParticle uses world node coordinates, and they won't work properly if you move them (or any of their ancestors)
46
+ using the camera.
47
+
48
+ - It doesn't work on batched nodes like CCSprite objects when they are parented to a CCSpriteBatchNode object.
49
+
50
+ - It is recommended to use it ONLY if you are going to create 3D effects. For 2D effects, use the action CCFollow or position/scale/rotate.
51
+
52
+ */
53
+
54
+ @interface CCCamera : NSObject
55
+ {
56
+ float _eyeX;
57
+ float _eyeY;
58
+ float _eyeZ;
59
+
60
+ float _centerX;
61
+ float _centerY;
62
+ float _centerZ;
63
+
64
+ float _upX;
65
+ float _upY;
66
+ float _upZ;
67
+
68
+ BOOL _dirty;
69
+
70
+ kmMat4 _lookupMatrix;
71
+ }
72
+
73
+ /** whether of not the camera is dirty */
74
+ @property (nonatomic,readwrite) BOOL dirty;
75
+
76
+ /** returns the Z eye */
77
+ +(float) getZEye;
78
+
79
+ /** sets the camera in the defaul position */
80
+ -(void) restore;
81
+ /** Sets the camera using gluLookAt using its eye, center and up_vector */
82
+ -(void) locate;
83
+ /** sets the eye values in points */
84
+ -(void) setEyeX: (float)x eyeY:(float)y eyeZ:(float)z;
85
+ /** sets the center values in points */
86
+ -(void) setCenterX: (float)x centerY:(float)y centerZ:(float)z;
87
+ /** sets the up values */
88
+ -(void) setUpX: (float)x upY:(float)y upZ:(float)z;
89
+
90
+ /** get the eye vector values in points */
91
+ -(void) eyeX:(float*)x eyeY:(float*)y eyeZ:(float*)z;
92
+ /** get the center vector values in points */
93
+ -(void) centerX:(float*)x centerY:(float*)y centerZ:(float*)z;
94
+ /** get the up vector values */
95
+ -(void) upX:(float*)x upY:(float*)y upZ:(float*)z;
96
+
97
+
98
+ @end
@@ -0,0 +1,77 @@
1
+ /*
2
+ * cocos2d for iPhone: http://www.cocos2d-iphone.org
3
+ *
4
+ * Copyright (c) 2012 Pierre-David Bélanger
5
+ *
6
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ * of this software and associated documentation files (the "Software"), to deal
8
+ * in the Software without restriction, including without limitation the rights
9
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ * copies of the Software, and to permit persons to whom the Software is
11
+ * furnished to do so, subject to the following conditions:
12
+ *
13
+ * The above copyright notice and this permission notice shall be included in
14
+ * all copies or substantial portions of the Software.
15
+ *
16
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
+ * THE SOFTWARE.
23
+ *
24
+ */
25
+
26
+ #import "CCNode.h"
27
+
28
+ /** CCClippingNode is a subclass of CCNode.
29
+ It draws its content (childs) clipped using a stencil.
30
+ The stencil is an other CCNode that will not be drawn.
31
+ The clipping is done using the alpha part of the stencil (adjusted with an alphaThreshold).
32
+ */
33
+ @interface CCClippingNode : CCNode
34
+ {
35
+ CCNode *_stencil;
36
+ GLfloat _alphaThreshold;
37
+ BOOL _inverted;
38
+ }
39
+
40
+ /** The CCNode to use as a stencil to do the clipping.
41
+ The stencil node will be retained.
42
+ This default to nil.
43
+ */
44
+ @property (nonatomic, retain) CCNode *stencil;
45
+
46
+ /** The alpha threshold.
47
+ The content is drawn only where the stencil have pixel with alpha greater than the alphaThreshold.
48
+ Should be a float between 0 and 1.
49
+ This default to 1 (so alpha test is disabled).
50
+ */
51
+ @property (nonatomic) GLfloat alphaThreshold;
52
+
53
+ /** Inverted. If this is set to YES,
54
+ the stencil is inverted, so the content is drawn where the stencil is NOT drawn.
55
+ This default to NO.
56
+ */
57
+ @property (nonatomic) BOOL inverted;
58
+
59
+ /** Creates and initializes a clipping node without a stencil.
60
+ */
61
+ + (id)clippingNode;
62
+
63
+ /** Creates and initializes a clipping node with an other node as its stencil.
64
+ The stencil node will be retained.
65
+ */
66
+ + (id)clippingNodeWithStencil:(CCNode *)stencil;
67
+
68
+ /** Initializes a clipping node without a stencil.
69
+ */
70
+ - (id)init;
71
+
72
+ /** Initializes a clipping node with an other node as its stencil.
73
+ The stencil node will be retained, and its parent will be set to this clipping node.
74
+ */
75
+ - (id)initWithStencil:(CCNode *)stencil;
76
+
77
+ @end
@@ -0,0 +1,144 @@
1
+ /*
2
+ * cocos2d for iPhone: http://www.cocos2d-iphone.org
3
+ *
4
+ * Copyright (c) 2010 Ricardo Quesada
5
+ * Copyright (c) 2011 Zynga Inc.
6
+ *
7
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ * of this software and associated documentation files (the "Software"), to deal
9
+ * in the Software without restriction, including without limitation the rights
10
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ * copies of the Software, and to permit persons to whom the Software is
12
+ * furnished to do so, subject to the following conditions:
13
+ *
14
+ * The above copyright notice and this permission notice shall be included in
15
+ * all copies or substantial portions of the Software.
16
+ *
17
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
+ * THE SOFTWARE.
24
+ */
25
+
26
+ #import <Foundation/Foundation.h>
27
+
28
+ #import "Platforms/CCGL.h"
29
+
30
+ /** OS version definitions. Includes both iOS and Mac OS versions
31
+ */
32
+ enum {
33
+ kCCiOSVersion_4_0 = 0x04000000,
34
+ kCCiOSVersion_4_0_1 = 0x04000100,
35
+ kCCiOSVersion_4_1 = 0x04010000,
36
+ kCCiOSVersion_4_2 = 0x04020000,
37
+ kCCiOSVersion_4_2_1 = 0x04020100,
38
+ kCCiOSVersion_4_3 = 0x04030000,
39
+ kCCiOSVersion_4_3_1 = 0x04030100,
40
+ kCCiOSVersion_4_3_2 = 0x04030200,
41
+ kCCiOSVersion_4_3_3 = 0x04030300,
42
+ kCCiOSVersion_4_3_4 = 0x04030400,
43
+ kCCiOSVersion_4_3_5 = 0x04030500,
44
+ kCCiOSVersion_5_0 = 0x05000000,
45
+ kCCiOSVersion_5_0_1 = 0x05000100,
46
+ kCCiOSVersion_5_1_0 = 0x05010000,
47
+ kCCiOSVersion_6_0_0 = 0x06000000,
48
+
49
+ kCCMacVersion_10_6 = 0x0a060000,
50
+ kCCMacVersion_10_7 = 0x0a070000,
51
+ kCCMacVersion_10_8 = 0x0a080000,
52
+ };
53
+
54
+ enum {
55
+ kCCDeviceiPhone,
56
+ kCCDeviceiPhoneRetinaDisplay,
57
+ kCCDeviceiPhone5,
58
+ kCCDeviceiPhone5RetinaDisplay,
59
+ kCCDeviceiPad,
60
+ kCCDeviceiPadRetinaDisplay,
61
+
62
+ kCCDeviceMac,
63
+ kCCDeviceMacRetinaDisplay,
64
+ };
65
+
66
+ /**
67
+ CCConfiguration contains some openGL variables
68
+ @since v0.99.0
69
+ */
70
+ @interface CCConfiguration : NSObject {
71
+
72
+ BOOL _openGLInitialized;
73
+
74
+ GLint _maxTextureSize;
75
+ BOOL _supportsPVRTC;
76
+ BOOL _supportsNPOT;
77
+ BOOL _supportsBGRA8888;
78
+ BOOL _supportsDiscardFramebuffer;
79
+ BOOL _supportsShareableVAO;
80
+ GLint _maxSamplesAllowed;
81
+ GLint _maxTextureUnits;
82
+
83
+ unsigned int _OSVersion;
84
+ }
85
+
86
+ /** OpenGL Max texture size. */
87
+ @property (nonatomic, readonly) GLint maxTextureSize;
88
+
89
+ /** returns the maximum texture units
90
+ @since v2.0.0
91
+ */
92
+ @property (nonatomic, readonly) GLint maxTextureUnits;
93
+
94
+ /** Whether or not the GPU supports NPOT (Non Power Of Two) textures.
95
+ OpenGL ES 2.0 already supports NPOT (iOS).
96
+
97
+ @since v0.99.2
98
+ */
99
+ @property (nonatomic, readonly) BOOL supportsNPOT;
100
+
101
+ /** Whether or not PVR Texture Compressed is supported */
102
+ @property (nonatomic, readonly) BOOL supportsPVRTC;
103
+
104
+ /** Whether or not BGRA8888 textures are supported.
105
+
106
+ @since v0.99.2
107
+ */
108
+ @property (nonatomic, readonly) BOOL supportsBGRA8888;
109
+
110
+ /** Whether or not glDiscardFramebufferEXT is supported
111
+
112
+ @since v0.99.2
113
+ */
114
+ @property (nonatomic, readonly) BOOL supportsDiscardFramebuffer;
115
+
116
+ /** Whether or not shareable VAOs are supported.
117
+ @since v2.0.0
118
+ */
119
+ @property (nonatomic, readonly) BOOL supportsShareableVAO;
120
+
121
+ /** returns the OS version.
122
+ - On iOS devices it returns the firmware version.
123
+ - On Mac returns the OS version
124
+
125
+ @since v0.99.5
126
+ */
127
+ @property (nonatomic, readonly) unsigned int OSVersion;
128
+
129
+
130
+ /** returns a shared instance of the CCConfiguration */
131
+ +(CCConfiguration *) sharedConfiguration;
132
+
133
+ /** returns whether or not an OpenGL is supported */
134
+ - (BOOL) checkForGLExtension:(NSString *)searchName;
135
+
136
+ /** returns the current device */
137
+ -(NSInteger) runningDevice;
138
+
139
+ /** dumps in the console the CCConfiguration information.
140
+ @since v2.1
141
+ */
142
+ -(void) dumpInfo;
143
+
144
+ @end
@@ -0,0 +1,353 @@
1
+ /*
2
+ * cocos2d for iPhone: http://www.cocos2d-iphone.org
3
+ *
4
+ * Copyright (c) 2008-2010 Ricardo Quesada
5
+ * Copyright (c) 2011 Zynga Inc.
6
+ *
7
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
8
+ * of this software and associated documentation files (the "Software"), to deal
9
+ * in the Software without restriction, including without limitation the rights
10
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
+ * copies of the Software, and to permit persons to whom the Software is
12
+ * furnished to do so, subject to the following conditions:
13
+ *
14
+ * The above copyright notice and this permission notice shall be included in
15
+ * all copies or substantial portions of the Software.
16
+ *
17
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
+ * THE SOFTWARE.
24
+ */
25
+
26
+
27
+ #import "ccConfig.h"
28
+ #import "ccTypes.h"
29
+ #import "ccMacros.h"
30
+
31
+ #import "CCProtocols.h"
32
+ #import "Platforms/CCGL.h"
33
+ #import "kazmath/mat4.h"
34
+
35
+ /** @typedef ccDirectorProjection
36
+ Possible OpenGL projections used by director
37
+ */
38
+ typedef enum {
39
+ /// sets a 2D projection (orthogonal projection).
40
+ kCCDirectorProjection2D,
41
+
42
+ /// sets a 3D projection with a fovy=60, znear=0.5f and zfar=1500.
43
+ kCCDirectorProjection3D,
44
+
45
+ /// it calls "updateProjection" on the projection delegate.
46
+ kCCDirectorProjectionCustom,
47
+
48
+ /// Detault projection is 3D projection
49
+ kCCDirectorProjectionDefault = kCCDirectorProjection3D,
50
+
51
+ } ccDirectorProjection;
52
+
53
+
54
+ @class CCLabelAtlas;
55
+ @class CCScene;
56
+ @class CCScheduler;
57
+ @class CCActionManager;
58
+
59
+
60
+ #ifdef __CC_PLATFORM_IOS
61
+ #define CC_VIEWCONTROLLER UIViewController
62
+ #elif defined(__CC_PLATFORM_MAC)
63
+ #define CC_VIEWCONTROLLER NSObject
64
+ #endif
65
+
66
+ /**Class that creates and handle the main Window and manages how
67
+ and when to execute the Scenes.
68
+
69
+ The CCDirector is also responsible for:
70
+ - initializing the OpenGL ES context
71
+ - setting the OpenGL pixel format (default on is RGB565)
72
+ - setting the OpenGL buffer depth (default one is 0-bit)
73
+ - setting the projection (default one is 3D)
74
+
75
+ Since the CCDirector is a singleton, the standard way to use it is by calling:
76
+ - [[CCDirector sharedDirector] methodName];
77
+
78
+ The CCDirector also sets the default OpenGL context:
79
+ - GL_TEXTURE_2D is enabled
80
+ - GL_VERTEX_ARRAY is enabled
81
+ - GL_COLOR_ARRAY is enabled
82
+ - GL_TEXTURE_COORD_ARRAY is enabled
83
+ */
84
+ @interface CCDirector : CC_VIEWCONTROLLER
85
+ {
86
+ // internal timer
87
+ NSTimeInterval _animationInterval;
88
+ NSTimeInterval _oldAnimationInterval;
89
+
90
+ /* stats */
91
+ BOOL _displayStats;
92
+
93
+ NSUInteger _frames;
94
+ NSUInteger _totalFrames;
95
+ ccTime _secondsPerFrame;
96
+
97
+ ccTime _accumDt;
98
+ ccTime _frameRate;
99
+ CCLabelAtlas *_FPSLabel;
100
+ CCLabelAtlas *_SPFLabel;
101
+ CCLabelAtlas *_drawsLabel;
102
+
103
+ /* is the running scene paused */
104
+ BOOL _isPaused;
105
+
106
+ /* Is the director running */
107
+ BOOL _isAnimating;
108
+
109
+ /* The running scene */
110
+ CCScene *_runningScene;
111
+
112
+ /* This object will be visited after the scene. Useful to hook a notification node */
113
+ id _notificationNode;
114
+
115
+ /* will be the next 'runningScene' in the next frame
116
+ nextScene is a weak reference. */
117
+ CCScene *_nextScene;
118
+
119
+ /* If YES, then "old" scene will receive the cleanup message */
120
+ BOOL _sendCleanupToScene;
121
+
122
+ /* scheduled scenes */
123
+ NSMutableArray *_scenesStack;
124
+
125
+ /* last time the main loop was updated */
126
+ struct timeval _lastUpdate;
127
+ /* delta time since last tick to main loop */
128
+ ccTime _dt;
129
+ /* whether or not the next delta time will be zero */
130
+ BOOL _nextDeltaTimeZero;
131
+
132
+ /* projection used */
133
+ ccDirectorProjection _projection;
134
+
135
+ /* CCDirector delegate */
136
+ id<CCDirectorDelegate> _delegate;
137
+
138
+ /* window size in points */
139
+ CGSize _winSizeInPoints;
140
+
141
+ /* window size in pixels */
142
+ CGSize _winSizeInPixels;
143
+
144
+ /* the cocos2d running thread */
145
+ NSThread *_runningThread;
146
+
147
+ /* scheduler associated with this director */
148
+ CCScheduler *_scheduler;
149
+
150
+ /* action manager associated with this director */
151
+ CCActionManager *_actionManager;
152
+
153
+ /* OpenGLView. On iOS it is a copy of self.view */
154
+ CCGLView *__view;
155
+ }
156
+
157
+ /** returns the cocos2d thread.
158
+ If you want to run any cocos2d task, run it in this thread.
159
+ On iOS usually it is the main thread.
160
+ @since v0.99.5
161
+ */
162
+ @property (readonly, nonatomic ) NSThread *runningThread;
163
+ /** The current running Scene. Director can only run one Scene at the time */
164
+ @property (nonatomic,readonly) CCScene* runningScene;
165
+ /** The FPS value */
166
+ @property (nonatomic,readwrite, assign) NSTimeInterval animationInterval;
167
+ /** Whether or not to display director statistics */
168
+ @property (nonatomic, readwrite, assign) BOOL displayStats;
169
+ /** whether or not the next delta time will be zero */
170
+ @property (nonatomic,readwrite,assign) BOOL nextDeltaTimeZero;
171
+ /** Whether or not the Director is paused */
172
+ @property (nonatomic,readonly,getter=isPaused) BOOL paused;
173
+ /** Whether or not the Director is active (animating) */
174
+ @property (nonatomic,readonly) BOOL isAnimating;
175
+ /** Sets an OpenGL projection */
176
+ @property (nonatomic,readwrite) ccDirectorProjection projection;
177
+ /** How many frames were called since the director started */
178
+ @property (nonatomic,readonly) NSUInteger totalFrames;
179
+ /** seconds per frame */
180
+ @property (nonatomic, readonly) ccTime secondsPerFrame;
181
+
182
+ /** Whether or not the replaced scene will receive the cleanup message.
183
+ If the new scene is pushed, then the old scene won't receive the "cleanup" message.
184
+ If the new scene replaces the old one, the it will receive the "cleanup" message.
185
+ @since v0.99.0
186
+ */
187
+ @property (nonatomic, readonly) BOOL sendCleanupToScene;
188
+
189
+ /** This object will be visited after the main scene is visited.
190
+ This object MUST implement the "visit" selector.
191
+ Useful to hook a notification object, like CCNotifications (http://github.com/manucorporat/CCNotifications)
192
+ @since v0.99.5
193
+ */
194
+ @property (nonatomic, readwrite, retain) id notificationNode;
195
+
196
+ /** CCDirector delegate. It shall implement the CCDirectorDelegate protocol
197
+ @since v0.99.5
198
+ */
199
+ @property (nonatomic, readwrite, assign) id<CCDirectorDelegate> delegate;
200
+
201
+ /** CCScheduler associated with this director
202
+ @since v2.0
203
+ */
204
+ @property (nonatomic,readwrite,retain) CCScheduler *scheduler;
205
+
206
+ /** CCActionManager associated with this director
207
+ @since v2.0
208
+ */
209
+ @property (nonatomic,readwrite,retain) CCActionManager *actionManager;
210
+
211
+ /** returns a shared instance of the director */
212
+ +(CCDirector*)sharedDirector;
213
+
214
+
215
+ #pragma mark Director - Stats
216
+
217
+ #pragma mark Director - Win Size
218
+ /** returns the size of the OpenGL view in points */
219
+ - (CGSize) winSize;
220
+
221
+ /** returns the size of the OpenGL view in pixels.
222
+ On Mac winSize and winSizeInPixels return the same value.
223
+ */
224
+ - (CGSize) winSizeInPixels;
225
+
226
+ /** changes the projection size */
227
+ -(void) reshapeProjection:(CGSize)newWindowSize;
228
+
229
+ /** Sets the glViewport*/
230
+ -(void) setViewport;
231
+
232
+ /** converts a UIKit coordinate to an OpenGL coordinate
233
+ Useful to convert (multi) touch coordinates to the current layout (portrait or landscape)
234
+ */
235
+ -(CGPoint) convertToGL: (CGPoint) p;
236
+ /** converts an OpenGL coordinate to a UIKit coordinate
237
+ Useful to convert node points to window points for calls such as glScissor
238
+ */
239
+ -(CGPoint) convertToUI:(CGPoint)p;
240
+
241
+ /// XXX: missing description
242
+ -(float) getZEye;
243
+
244
+ #pragma mark Director - Scene Management
245
+
246
+ /** Enters the Director's main loop with the given Scene.
247
+ * Call it to run only your FIRST scene.
248
+ * Don't call it if there is already a running scene.
249
+ *
250
+ * It will call pushScene: and then it will call startAnimation
251
+ */
252
+ - (void) runWithScene:(CCScene*) scene;
253
+
254
+ /** Suspends the execution of the running scene, pushing it on the stack of suspended scenes.
255
+ * The new scene will be executed.
256
+ * Try to avoid big stacks of pushed scenes to reduce memory allocation.
257
+ * ONLY call it if there is a running scene.
258
+ */
259
+ - (void) pushScene:(CCScene*) scene;
260
+
261
+ /** Pops out a scene from the queue.
262
+ * This scene will replace the running one.
263
+ * The running scene will be deleted. If there are no more scenes in the stack the execution is terminated.
264
+ * ONLY call it if there is a running scene.
265
+ */
266
+ - (void) popScene;
267
+
268
+ /**Pops out all scenes from the queue until the root scene in the queue.
269
+ * This scene will replace the running one.
270
+ * Internally it will call `popToSceneStackLevel:1`
271
+ */
272
+ - (void) popToRootScene;
273
+
274
+ /** Pops out all scenes from the queue until it reaches `level`.
275
+ If level is 0, it will end the director.
276
+ If level is 1, it will pop all scenes until it reaches to root scene.
277
+ If level is <= than the current stack level, it won't do anything.
278
+ */
279
+ -(void) popToSceneStackLevel:(NSUInteger)level;
280
+
281
+ /** Replaces the running scene with a new one. The running scene is terminated.
282
+ * ONLY call it if there is a running scene.
283
+ */
284
+ -(void) replaceScene: (CCScene*) scene;
285
+
286
+ /** Ends the execution, releases the running scene.
287
+ It doesn't remove the OpenGL view from its parent. You have to do it manually.
288
+ */
289
+ -(void) end;
290
+
291
+ /** Pauses the running scene.
292
+ The running scene will be _drawed_ but all scheduled timers will be paused
293
+ While paused, the draw rate will be 4 FPS to reduce CPU consumption
294
+ */
295
+ -(void) pause;
296
+
297
+ /** Resumes the paused scene
298
+ The scheduled timers will be activated again.
299
+ The "delta time" will be 0 (as if the game wasn't paused)
300
+ */
301
+ -(void) resume;
302
+
303
+ /** Stops the animation. Nothing will be drawn. The main loop won't be triggered anymore.
304
+ If you want to pause your animation call [pause] instead.
305
+ */
306
+ -(void) stopAnimation;
307
+
308
+ /** The main loop is triggered again.
309
+ Call this function only if [stopAnimation] was called earlier
310
+ @warning Don't call this function to start the main loop. To run the main loop call runWithScene
311
+ */
312
+ -(void) startAnimation;
313
+
314
+ /** Draw the scene.
315
+ This method is called every frame. Don't call it manually.
316
+ */
317
+ -(void) drawScene;
318
+
319
+
320
+ // XXX: Hack. Should be placed on CCDirectorMac.h. Refactoring needed
321
+ #if defined(__CC_PLATFORM_MAC)
322
+ /** sets the openGL view */
323
+ -(void) setView:(CCGLView*)view;
324
+
325
+ /** returns the OpenGL view */
326
+ -(CCGLView*) view;
327
+ #endif
328
+
329
+ #pragma mark Director - Memory Helper
330
+
331
+ /** Removes all the cocos2d data that was cached automatically.
332
+ It will purge the CCTextureCache, CCLabelBMFont cache.
333
+ IMPORTANT: The CCSpriteFrameCache won't be purged. If you want to purge it, you have to purge it manually.
334
+ @since v0.99.3
335
+ */
336
+ -(void) purgeCachedData;
337
+
338
+ // OpenGL Helper
339
+
340
+ /** sets the OpenGL default values */
341
+ -(void) setGLDefaultValues;
342
+ /** enables/disables OpenGL alpha blending */
343
+ - (void) setAlphaBlending: (BOOL) on;
344
+ /** enables/disables OpenGL depth test */
345
+ - (void) setDepthTest: (BOOL) on;
346
+
347
+ // helper
348
+ /** creates the Stats labels */
349
+ -(void) createStatsLabel;
350
+ @end
351
+
352
+ // optimization. Should only be used to read it. Never to write it.
353
+ extern NSUInteger __ccNumberOfDraws;