ccb 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (335) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +20 -0
  3. data/README.md +31 -0
  4. data/bin/ccb +4 -0
  5. data/lib/ccb/builder/project_builder.rb +14 -0
  6. data/lib/ccb/builder/scene_builder.rb +9 -0
  7. data/lib/ccb/builder/templates/project/GameConfig.js.tt +21 -0
  8. data/lib/ccb/builder/templates/project/_cocos-project.json +4 -0
  9. data/lib/ccb/builder/templates/project/folder/CMakeLists.txt +295 -0
  10. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/Base64Images.js +32 -0
  11. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/CCBoot.js +2271 -0
  12. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/CCDebugger.js +336 -0
  13. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions/CCAction.js +694 -0
  14. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions/CCActionCamera.js +293 -0
  15. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions/CCActionCatmullRom.js +605 -0
  16. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions/CCActionEase.js +3681 -0
  17. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions/CCActionInstant.js +757 -0
  18. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions/CCActionInterval.js +3554 -0
  19. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions/CCActionTween.js +166 -0
  20. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions3d/CCActionGrid.js +372 -0
  21. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions3d/CCActionGrid3D.js +1257 -0
  22. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions3d/CCActionPageTurn3D.js +113 -0
  23. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/actions3d/CCActionTiledGrid.js +1289 -0
  24. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/audio/CCAudio.js +1024 -0
  25. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/clipping-nodes/CCClippingNode.js +224 -0
  26. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/clipping-nodes/CCClippingNodeCanvasRenderCmd.js +227 -0
  27. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/clipping-nodes/CCClippingNodeWebGLRenderCmd.js +226 -0
  28. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/compression/ZipUtils.js +82 -0
  29. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/compression/base64.js +95 -0
  30. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/compression/gzip.js +731 -0
  31. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/compression/zlib.min.js +55 -0
  32. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCActionManager.js +378 -0
  33. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCCamera.js +290 -0
  34. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCConfiguration.js +294 -0
  35. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCDirector.js +1019 -0
  36. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCDirectorWebGL.js +329 -0
  37. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCDrawingPrimitivesCanvas.js +438 -0
  38. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCDrawingPrimitivesWebGL.js +464 -0
  39. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/CCScheduler.js +744 -0
  40. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/base-nodes/BaseNodesPropertyDefine.js +127 -0
  41. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/base-nodes/CCAtlasNode.js +294 -0
  42. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/base-nodes/CCAtlasNodeCanvasRenderCmd.js +138 -0
  43. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/base-nodes/CCAtlasNodeWebGLRenderCmd.js +145 -0
  44. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/base-nodes/CCNode.js +2386 -0
  45. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/base-nodes/CCNodeCanvasRenderCmd.js +504 -0
  46. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/base-nodes/CCNodeWebGLRenderCmd.js +254 -0
  47. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/cocoa/CCAffineTransform.js +259 -0
  48. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/cocoa/CCGeometry.js +327 -0
  49. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/event-manager/CCEvent.js +449 -0
  50. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/event-manager/CCEventExtension.js +126 -0
  51. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/event-manager/CCEventListener.js +519 -0
  52. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/event-manager/CCEventManager.js +1025 -0
  53. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/event-manager/CCTouch.js +175 -0
  54. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/labelttf/CCLabelTTF.js +829 -0
  55. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/labelttf/CCLabelTTFCanvasRenderCmd.js +420 -0
  56. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/labelttf/CCLabelTTFWebGLRenderCmd.js +101 -0
  57. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/labelttf/LabelTTFPropertyDefine.js +88 -0
  58. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/layers/CCLayer.js +642 -0
  59. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/layers/CCLayerCanvasRenderCmd.js +434 -0
  60. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/layers/CCLayerWebGLRenderCmd.js +248 -0
  61. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCClass.js +333 -0
  62. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCCommon.js +303 -0
  63. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCConfig.js +303 -0
  64. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCEGLView.js +1245 -0
  65. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCInputExtension.js +135 -0
  66. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCInputManager.js +616 -0
  67. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCLoaders.js +142 -0
  68. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCMacro.js +830 -0
  69. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCSAXParser.js +160 -0
  70. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCScreen.js +155 -0
  71. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCTypes.js +374 -0
  72. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCTypesPropertyDefine.js +165 -0
  73. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCTypesWebGL.js +689 -0
  74. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/CCVisibleRect.js +100 -0
  75. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/platform/miniFramework.js +264 -0
  76. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/renderer/RendererCanvas.js +274 -0
  77. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/renderer/RendererWebGL.js +137 -0
  78. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/scenes/CCLoaderScene.js +149 -0
  79. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/scenes/CCScene.js +62 -0
  80. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCAnimation.js +477 -0
  81. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCAnimationCache.js +213 -0
  82. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCBakeSprite.js +71 -0
  83. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSprite.js +1014 -0
  84. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSpriteBatchNode.js +676 -0
  85. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSpriteBatchNodeCanvasRenderCmd.js +101 -0
  86. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSpriteBatchNodeWebGLRenderCmd.js +243 -0
  87. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSpriteCanvasRenderCmd.js +518 -0
  88. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSpriteFrame.js +420 -0
  89. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSpriteFrameCache.js +341 -0
  90. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/CCSpriteWebGLRenderCmd.js +493 -0
  91. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/sprites/SpritesPropertyDefine.js +67 -0
  92. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/support/CCPointExtension.js +515 -0
  93. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/support/CCVertex.js +170 -0
  94. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/support/TransformUtils.js +62 -0
  95. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/textures/CCTexture2D.js +455 -0
  96. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/textures/CCTextureAtlas.js +653 -0
  97. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/textures/CCTextureCache.js +371 -0
  98. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/textures/TexturesPropertyDefine.js +221 -0
  99. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/textures/TexturesWebGL.js +899 -0
  100. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/core/utils/BinaryLoader.js +151 -0
  101. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/effects/CCGrabber.js +110 -0
  102. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/effects/CCGrid.js +737 -0
  103. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/aabb.js +68 -0
  104. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/gl/mat4stack.js +59 -0
  105. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/gl/matrix.js +169 -0
  106. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/mat3.js +329 -0
  107. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/mat4.js +810 -0
  108. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/plane.js +184 -0
  109. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/quaternion.js +497 -0
  110. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/ray2.js +163 -0
  111. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/utility.js +76 -0
  112. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/vec2.js +107 -0
  113. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/vec3.js +205 -0
  114. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/kazmath/vec4.js +158 -0
  115. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/labels/CCLabelAtlas.js +239 -0
  116. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/labels/CCLabelAtlasCanvasRenderCmd.js +95 -0
  117. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/labels/CCLabelAtlasWebGLRenderCmd.js +132 -0
  118. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/labels/CCLabelBMFont.js +958 -0
  119. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/labels/CCLabelBMFontCanvasRenderCmd.js +142 -0
  120. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/labels/CCLabelBMFontWebGLRenderCmd.js +87 -0
  121. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/menus/CCMenu.js +600 -0
  122. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/menus/CCMenuItem.js +1422 -0
  123. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/motion-streak/CCMotionStreak.js +517 -0
  124. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/motion-streak/CCMotionStreakWebGLRenderCmd.js +66 -0
  125. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/node-grid/CCNodeGrid.js +129 -0
  126. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/node-grid/CCNodeGridWebGLRenderCmd.js +98 -0
  127. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/parallax/CCParallaxNode.js +252 -0
  128. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/parallax/CCParallaxNodeRenderCmd.js +69 -0
  129. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCPNGReader.js +330 -0
  130. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCParticleBatchNode.js +527 -0
  131. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCParticleBatchNodeCanvasRenderCmd.js +38 -0
  132. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCParticleBatchNodeWebGLRenderCmd.js +74 -0
  133. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCParticleExamples.js +1006 -0
  134. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCParticleSystem.js +2294 -0
  135. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCParticleSystemCanvasRenderCmd.js +217 -0
  136. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCParticleSystemWebGLRenderCmd.js +402 -0
  137. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/particle/CCTIFFReader.js +692 -0
  138. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/physics/CCPhysicsDebugNode.js +212 -0
  139. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/physics/CCPhysicsDebugNodeCanvasRenderCmd.js +52 -0
  140. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/physics/CCPhysicsDebugNodeWebGLRenderCmd.js +53 -0
  141. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/physics/CCPhysicsSprite.js +447 -0
  142. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/physics/CCPhysicsSpriteCanvasRenderCmd.js +93 -0
  143. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/physics/CCPhysicsSpriteWebGLRenderCmd.js +87 -0
  144. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/progress-timer/CCActionProgressTimer.js +227 -0
  145. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/progress-timer/CCProgressTimer.js +345 -0
  146. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/progress-timer/CCProgressTimerCanvasRenderCmd.js +270 -0
  147. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/progress-timer/CCProgressTimerWebGLRenderCmd.js +486 -0
  148. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/render-texture/CCRenderTexture.js +395 -0
  149. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/render-texture/CCRenderTextureCanvasRenderCmd.js +105 -0
  150. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/render-texture/CCRenderTextureWebGLRenderCmd.js +367 -0
  151. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/shaders/CCGLProgram.js +767 -0
  152. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/shaders/CCGLStateCache.js +340 -0
  153. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/shaders/CCShaderCache.js +301 -0
  154. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/shaders/CCShaders.js +280 -0
  155. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/shape-nodes/CCDrawNode.js +940 -0
  156. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/shape-nodes/CCDrawNodeCanvasRenderCmd.js +129 -0
  157. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/shape-nodes/CCDrawNodeWebGLRenderCmd.js +41 -0
  158. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/text-input/CCIMEDispatcher.js +526 -0
  159. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/text-input/CCTextFieldTTF.js +472 -0
  160. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/tilemap/CCTGAlib.js +437 -0
  161. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/tilemap/CCTMXLayer.js +914 -0
  162. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/tilemap/CCTMXLayerCanvasRenderCmd.js +232 -0
  163. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/tilemap/CCTMXLayerWebGLRenderCmd.js +67 -0
  164. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/tilemap/CCTMXObjectGroup.js +146 -0
  165. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/tilemap/CCTMXTiledMap.js +479 -0
  166. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/tilemap/CCTMXXMLParser.js +950 -0
  167. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/transitions/CCTransition.js +1971 -0
  168. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/transitions/CCTransitionPageTurn.js +152 -0
  169. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/cocos2d/transitions/CCTransitionProgress.js +458 -0
  170. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCBAnimationManager.js +770 -0
  171. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCBKeyframe.js +60 -0
  172. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCBReader.js +1129 -0
  173. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCBReaderUtil.js +61 -0
  174. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCBRelativePositioning.js +90 -0
  175. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCBSequence.js +114 -0
  176. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCBValue.js +81 -0
  177. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCControlLoader.js +318 -0
  178. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCNodeLoader.js +905 -0
  179. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCNodeLoaderLibrary.js +101 -0
  180. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccb-reader/CCSpriteLoader.js +544 -0
  181. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccpool/CCPool.js +146 -0
  182. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/CCProtectedNode.js +305 -0
  183. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/CCProtectedNodeCanvasRenderCmd.js +246 -0
  184. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/CCProtectedNodeWebGLRenderCmd.js +159 -0
  185. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/UIScale9Sprite.js +1105 -0
  186. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/UIScale9SpriteCanvasRenderCmd.js +142 -0
  187. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/UIScale9SpriteWebGLRenderCmd.js +129 -0
  188. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/UIWidget.js +2059 -0
  189. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/base-classes/UIWidgetRenderCmd.js +100 -0
  190. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UIHBox.js +80 -0
  191. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UILayout.js +1558 -0
  192. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UILayoutCanvasRenderCmd.js +179 -0
  193. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UILayoutComponent.js +585 -0
  194. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UILayoutManager.js +457 -0
  195. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UILayoutParameter.js +576 -0
  196. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UILayoutWebGLRenderCmd.js +240 -0
  197. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UIRelativeBox.js +79 -0
  198. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/layouts/UIVBox.js +79 -0
  199. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/system/CocosGUI.js +62 -0
  200. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/system/UIHelper.js +164 -0
  201. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UIButton.js +987 -0
  202. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UICheckBox.js +737 -0
  203. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UIImageView.js +337 -0
  204. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UILoadingBar.js +432 -0
  205. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UIRichText.js +579 -0
  206. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UISlider.js +762 -0
  207. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UIText.js +512 -0
  208. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UITextAtlas.js +229 -0
  209. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UITextBMFont.js +216 -0
  210. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/UITextField.js +915 -0
  211. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/scroll-widget/UIListView.js +602 -0
  212. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/scroll-widget/UIPageView.js +657 -0
  213. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/ccui/uiwidgets/scroll-widget/UIScrollView.js +1884 -0
  214. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/CocoStudio.js +68 -0
  215. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/action/CCActionFrame.js +528 -0
  216. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/action/CCActionManager.js +112 -0
  217. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/action/CCActionNode.js +417 -0
  218. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/action/CCActionObject.js +263 -0
  219. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/CCArmature.js +579 -0
  220. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/CCArmatureCanvasRenderCmd.js +190 -0
  221. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/CCArmatureWebGLRenderCmd.js +167 -0
  222. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/CCBone.js +711 -0
  223. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/animation/CCArmatureAnimation.js +669 -0
  224. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/animation/CCProcessBase.js +365 -0
  225. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/animation/CCTween.js +448 -0
  226. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/datas/CCDatas.js +807 -0
  227. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/display/CCDecorativeDisplay.js +118 -0
  228. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/display/CCDisplayFactory.js +220 -0
  229. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/display/CCDisplayManager.js +465 -0
  230. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/display/CCSkin.js +215 -0
  231. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/display/CCSkinCanvasRenderCmd.js +58 -0
  232. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/display/CCSkinWebGLRenderCmd.js +146 -0
  233. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/physics/CCColliderDetector.js +397 -0
  234. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/utils/CCArmatureDataManager.js +325 -0
  235. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/utils/CCArmatureDefine.js +45 -0
  236. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/utils/CCDataReaderHelper.js +1223 -0
  237. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/utils/CCSpriteFrameCacheHelper.js +68 -0
  238. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/utils/CCTransformHelp.js +183 -0
  239. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/utils/CCTweenFunction.js +501 -0
  240. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/armature/utils/CCUtilMath.js +69 -0
  241. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/components/CCComAttribute.js +210 -0
  242. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/components/CCComAudio.js +285 -0
  243. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/components/CCComController.js +76 -0
  244. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/components/CCComRender.js +91 -0
  245. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/components/CCComponent.js +136 -0
  246. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/components/CCComponentContainer.js +159 -0
  247. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/load.js +221 -0
  248. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/parsers/action-1.x.js +238 -0
  249. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/parsers/action-2.x.js +266 -0
  250. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/parsers/compatible.js +251 -0
  251. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/parsers/scene-1.x.js +262 -0
  252. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/parsers/timelineParser-1.x.js +292 -0
  253. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/parsers/timelineParser-2.x.js +1288 -0
  254. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/loader/parsers/uiParser-1.x.js +680 -0
  255. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/timeline/ActionTimeline.js +448 -0
  256. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/timeline/Frame.js +1268 -0
  257. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/timeline/Timeline.js +321 -0
  258. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/trigger/ObjectFactory.js +99 -0
  259. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/trigger/TriggerBase.js +49 -0
  260. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/trigger/TriggerMng.js +301 -0
  261. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/cocostudio/trigger/TriggerObj.js +263 -0
  262. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/editbox/CCEditBox.js +716 -0
  263. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/editbox/CCdomNode.js +657 -0
  264. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControl.js +381 -0
  265. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlButton.js +688 -0
  266. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlColourPicker.js +187 -0
  267. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlHuePicker.js +218 -0
  268. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlPotentiometer.js +300 -0
  269. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlSaturationBrightnessPicker.js +257 -0
  270. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlSlider.js +308 -0
  271. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlStepper.js +390 -0
  272. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlSwitch.js +425 -0
  273. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCControlUtils.js +177 -0
  274. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCInvocation.js +65 -0
  275. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCMenuPassive.js +415 -0
  276. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCScale9Sprite.js +1099 -0
  277. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCScale9SpriteCanvasRenderCmd.js +142 -0
  278. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/control-extension/CCScale9SpriteWebGLRenderCmd.js +129 -0
  279. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/scrollview/CCScrollView.js +827 -0
  280. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/scrollview/CCScrollViewCanvasRenderCmd.js +79 -0
  281. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/scrollview/CCScrollViewWebGLRenderCmd.js +108 -0
  282. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/scrollview/CCSorting.js +239 -0
  283. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/gui/scrollview/CCTableView.js +718 -0
  284. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/spine/CCSkeleton.js +357 -0
  285. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/spine/CCSkeletonAnimation.js +340 -0
  286. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/spine/CCSkeletonCanvasRenderCmd.js +165 -0
  287. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/spine/CCSkeletonWebGLRenderCmd.js +165 -0
  288. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/extensions/spine/Spine.js +2239 -0
  289. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/external/box2d/box2d.js +10882 -0
  290. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/external/chipmunk/chipmunk.js +6196 -0
  291. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/external/pluginx/Plugin.js +254 -0
  292. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/external/pluginx/platform/facebook.js +557 -0
  293. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/external/pluginx/platform/facebook_sdk.js +151 -0
  294. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/external/socketio/socket.io.min.js +2 -0
  295. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/jsb_apis.js +618 -0
  296. data/lib/ccb/builder/templates/project/folder/frameworks/cocos2d-html5/moduleConfig.json +453 -0
  297. data/lib/ccb/builder/templates/project/folder/project.json +42 -0
  298. data/lib/ccb/builder/templates/project/folder/res/CloseNormal.png +0 -0
  299. data/lib/ccb/builder/templates/project/folder/res/CloseSelected.png +0 -0
  300. data/lib/ccb/builder/templates/project/folder/res/HelloWorld.png +0 -0
  301. data/lib/ccb/builder/templates/project/folder/res/favicon.ico +0 -0
  302. data/lib/ccb/builder/templates/project/folder/res/gameOver/cocos2d-html5.png +0 -0
  303. data/lib/ccb/builder/templates/project/folder/res/gameOver/gameOver.png +0 -0
  304. data/lib/ccb/builder/templates/project/folder/res/mainMenu/bg.png +0 -0
  305. data/lib/ccb/builder/templates/project/folder/res/mainMenu/menu.png +0 -0
  306. data/lib/ccb/builder/templates/project/folder/res/setting/menuTitle.png +0 -0
  307. data/lib/ccb/builder/templates/project/folder/res/shared/arial-14.fnt +182 -0
  308. data/lib/ccb/builder/templates/project/folder/res/shared/arial-14.png +0 -0
  309. data/lib/ccb/builder/templates/project/folder/res/sound/music/bgMusic.mp3 +0 -0
  310. data/lib/ccb/builder/templates/project/folder/src/about/layer/ABBackgroundLayer.js +23 -0
  311. data/lib/ccb/builder/templates/project/folder/src/about/layer/ABTouchLayer.js +51 -0
  312. data/lib/ccb/builder/templates/project/folder/src/about/scene/About.js +36 -0
  313. data/lib/ccb/builder/templates/project/folder/src/config/Level.js +7 -0
  314. data/lib/ccb/builder/templates/project/folder/src/gameOver/layer/GOBackgroundLayer.js +50 -0
  315. data/lib/ccb/builder/templates/project/folder/src/gameOver/layer/GOTouchLayer.js +51 -0
  316. data/lib/ccb/builder/templates/project/folder/src/gameOver/scene/GameOver.js +38 -0
  317. data/lib/ccb/builder/templates/project/folder/src/gamePlay/classes/LevelManager.js +21 -0
  318. data/lib/ccb/builder/templates/project/folder/src/gamePlay/layer/GPBackgroundLayer.js +25 -0
  319. data/lib/ccb/builder/templates/project/folder/src/gamePlay/layer/GPTouchLayer.js +51 -0
  320. data/lib/ccb/builder/templates/project/folder/src/gamePlay/scene/GamePlay.js +44 -0
  321. data/lib/ccb/builder/templates/project/folder/src/mainMenu/layer/MMBackgroundLayer.js +43 -0
  322. data/lib/ccb/builder/templates/project/folder/src/mainMenu/layer/MMMainMenuLayer.js +38 -0
  323. data/lib/ccb/builder/templates/project/folder/src/mainMenu/layer/MMTouchLayer.js +96 -0
  324. data/lib/ccb/builder/templates/project/folder/src/mainMenu/scene/MainMenu.js +45 -0
  325. data/lib/ccb/builder/templates/project/folder/src/resource.js +29 -0
  326. data/lib/ccb/builder/templates/project/folder/src/setting/layer/STBackgroundLayer.js +25 -0
  327. data/lib/ccb/builder/templates/project/folder/src/setting/layer/STTouchLayer.js +89 -0
  328. data/lib/ccb/builder/templates/project/folder/src/setting/scene/Setting.js +40 -0
  329. data/lib/ccb/builder/templates/project/index.html.tt +27 -0
  330. data/lib/ccb/builder/templates/project/main.js.tt +62 -0
  331. data/lib/ccb/cli.rb +32 -0
  332. data/lib/ccb/ext/method_hooker.rb +68 -0
  333. data/lib/ccb/ext/string_extention.rb +7 -0
  334. data/lib/ccb.rb +1 -0
  335. metadata +449 -0
@@ -0,0 +1,184 @@
1
+ /**
2
+ Copyright (c) 2008-2010 Ricardo Quesada
3
+ Copyright (c) 2011-2012 cocos2d-x.org
4
+ Copyright (c) 2013-2014 Chukong Technologies Inc.
5
+ Copyright (c) 2008, Luke Benstead.
6
+ All rights reserved.
7
+
8
+ Redistribution and use in source and binary forms, with or without modification,
9
+ are permitted provided that the following conditions are met:
10
+
11
+ Redistributions of source code must retain the above copyright notice,
12
+ this list of conditions and the following disclaimer.
13
+ Redistributions in binary form must reproduce the above copyright notice,
14
+ this list of conditions and the following disclaimer in the documentation
15
+ and/or other materials provided with the distribution.
16
+
17
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
21
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
+ */
28
+
29
+ /**
30
+ * @ignore
31
+ */
32
+ cc.KM_PLANE_LEFT = 0;
33
+
34
+ cc.KM_PLANE_RIGHT = 1;
35
+
36
+ cc.KM_PLANE_BOTTOM = 2;
37
+
38
+ cc.KM_PLANE_TOP = 3;
39
+
40
+ cc.KM_PLANE_NEAR = 4;
41
+
42
+ cc.KM_PLANE_FAR = 5;
43
+
44
+ cc.kmPlane = function (a, b, c, d) {
45
+ this.a = a || 0;
46
+ this.b = b || 0;
47
+ this.c = c || 0;
48
+ this.d = d || 0;
49
+ };
50
+
51
+ cc.POINT_INFRONT_OF_PLANE = 0;
52
+
53
+ cc.POINT_BEHIND_PLANE = 1;
54
+
55
+ cc.POINT_ON_PLANE = 2;
56
+
57
+ cc.kmPlaneDot = function(pP, pV){
58
+ //a*x + b*y + c*z + d*w
59
+ return (pP.a * pV.x +
60
+ pP.b * pV.y +
61
+ pP.c * pV.z +
62
+ pP.d * pV.w);
63
+ };
64
+
65
+ cc.kmPlaneDotCoord = function(pP, pV){
66
+ return (pP.a * pV.x +
67
+ pP.b * pV.y +
68
+ pP.c * pV.z + pP.d);
69
+ };
70
+
71
+ cc.kmPlaneDotNormal = function(pP, pV){
72
+ return (pP.a * pV.x +
73
+ pP.b * pV.y +
74
+ pP.c * pV.z);
75
+ };
76
+
77
+ cc.kmPlaneFromPointNormal = function(pOut, pPoint, pNormal){
78
+ /*
79
+ Planea = Nx
80
+ Planeb = Ny
81
+ Planec = Nz
82
+ Planed = −N⋅P
83
+ */
84
+ pOut.a = pNormal.x;
85
+ pOut.b = pNormal.y;
86
+ pOut.c = pNormal.z;
87
+ pOut.d = -cc.kmVec3Dot(pNormal, pPoint);
88
+
89
+ return pOut;
90
+ };
91
+
92
+ /**
93
+ * Creates a plane from 3 points. The result is stored in pOut.
94
+ * pOut is returned.
95
+ */
96
+ cc.kmPlaneFromPoints = function(pOut, p1, p2, p3){
97
+ /*
98
+ v = (B − A) × (C − A)
99
+ n = 1⁄|v| v
100
+ Outa = nx
101
+ Outb = ny
102
+ Outc = nz
103
+ Outd = −n⋅A
104
+ */
105
+
106
+ var n = new cc.kmVec3(), v1 = new cc.kmVec3(), v2 = new cc.kmVec3();
107
+ cc.kmVec3Subtract(v1, p2, p1); //Create the vectors for the 2 sides of the triangle
108
+ cc.kmVec3Subtract(v2, p3, p1);
109
+ cc.kmVec3Cross(n, v1, v2); //Use the cross product to get the normal
110
+
111
+ cc.kmVec3Normalize(n, n); //Normalize it and assign to pOut.m_N
112
+
113
+ pOut.a = n.x;
114
+ pOut.b = n.y;
115
+ pOut.c = n.z;
116
+ pOut.d = cc.kmVec3Dot(cc.kmVec3Scale(n, n, -1.0), p1);
117
+
118
+ return pOut;
119
+ };
120
+
121
+ cc.kmPlaneIntersectLine = function(pOut, pP, pV1, pV2){
122
+ throw "cc.kmPlaneIntersectLine() hasn't been implemented.";
123
+ /*
124
+ n = (Planea, Planeb, Planec)
125
+ d = V − U
126
+ Out = U − d⋅(Pd + n⋅U)⁄(d⋅n) [iff d⋅n ≠ 0]
127
+ */
128
+ //var d = new cc.kmVec3();
129
+
130
+ //cc.kmVec3Subtract(d, pV2, pV1); //Get the direction vector
131
+
132
+ //TODO: Continue here!
133
+ /*if (fabs(kmVec3Dot(&pP.m_N, &d)) > kmEpsilon)
134
+ {
135
+ //If we get here then the plane and line are parallel (i.e. no intersection)
136
+ pOut = nullptr; //Set to nullptr
137
+
138
+ return pOut;
139
+ } */
140
+
141
+ //return null;
142
+ };
143
+
144
+ cc.kmPlaneNormalize = function(pOut, pP){
145
+ var n = new cc.kmVec3();
146
+
147
+ n.x = pP.a;
148
+ n.y = pP.b;
149
+ n.z = pP.c;
150
+
151
+ var l = 1.0 / cc.kmVec3Length(n); //Get 1/length
152
+ cc.kmVec3Normalize(n, n); //Normalize the vector and assign to pOut
153
+
154
+ pOut.a = n.x;
155
+ pOut.b = n.y;
156
+ pOut.c = n.z;
157
+
158
+ pOut.d = pP.d * l; //Scale the D value and assign to pOut
159
+
160
+ return pOut;
161
+ };
162
+
163
+ cc.kmPlaneScale = function(pOut, pP, s){
164
+ cc.log("cc.kmPlaneScale() has not been implemented.");
165
+ };
166
+
167
+ /**
168
+ * Returns POINT_INFRONT_OF_PLANE if pP is infront of pIn. Returns
169
+ * POINT_BEHIND_PLANE if it is behind. Returns POINT_ON_PLANE otherwise
170
+ */
171
+ cc.kmPlaneClassifyPoint = function(pIn, pP){
172
+ // This function will determine if a point is on, in front of, or behind
173
+ // the plane. First we store the dot product of the plane and the point.
174
+ var distance = pIn.a * pP.x + pIn.b * pP.y + pIn.c * pP.z + pIn.d;
175
+
176
+ // Simply put if the dot product is greater than 0 then it is infront of it.
177
+ // If it is less than 0 then it is behind it. And if it is 0 then it is on it.
178
+ if(distance > 0.001) return cc.POINT_INFRONT_OF_PLANE;
179
+ if(distance < -0.001) return cc.POINT_BEHIND_PLANE;
180
+
181
+ return cc.POINT_ON_PLANE;
182
+ };
183
+
184
+
@@ -0,0 +1,497 @@
1
+ /**
2
+ Copyright (c) 2008-2010 Ricardo Quesada
3
+ Copyright (c) 2011-2012 cocos2d-x.org
4
+ Copyright (c) 2013-2014 Chukong Technologies Inc.
5
+ Copyright (c) 2008, Luke Benstead.
6
+ All rights reserved.
7
+
8
+ Redistribution and use in source and binary forms, with or without modification,
9
+ are permitted provided that the following conditions are met:
10
+
11
+ Redistributions of source code must retain the above copyright notice,
12
+ this list of conditions and the following disclaimer.
13
+ Redistributions in binary form must reproduce the above copyright notice,
14
+ this list of conditions and the following disclaimer in the documentation
15
+ and/or other materials provided with the distribution.
16
+
17
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
21
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
+ */
28
+
29
+ /**
30
+ * The Quaternion class
31
+ * @param {Number} x
32
+ * @param {Number} y
33
+ * @param {Number} z
34
+ * @param {Number} w
35
+ * @constructor
36
+ */
37
+ cc.kmQuaternion = function (x, y, z, w) {
38
+ this.x = x || 0;
39
+ this.y = y || 0;
40
+ this.z = z || 0;
41
+ this.w = w || 0;
42
+ };
43
+
44
+ ///< Returns pOut, sets pOut to the conjugate of pIn
45
+ cc.kmQuaternionConjugate = function (pOut, pIn) {
46
+ pOut.x = -pIn.x;
47
+ pOut.y = -pIn.y;
48
+ pOut.z = -pIn.z;
49
+ pOut.w = pIn.w;
50
+
51
+ return pOut;
52
+ };
53
+
54
+ ///< Returns the dot product of the 2 quaternions
55
+ cc.kmQuaternionDot = function (q1, q2) {
56
+ // A dot B = B dot A = AtBt + AxBx + AyBy + AzBz
57
+ return (q1.w * q2.w +
58
+ q1.x * q2.x +
59
+ q1.y * q2.y +
60
+ q1.z * q2.z);
61
+ };
62
+
63
+ ///< Returns the exponential of the quaternion
64
+ cc.kmQuaternionExp = function (pOut, pIn) {
65
+ //TODO not implement
66
+ //cc.assert(0);
67
+ return pOut;
68
+ };
69
+
70
+ ///< Makes the passed quaternion an identity quaternion
71
+ cc.kmQuaternionIdentity = function (pOut) {
72
+ pOut.x = 0.0;
73
+ pOut.y = 0.0;
74
+ pOut.z = 0.0;
75
+ pOut.w = 1.0;
76
+
77
+ return pOut;
78
+ };
79
+
80
+ ///< Returns the inverse of the passed Quaternion
81
+ cc.kmQuaternionInverse = function (pOut, pIn) {
82
+ var l = cc.kmQuaternionLength(pIn);
83
+ var tmp = new cc.kmQuaternion();
84
+
85
+ if (Math.abs(l) > cc.kmEpsilon) {
86
+ pOut.x = 0.0;
87
+ pOut.y = 0.0;
88
+ pOut.z = 0.0;
89
+ pOut.w = 0.0;
90
+ return pOut;
91
+ }
92
+
93
+ ///Get the conjugute and divide by the length
94
+ cc.kmQuaternionScale(pOut,
95
+ cc.kmQuaternionConjugate(tmp, pIn), 1.0 / l);
96
+
97
+ return pOut;
98
+ };
99
+
100
+ ///< Returns true if the quaternion is an identity quaternion
101
+ cc.kmQuaternionIsIdentity = function (pIn) {
102
+ return (pIn.x == 0.0 && pIn.y == 0.0 && pIn.z == 0.0 &&
103
+ pIn.w == 1.0);
104
+ };
105
+
106
+ ///< Returns the length of the quaternion
107
+ cc.kmQuaternionLength = function (pIn) {
108
+ return Math.sqrt(cc.kmQuaternionLengthSq(pIn));
109
+ };
110
+
111
+ ///< Returns the length of the quaternion squared (prevents a sqrt)
112
+ cc.kmQuaternionLengthSq = function (pIn) {
113
+ return pIn.x * pIn.x + pIn.y * pIn.y +
114
+ pIn.z * pIn.z + pIn.w * pIn.w;
115
+ };
116
+
117
+ ///< Returns the natural logarithm
118
+ cc.kmQuaternionLn = function (pOut, pIn) {
119
+ /*
120
+ A unit quaternion, is defined by:
121
+ Q == (cos(theta), sin(theta) * v) where |v| = 1
122
+ The natural logarithm of Q is, ln(Q) = (0, theta * v)
123
+ */
124
+ //assert(0);
125
+ //TODO not implement
126
+ return pOut;
127
+ };
128
+
129
+ ///< Multiplies 2 quaternions together
130
+ cc.kmQuaternionMultiply = function (pOut, q1, q2) {
131
+ pOut.w = q1.w * q2.w - q1.x * q2.x - q1.y * q2.y - q1.z * q2.z;
132
+ pOut.x = q1.w * q2.x + q1.x * q2.w + q1.y * q2.z - q1.z * q2.y;
133
+ pOut.y = q1.w * q2.y + q1.y * q2.w + q1.z * q2.x - q1.x * q2.z;
134
+ pOut.z = q1.w * q2.z + q1.z * q2.w + q1.x * q2.y - q1.y * q2.x;
135
+
136
+ return pOut;
137
+ };
138
+
139
+ ///< Normalizes a quaternion
140
+ cc.kmQuaternionNormalize = function (pOut, pIn) {
141
+ var length = cc.kmQuaternionLength(pIn);
142
+ if(Math.abs(length) <= cc.kmEpsilon)
143
+ throw "cc.kmQuaternionNormalize(): pIn is an invalid value";
144
+ cc.kmQuaternionScale(pOut, pIn, 1.0 / length);
145
+
146
+ return pOut;
147
+ };
148
+
149
+ ///< Rotates a quaternion around an axis
150
+ cc.kmQuaternionRotationAxis = function (pOut, pV, angle) {
151
+ var rad = angle * 0.5;
152
+ var scale = Math.sin(rad);
153
+
154
+ pOut.w = Math.cos(rad);
155
+ pOut.x = pV.x * scale;
156
+ pOut.y = pV.y * scale;
157
+ pOut.z = pV.z * scale;
158
+
159
+ return pOut;
160
+ };
161
+
162
+ ///< Creates a quaternion from a rotation matrix
163
+ cc.kmQuaternionRotationMatrix = function (pOut, pIn) {
164
+ /*
165
+ Note: The OpenGL matrices are transposed from the description below
166
+ taken from the Matrix and Quaternion FAQ
167
+
168
+ if ( mat[0] > mat[5] && mat[0] > mat[10] ) { // Column 0:
169
+ S = sqrt( 1.0 + mat[0] - mat[5] - mat[10] ) * 2;
170
+ X = 0.25 * S;
171
+ Y = (mat[4] + mat[1] ) / S;
172
+ Z = (mat[2] + mat[8] ) / S;
173
+ W = (mat[9] - mat[6] ) / S;
174
+ } else if ( mat[5] > mat[10] ) { // Column 1:
175
+ S = sqrt( 1.0 + mat[5] - mat[0] - mat[10] ) * 2;
176
+ X = (mat[4] + mat[1] ) / S;
177
+ Y = 0.25 * S;
178
+ Z = (mat[9] + mat[6] ) / S;
179
+ W = (mat[2] - mat[8] ) / S;
180
+ } else { // Column 2:
181
+ S = sqrt( 1.0 + mat[10] - mat[0] - mat[5] ) * 2;
182
+ X = (mat[2] + mat[8] ) / S;
183
+ Y = (mat[9] + mat[6] ) / S;
184
+ Z = 0.25 * S;
185
+ W = (mat[4] - mat[1] ) / S;
186
+ }
187
+ */
188
+ var x, y, z, w;
189
+ var m4x4 = [];
190
+ var scale = 0.0;
191
+ var diagonal = 0.0;
192
+
193
+ if (!pIn) {
194
+ return null;
195
+ }
196
+
197
+ /* 0 3 6
198
+ 1 4 7
199
+ 2 5 8
200
+
201
+ 0 1 2 3
202
+ 4 5 6 7
203
+ 8 9 10 11
204
+ 12 13 14 15*/
205
+
206
+ m4x4[0] = pIn.mat[0];
207
+ m4x4[1] = pIn.mat[3];
208
+ m4x4[2] = pIn.mat[6];
209
+ m4x4[4] = pIn.mat[1];
210
+ m4x4[5] = pIn.mat[4];
211
+ m4x4[6] = pIn.mat[7];
212
+ m4x4[8] = pIn.mat[2];
213
+ m4x4[9] = pIn.mat[5];
214
+ m4x4[10] = pIn.mat[8];
215
+ m4x4[15] = 1;
216
+ var pMatrix = m4x4[0];
217
+
218
+ diagonal = pMatrix[0] + pMatrix[5] + pMatrix[10] + 1;
219
+
220
+ if (diagonal > cc.kmEpsilon) {
221
+ // Calculate the scale of the diagonal
222
+ scale = Math.sqrt(diagonal) * 2;
223
+
224
+ // Calculate the x, y, x and w of the quaternion through the respective equation
225
+ x = ( pMatrix[9] - pMatrix[6] ) / scale;
226
+ y = ( pMatrix[2] - pMatrix[8] ) / scale;
227
+ z = ( pMatrix[4] - pMatrix[1] ) / scale;
228
+ w = 0.25 * scale;
229
+ } else {
230
+ // If the first element of the diagonal is the greatest value
231
+ if (pMatrix[0] > pMatrix[5] && pMatrix[0] > pMatrix[10]) {
232
+ // Find the scale according to the first element, and double that value
233
+ scale = Math.sqrt(1.0 + pMatrix[0] - pMatrix[5] - pMatrix[10]) * 2.0;
234
+
235
+ // Calculate the x, y, x and w of the quaternion through the respective equation
236
+ x = 0.25 * scale;
237
+ y = (pMatrix[4] + pMatrix[1] ) / scale;
238
+ z = (pMatrix[2] + pMatrix[8] ) / scale;
239
+ w = (pMatrix[9] - pMatrix[6] ) / scale;
240
+ }
241
+ // Else if the second element of the diagonal is the greatest value
242
+ else if (pMatrix[5] > pMatrix[10]) {
243
+ // Find the scale according to the second element, and double that value
244
+ scale = Math.sqrt(1.0 + pMatrix[5] - pMatrix[0] - pMatrix[10]) * 2.0;
245
+
246
+ // Calculate the x, y, x and w of the quaternion through the respective equation
247
+ x = (pMatrix[4] + pMatrix[1] ) / scale;
248
+ y = 0.25 * scale;
249
+ z = (pMatrix[9] + pMatrix[6] ) / scale;
250
+ w = (pMatrix[2] - pMatrix[8] ) / scale;
251
+ } else {
252
+ // Else the third element of the diagonal is the greatest value
253
+
254
+ // Find the scale according to the third element, and double that value
255
+ scale = Math.sqrt(1.0 + pMatrix[10] - pMatrix[0] - pMatrix[5]) * 2.0;
256
+
257
+ // Calculate the x, y, x and w of the quaternion through the respective equation
258
+ x = (pMatrix[2] + pMatrix[8] ) / scale;
259
+ y = (pMatrix[9] + pMatrix[6] ) / scale;
260
+ z = 0.25 * scale;
261
+ w = (pMatrix[4] - pMatrix[1] ) / scale;
262
+ }
263
+ }
264
+
265
+ pOut.x = x;
266
+ pOut.y = y;
267
+ pOut.z = z;
268
+ pOut.w = w;
269
+
270
+ return pOut;
271
+ };
272
+
273
+ ///< Create a quaternion from yaw, pitch and roll
274
+ cc.kmQuaternionRotationYawPitchRoll = function (pOut, yaw, pitch, roll) {
275
+ var ex, ey, ez; // temp half euler angles
276
+ var cr, cp, cy, sr, sp, sy, cpcy, spsy; // temp vars in roll,pitch yaw
277
+
278
+ ex = cc.kmDegreesToRadians(pitch) / 2.0; // convert to rads and half them
279
+ ey = cc.kmDegreesToRadians(yaw) / 2.0;
280
+ ez = cc.kmDegreesToRadians(roll) / 2.0;
281
+
282
+ cr = Math.cos(ex);
283
+ cp = Math.cos(ey);
284
+ cy = Math.cos(ez);
285
+
286
+ sr = Math.sin(ex);
287
+ sp = Math.sin(ey);
288
+ sy = Math.sin(ez);
289
+
290
+ cpcy = cp * cy;
291
+ spsy = sp * sy;
292
+
293
+ pOut.w = cr * cpcy + sr * spsy;
294
+
295
+ pOut.x = sr * cpcy - cr * spsy;
296
+ pOut.y = cr * sp * cy + sr * cp * sy;
297
+ pOut.z = cr * cp * sy - sr * sp * cy;
298
+
299
+ cc.kmQuaternionNormalize(pOut, pOut);
300
+
301
+ return pOut;
302
+ };
303
+
304
+ ///< Interpolate between 2 quaternions
305
+ cc.kmQuaternionSlerp = function (pOut, q1, q2, t) {
306
+ /*float CosTheta = Q0.DotProd(Q1);
307
+ float Theta = acosf(CosTheta);
308
+ float SinTheta = sqrtf(1.0f-CosTheta*CosTheta);
309
+
310
+ float Sin_T_Theta = sinf(T*Theta)/SinTheta;
311
+ float Sin_OneMinusT_Theta = sinf((1.0f-T)*Theta)/SinTheta;
312
+
313
+ Quaternion Result = Q0*Sin_OneMinusT_Theta;
314
+ Result += (Q1*Sin_T_Theta);
315
+
316
+ return Result;*/
317
+
318
+ if (q1.x == q2.x &&
319
+ q1.y == q2.y &&
320
+ q1.z == q2.z &&
321
+ q1.w == q2.w) {
322
+
323
+ pOut.x = q1.x;
324
+ pOut.y = q1.y;
325
+ pOut.z = q1.z;
326
+ pOut.w = q1.w;
327
+
328
+ return pOut;
329
+ }
330
+
331
+ var ct = cc.kmQuaternionDot(q1, q2);
332
+ var theta = Math.acos(ct);
333
+ var st = Math.sqrt(1.0 - cc.kmSQR(ct));
334
+
335
+ var stt = Math.sin(t * theta) / st;
336
+ var somt = Math.sin((1.0 - t) * theta) / st;
337
+
338
+ var temp = new cc.kmQuaternion(), temp2 = new cc.kmQuaternion();
339
+ cc.kmQuaternionScale(temp, q1, somt);
340
+ cc.kmQuaternionScale(temp2, q2, stt);
341
+ cc.kmQuaternionAdd(pOut, temp, temp2);
342
+
343
+ return pOut;
344
+ };
345
+
346
+ ///< Get the axis and angle of rotation from a quaternion
347
+ cc.kmQuaternionToAxisAngle = function (pIn, pAxis, pAngle) {
348
+ var tempAngle; // temp angle
349
+ var scale; // temp vars
350
+
351
+ tempAngle = Math.acos(pIn.w);
352
+ scale = Math.sqrt(cc.kmSQR(pIn.x) + cc.kmSQR(pIn.y) + cc.kmSQR(pIn.z));
353
+
354
+ if (((scale > -cc.kmEpsilon) && scale < cc.kmEpsilon)
355
+ || (scale < 2 * cc.kmPI + cc.kmEpsilon && scale > 2 * cc.kmPI - cc.kmEpsilon)) { // angle is 0 or 360 so just simply set axis to 0,0,1 with angle 0
356
+ pAngle = 0.0;
357
+
358
+ pAxis.x = 0.0;
359
+ pAxis.y = 0.0;
360
+ pAxis.z = 1.0;
361
+ } else {
362
+ pAngle = tempAngle * 2.0; // angle in radians
363
+
364
+ pAxis.x = pIn.x / scale;
365
+ pAxis.y = pIn.y / scale;
366
+ pAxis.z = pIn.z / scale;
367
+ cc.kmVec3Normalize(pAxis, pAxis);
368
+ }
369
+ };
370
+
371
+ ///< Scale a quaternion
372
+ cc.kmQuaternionScale = function (pOut, pIn, s) {
373
+ pOut.x = pIn.x * s;
374
+ pOut.y = pIn.y * s;
375
+ pOut.z = pIn.z * s;
376
+ pOut.w = pIn.w * s;
377
+
378
+ return pOut;
379
+ };
380
+
381
+ cc.kmQuaternionAssign = function (pOut, pIn) {
382
+ pOut.x = pIn.x;
383
+ pOut.y = pIn.y;
384
+ pOut.z = pIn.z;
385
+ pOut.w = pIn.w;
386
+
387
+ return pOut;
388
+ };
389
+
390
+ cc.kmQuaternionAdd = function (pOut, pQ1, pQ2) {
391
+ pOut.x = pQ1.x + pQ2.x;
392
+ pOut.y = pQ1.y + pQ2.y;
393
+ pOut.z = pQ1.z + pQ2.z;
394
+ pOut.w = pQ1.w + pQ2.w;
395
+
396
+ return pOut;
397
+ };
398
+
399
+ /** Adapted from the OGRE engine!
400
+
401
+ Gets the shortest arc quaternion to rotate this vector to the destination
402
+ vector.
403
+ @remarks
404
+ If you call this with a dest vector that is close to the inverse
405
+ of this vector, we will rotate 180 degrees around the 'fallbackAxis'
406
+ (if specified, or a generated axis if not) since in this case
407
+ ANY axis of rotation is valid.
408
+ */
409
+ cc.kmQuaternionRotationBetweenVec3 = function (pOut, vec1, vec2, fallback) {
410
+ var v1 = new cc.kmVec3(), v2 = new cc.kmVec3();
411
+ var a;
412
+
413
+ cc.kmVec3Assign(v1, vec1);
414
+ cc.kmVec3Assign(v2, vec2);
415
+
416
+ cc.kmVec3Normalize(v1, v1);
417
+ cc.kmVec3Normalize(v2, v2);
418
+
419
+ a = cc.kmVec3Dot(v1, v2);
420
+
421
+ if (a >= 1.0) {
422
+ cc.kmQuaternionIdentity(pOut);
423
+ return pOut;
424
+ }
425
+
426
+ if (a < (1e-6 - 1.0)) {
427
+ if (Math.abs(cc.kmVec3LengthSq(fallback)) < cc.kmEpsilon) {
428
+ cc.kmQuaternionRotationAxis(pOut, fallback, cc.kmPI);
429
+ } else {
430
+ var axis = new cc.kmVec3();
431
+ var X = new cc.kmVec3();
432
+ X.x = 1.0;
433
+ X.y = 0.0;
434
+ X.z = 0.0;
435
+
436
+ cc.kmVec3Cross(axis, X, vec1);
437
+
438
+ //If axis is zero
439
+ if (Math.abs(cc.kmVec3LengthSq(axis)) < cc.kmEpsilon) {
440
+ var Y = new cc.kmVec3();
441
+ Y.x = 0.0;
442
+ Y.y = 1.0;
443
+ Y.z = 0.0;
444
+
445
+ cc.kmVec3Cross(axis, Y, vec1);
446
+ }
447
+
448
+ cc.kmVec3Normalize(axis, axis);
449
+ cc.kmQuaternionRotationAxis(pOut, axis, cc.kmPI);
450
+ }
451
+ } else {
452
+ var s = Math.sqrt((1 + a) * 2);
453
+ var invs = 1 / s;
454
+
455
+ var c = new cc.kmVec3();
456
+ cc.kmVec3Cross(c, v1, v2);
457
+
458
+ pOut.x = c.x * invs;
459
+ pOut.y = c.y * invs;
460
+ pOut.z = c.z * invs;
461
+ pOut.w = s * 0.5;
462
+
463
+ cc.kmQuaternionNormalize(pOut, pOut);
464
+ }
465
+ return pOut;
466
+ };
467
+
468
+ cc.kmQuaternionMultiplyVec3 = function (pOut, q, v) {
469
+ var uv = new cc.kmVec3(), uuv = new cc.kmVec3(), qvec = new cc.kmVec3();
470
+
471
+ qvec.x = q.x;
472
+ qvec.y = q.y;
473
+ qvec.z = q.z;
474
+
475
+ cc.kmVec3Cross(uv, qvec, v);
476
+ cc.kmVec3Cross(uuv, qvec, uv);
477
+
478
+ cc.kmVec3Scale(uv, uv, (2.0 * q.w));
479
+ cc.kmVec3Scale(uuv, uuv, 2.0);
480
+
481
+ cc.kmVec3Add(pOut, v, uv);
482
+ cc.kmVec3Add(pOut, pOut, uuv);
483
+
484
+ return pOut;
485
+ };
486
+
487
+
488
+
489
+
490
+
491
+
492
+
493
+
494
+
495
+
496
+
497
+