joybox 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) hide show
  1. data/.travis.yml +3 -0
  2. data/Gemfile +2 -2
  3. data/Gemfile.lock +4 -4
  4. data/README.md +66 -22
  5. data/Rakefile +22 -4
  6. data/app/ios/app_delegate.rb +48 -0
  7. data/app/osx/app_delegate.rb +26 -0
  8. data/app/osx/layers/game_layer.rb +5 -0
  9. data/app/osx/menu.rb +51 -0
  10. data/command/command/image.rb +26 -0
  11. data/command/command/string.rb +15 -0
  12. data/command/command/template.rb +59 -0
  13. data/command/command/tmx.rb +75 -0
  14. data/command/joybox_generate_command.rb +64 -110
  15. data/command/joybox_retina_command.rb +87 -0
  16. data/command/{joybox/templates → templates}/layer.erb +0 -0
  17. data/command/{joybox/templates → templates}/layer_spec.erb +0 -0
  18. data/command/{joybox/templates → templates}/scene.erb +0 -0
  19. data/command/{joybox/templates → templates}/scene_spec.erb +0 -0
  20. data/command/{joybox/templates → templates}/sprite.erb +0 -0
  21. data/command/{joybox/templates → templates}/sprite_spec.erb +0 -0
  22. data/ext/extconf.rb +34 -0
  23. data/joybox.gemspec +103 -50
  24. data/lib/joybox.rb +2 -0
  25. data/lib/joybox/joybox-ios.rb +18 -3
  26. data/lib/joybox/joybox-osx.rb +18 -2
  27. data/lib/joybox/version.rb +1 -1
  28. data/motion/joybox-ios/common/cg_point.rb +46 -16
  29. data/motion/joybox-ios/common/device.rb +56 -0
  30. data/motion/joybox-ios/common/ui_touch.rb +0 -2
  31. data/motion/joybox-ios/configuration/configuration.rb +10 -40
  32. data/motion/joybox-ios/configuration/file_utils.rb +0 -4
  33. data/motion/joybox-ios/configuration/gl_view.rb +14 -20
  34. data/motion/joybox-ios/configuration/texture_2d.rb +0 -4
  35. data/motion/joybox-ios/core/layer.rb +2 -8
  36. data/motion/joybox-ios/debug/proxy_view.rb +5 -5
  37. data/motion/joybox-ios/debug/{node.rb → repl.rb} +25 -19
  38. data/motion/joybox-ios/director.rb +15 -4
  39. data/motion/joybox-osx/common/ats_point.rb +45 -15
  40. data/motion/joybox-osx/common/device.rb +30 -0
  41. data/motion/joybox-osx/common/ns_event.rb +0 -1
  42. data/motion/joybox-osx/configuration/configuration.rb +6 -26
  43. data/motion/joybox-osx/configuration/gl_view.rb +16 -14
  44. data/motion/joybox-osx/core/layer.rb +45 -26
  45. data/motion/joybox-osx/debug/proxy_view.rb +5 -5
  46. data/motion/joybox-osx/debug/{node.rb → repl.rb} +13 -7
  47. data/motion/joybox-osx/director.rb +4 -3
  48. data/motion/joybox/actions/animate.rb +0 -1
  49. data/motion/joybox/actions/bezier.rb +2 -9
  50. data/motion/joybox/actions/blink.rb +1 -4
  51. data/motion/joybox/actions/callback.rb +19 -0
  52. data/motion/joybox/actions/d3/flip.rb +27 -0
  53. data/motion/joybox/actions/d3/jump.rb +30 -0
  54. data/motion/joybox/actions/d3/lens.rb +30 -0
  55. data/motion/joybox/actions/d3/shake.rb +32 -0
  56. data/motion/joybox/actions/d3/shatter.rb +30 -0
  57. data/motion/joybox/actions/d3/wave.rb +33 -0
  58. data/motion/joybox/actions/delay.rb +19 -0
  59. data/motion/joybox/actions/ease.rb +3 -21
  60. data/motion/joybox/actions/fade.rb +30 -6
  61. data/motion/joybox/actions/jump.rb +0 -5
  62. data/motion/joybox/actions/liquid.rb +28 -0
  63. data/motion/joybox/actions/move.rb +2 -9
  64. data/motion/joybox/actions/place.rb +0 -2
  65. data/motion/joybox/actions/repeat.rb +0 -2
  66. data/motion/joybox/actions/rotate.rb +2 -9
  67. data/motion/joybox/actions/scale.rb +2 -9
  68. data/motion/joybox/actions/sequence.rb +0 -1
  69. data/motion/joybox/actions/shuffle.rb +26 -0
  70. data/motion/joybox/actions/skew.rb +2 -11
  71. data/motion/joybox/actions/spawn.rb +0 -1
  72. data/motion/joybox/actions/split.rb +24 -0
  73. data/motion/joybox/actions/tint.rb +0 -5
  74. data/motion/joybox/actions/turn.rb +24 -0
  75. data/motion/joybox/actions/twirl.rb +30 -0
  76. data/motion/joybox/actions/visibility.rb +21 -0
  77. data/motion/joybox/actions/wave.rb +32 -0
  78. data/motion/joybox/animations/animation.rb +7 -11
  79. data/motion/joybox/audio/audio.rb +31 -0
  80. data/motion/joybox/audio/audio_effect.rb +69 -0
  81. data/motion/joybox/audio/background_audio.rb +77 -0
  82. data/motion/joybox/common/{gc_size.rb → cg_size.rb} +13 -12
  83. data/motion/joybox/common/color.rb +4 -13
  84. data/motion/joybox/common/initialize.rb +11 -0
  85. data/motion/joybox/common/ns_array.rb +15 -0
  86. data/motion/joybox/common/ns_string.rb +7 -0
  87. data/motion/joybox/common/numeric.rb +13 -4
  88. data/motion/joybox/common/screen.rb +4 -12
  89. data/motion/joybox/configuration/debug.rb +29 -0
  90. data/motion/joybox/core/layer.rb +0 -24
  91. data/motion/joybox/core/layer_color.rb +47 -0
  92. data/motion/joybox/core/node.rb +18 -8
  93. data/motion/joybox/core/scene.rb +0 -5
  94. data/motion/joybox/core/sprite.rb +43 -25
  95. data/motion/joybox/core/sprite_batch.rb +15 -6
  96. data/motion/joybox/core/sprite_frame_cache.rb +9 -58
  97. data/motion/joybox/debug/physics.rb +40 -0
  98. data/motion/joybox/debug/physics_draw.rb +191 -0
  99. data/motion/joybox/joybox.rb +9 -1
  100. data/motion/joybox/macros.rb +13 -13
  101. data/motion/joybox/physics/aabb.rb +28 -0
  102. data/motion/joybox/physics/body.rb +163 -68
  103. data/motion/joybox/physics/chain_shape.rb +71 -0
  104. data/motion/joybox/physics/circle_shape.rb +31 -0
  105. data/motion/joybox/physics/edge_shape.rb +37 -0
  106. data/motion/joybox/physics/filter.rb +17 -0
  107. data/motion/joybox/physics/fixture.rb +52 -0
  108. data/motion/joybox/physics/mass_data.rb +19 -0
  109. data/motion/joybox/physics/physics_sprite.rb +50 -16
  110. data/motion/joybox/physics/polygon_shape.rb +54 -0
  111. data/motion/joybox/physics/profile.rb +14 -0
  112. data/motion/joybox/physics/ray_cast_input.rb +30 -0
  113. data/motion/joybox/physics/ray_cast_output.rb +17 -0
  114. data/motion/joybox/physics/shape.rb +61 -0
  115. data/motion/joybox/physics/transform.rb +17 -0
  116. data/motion/joybox/physics/world.rb +101 -30
  117. data/motion/joybox/tmx/object_layer.rb +12 -0
  118. data/motion/joybox/tmx/tile_layer.rb +74 -0
  119. data/motion/joybox/tmx/tile_map.rb +112 -0
  120. data/motion/joybox/tmx/tile_set.rb +26 -0
  121. data/motion/joybox/tmx/tmx.rb +16 -0
  122. data/motion/joybox/ui/label.rb +44 -16
  123. data/motion/joybox/ui/menu.rb +7 -9
  124. data/motion/joybox/ui/menu_image.rb +11 -8
  125. data/motion/joybox/ui/menu_label.rb +14 -13
  126. data/resources/Default-568h@2x.png +0 -0
  127. data/resources/animation_frames-hd.plist +126 -0
  128. data/resources/animation_frames-ipadhd.plist +126 -0
  129. data/resources/animation_frames.plist +126 -0
  130. data/resources/animation_sprite_sheet-hd.png +0 -0
  131. data/resources/animation_sprite_sheet-ipadhd.png +0 -0
  132. data/resources/animation_sprite_sheet.png +0 -0
  133. data/resources/fps_images-hd.png +0 -0
  134. data/resources/fps_images-ipadhd.png +0 -0
  135. data/resources/fps_images.png +0 -0
  136. data/resources/sprite.png +0 -0
  137. data/resources/sprite_inverted.png +0 -0
  138. data/resources/sprite_sheet.png +0 -0
  139. data/spec/motion/joybox-ios/common/screen_spec.rb +21 -0
  140. data/spec/{main_spec.rb → motion/joybox-ios/main_spec.rb} +6 -2
  141. data/spec/motion/joybox-ios/ui/label_spec.rb +20 -0
  142. data/spec/motion/joybox-ios/ui/menu_label_spec.rb +15 -0
  143. data/spec/motion/joybox-ios/ui/menu_spec.rb +87 -0
  144. data/spec/motion/joybox-osx/common/screen_spec.rb +21 -0
  145. data/spec/motion/joybox-osx/main_spec.rb +13 -0
  146. data/spec/motion/joybox-osx/ui/label_spec.rb +18 -0
  147. data/spec/motion/joybox-osx/ui/menu_label_spec.rb +13 -0
  148. data/spec/motion/joybox-osx/ui/menu_spec.rb +87 -0
  149. data/spec/motion/joybox/actions/actions_spec.rb +11 -0
  150. data/spec/motion/joybox/actions/bezier_spec.rb +37 -0
  151. data/spec/motion/joybox/actions/blink_spec.rb +16 -0
  152. data/spec/motion/joybox/actions/fade_spec.rb +49 -0
  153. data/spec/motion/joybox/actions/jump_spec.rb +37 -0
  154. data/spec/motion/joybox/actions/move_spec.rb +37 -0
  155. data/spec/motion/joybox/actions/place_spec.rb +12 -0
  156. data/spec/motion/joybox/actions/rotate_spec.rb +35 -0
  157. data/spec/motion/joybox/actions/scale_spec.rb +43 -0
  158. data/spec/motion/joybox/actions/skew_spec.rb +43 -0
  159. data/spec/motion/joybox/common/cg_size_spec.rb +29 -0
  160. data/spec/motion/joybox/common/color_spec.rb +31 -0
  161. data/spec/motion/joybox/common/ns_string_spec.rb +8 -0
  162. data/spec/motion/joybox/common/numeric_spec.rb +13 -0
  163. data/spec/motion/joybox/core/node_spec.rb +36 -0
  164. data/spec/motion/joybox/core/sprite_batch_spec.rb +34 -0
  165. data/spec/motion/joybox/core/sprite_frame_cache_spec.rb +111 -0
  166. data/spec/motion/joybox/core/sprite_spec.rb +121 -0
  167. data/spec/motion/joybox/macros_spec.rb +280 -0
  168. data/spec/motion/joybox/physics/aabb_spec.rb +17 -0
  169. data/spec/motion/joybox/physics/body_spec.rb +318 -0
  170. data/spec/motion/joybox/physics/chain_shape_spec.rb +80 -0
  171. data/spec/motion/joybox/physics/circle_shape_spec.rb +63 -0
  172. data/spec/motion/joybox/physics/edge_shape_spec.rb +48 -0
  173. data/spec/motion/joybox/physics/fixture_spec.rb +106 -0
  174. data/spec/motion/joybox/physics/mass_data_spec.rb +13 -0
  175. data/spec/motion/joybox/physics/physics_sprite_spec.rb +50 -0
  176. data/spec/motion/joybox/physics/polygon_shape_spec.rb +92 -0
  177. data/spec/motion/joybox/physics/ray_cast_input_spec.rb +17 -0
  178. data/spec/motion/joybox/physics/ray_cast_output_spec.rb +13 -0
  179. data/spec/motion/joybox/physics/shape_spec.rb +50 -0
  180. data/spec/motion/joybox/physics/transform_spec.rb +13 -0
  181. data/spec/motion/joybox/physics/world_spec.rb +228 -0
  182. data/spec/motion/joybox/ui/label_spec.rb +53 -0
  183. data/spec/motion/joybox/ui/menu_image_spec.rb +51 -0
  184. data/spec/motion/joybox/ui/menu_label_spec.rb +68 -0
  185. data/spec/motion/joybox/ui/menu_spec.rb +26 -0
  186. data/spec/spec_helpers/cg_point.rb +5 -0
  187. data/spec/spec_helpers/cg_point_spec.rb +14 -0
  188. data/template/joybox-ios-example-repl/files/.gitignore +16 -0
  189. data/template/joybox-ios/files/.gitignore +16 -0
  190. data/template/joybox-osx-example-repl/files/.gitignore +16 -0
  191. data/template/joybox-osx/files/.gitignore +16 -0
  192. data/vendor/vendor-ios/box_2d/box_2d.bridgesupport +1201 -85
  193. data/vendor/vendor-ios/box_2d/box_2d_include/B2DAABB.h +21 -0
  194. data/vendor/vendor-ios/box_2d/box_2d_include/B2DBody.h +58 -13
  195. data/vendor/vendor-ios/box_2d/box_2d_include/B2DBodyDef.h +44 -0
  196. data/vendor/vendor-ios/box_2d/box_2d_include/B2DBodyTypes.h +20 -0
  197. data/vendor/vendor-ios/box_2d/box_2d_include/B2DChainShape.h +29 -0
  198. data/vendor/vendor-ios/box_2d/box_2d_include/B2DCircleShape.h +7 -0
  199. data/vendor/vendor-ios/box_2d/box_2d_include/B2DColor.h +23 -0
  200. data/vendor/vendor-ios/box_2d/box_2d_include/B2DContactFilter.h +24 -0
  201. data/vendor/vendor-ios/box_2d/box_2d_include/B2DContactListener.h +1 -1
  202. data/vendor/vendor-ios/box_2d/box_2d_include/B2DDestructionListener.h +24 -0
  203. data/vendor/vendor-ios/box_2d/box_2d_include/B2DDraw.h +54 -0
  204. data/vendor/vendor-ios/box_2d/box_2d_include/B2DEdgeShape.h +13 -2
  205. data/vendor/vendor-ios/box_2d/box_2d_include/B2DFilter.h +23 -0
  206. data/vendor/vendor-ios/box_2d/box_2d_include/B2DFixture.h +47 -0
  207. data/vendor/vendor-ios/box_2d/box_2d_include/B2DFixtureDef.h +29 -0
  208. data/vendor/vendor-ios/box_2d/box_2d_include/B2DMassData.h +23 -0
  209. data/vendor/vendor-ios/box_2d/box_2d_include/B2DPolygonShape.h +14 -1
  210. data/vendor/vendor-ios/box_2d/box_2d_include/B2DProfile.h +31 -0
  211. data/vendor/vendor-ios/box_2d/box_2d_include/B2DQueryCallback.h +24 -0
  212. data/vendor/vendor-ios/box_2d/box_2d_include/B2DRayCastCallback.h +24 -0
  213. data/vendor/vendor-ios/box_2d/box_2d_include/B2DRayCastInput.h +23 -0
  214. data/vendor/vendor-ios/box_2d/box_2d_include/B2DRayCastOutput.h +21 -0
  215. data/vendor/vendor-ios/box_2d/box_2d_include/B2DShape.h +23 -3
  216. data/vendor/vendor-ios/box_2d/box_2d_include/B2DShapeTypes.h +22 -0
  217. data/vendor/vendor-ios/box_2d/box_2d_include/B2DTransform.h +21 -0
  218. data/vendor/vendor-ios/box_2d/box_2d_include/B2DWorld.h +40 -19
  219. data/vendor/vendor-ios/box_2d/libBox2D.a +0 -0
  220. data/vendor/vendor-ios/cocos_2d/cocos_2d.bridgesupport +808 -1578
  221. data/vendor/vendor-ios/cocos_2d/cocos_2d_include/CCActionEase.h +47 -0
  222. data/vendor/vendor-ios/cocos_2d/cocos_2d_include/CCFontDefinition.h +85 -0
  223. data/vendor/vendor-ios/cocos_2d/cocos_2d_include/CCLabelTTF.h +54 -6
  224. data/vendor/vendor-ios/cocos_2d/cocos_2d_include/CCMenuItem.h +1 -0
  225. data/vendor/vendor-ios/cocos_2d/cocos_2d_include/CCTMXLayer.h +2 -2
  226. data/vendor/vendor-ios/cocos_2d/cocos_2d_include/CCTexture2D.h +4 -0
  227. data/vendor/vendor-ios/cocos_2d/cocos_2d_include/ccTypes.h +51 -1
  228. data/vendor/vendor-ios/cocos_2d/libcocos2d.a +0 -0
  229. data/vendor/vendor-ios/cocos_builder_reader/cocos_builder_reader.bridgesupport +510 -0
  230. data/vendor/vendor-ios/cocos_builder_reader/cocos_builder_reader_include/CCBAnimationManager.h +149 -0
  231. data/vendor/vendor-ios/cocos_builder_reader/cocos_builder_reader_include/CCBKeyframe.h +40 -0
  232. data/vendor/vendor-ios/cocos_builder_reader/cocos_builder_reader_include/CCBReader.h +176 -0
  233. data/vendor/vendor-ios/cocos_builder_reader/cocos_builder_reader_include/CCBSequence.h +49 -0
  234. data/vendor/vendor-ios/cocos_builder_reader/cocos_builder_reader_include/CCBSequenceProperty.h +38 -0
  235. data/vendor/vendor-ios/cocos_builder_reader/cocos_builder_reader_include/CCNode+CCBRelativePositioning.h +65 -0
  236. data/vendor/vendor-ios/cocos_builder_reader/libCocosBuilderReader.a +0 -0
  237. data/vendor/vendor-ios/cocos_denshion/cocos_denshion.bridgesupport +1001 -0
  238. data/vendor/vendor-ios/cocos_denshion/cocos_denshion_include/CDAudioManager.h +243 -0
  239. data/vendor/vendor-ios/cocos_denshion/cocos_denshion_include/CDConfig.h +60 -0
  240. data/vendor/vendor-ios/cocos_denshion/cocos_denshion_include/CDOpenALSupport.h +77 -0
  241. data/vendor/vendor-ios/cocos_denshion/cocos_denshion_include/CDXMacOSXSupport.h +232 -0
  242. data/vendor/vendor-ios/cocos_denshion/cocos_denshion_include/CDXPropertyModifierAction.h +45 -0
  243. data/vendor/vendor-ios/cocos_denshion/cocos_denshion_include/CocosDenshion.h +440 -0
  244. data/vendor/vendor-ios/cocos_denshion/cocos_denshion_include/SimpleAudioEngine.h +90 -0
  245. data/vendor/vendor-ios/cocos_denshion/libCocosDenshion.a +0 -0
  246. data/vendor/vendor-ios/kazmath/kazmath.bridgesupport +865 -0
  247. data/vendor/vendor-ios/kazmath/kazmath_include/GL/mat4stack.h +51 -0
  248. data/vendor/vendor-ios/kazmath/kazmath_include/GL/matrix.h +58 -0
  249. data/vendor/vendor-ios/kazmath/kazmath_include/aabb.h +53 -0
  250. data/vendor/vendor-ios/kazmath/kazmath_include/kazmath.h +39 -0
  251. data/vendor/vendor-ios/kazmath/kazmath_include/mat3.h +75 -0
  252. data/vendor/vendor-ios/kazmath/kazmath_include/mat4.h +93 -0
  253. data/vendor/vendor-ios/kazmath/kazmath_include/neon_matrix_impl.h +41 -0
  254. data/vendor/vendor-ios/kazmath/kazmath_include/plane.h +70 -0
  255. data/vendor/vendor-ios/kazmath/kazmath_include/quaternion.h +113 -0
  256. data/vendor/vendor-ios/kazmath/kazmath_include/ray2.h +50 -0
  257. data/vendor/vendor-ios/kazmath/kazmath_include/utility.h +74 -0
  258. data/vendor/vendor-ios/kazmath/kazmath_include/vec2.h +64 -0
  259. data/vendor/vendor-ios/kazmath/kazmath_include/vec3.h +68 -0
  260. data/vendor/vendor-ios/kazmath/kazmath_include/vec4.h +68 -0
  261. data/vendor/vendor-ios/kazmath/libkazmath.a +0 -0
  262. data/vendor/vendor-osx/box_2d/box_2d.bridgesupport +1199 -83
  263. data/vendor/vendor-osx/box_2d/box_2d_include/B2DAABB.h +21 -0
  264. data/vendor/vendor-osx/box_2d/box_2d_include/B2DBody.h +58 -13
  265. data/vendor/vendor-osx/box_2d/box_2d_include/B2DBodyDef.h +44 -0
  266. data/vendor/vendor-osx/box_2d/box_2d_include/B2DBodyTypes.h +20 -0
  267. data/vendor/vendor-osx/box_2d/box_2d_include/B2DChainShape.h +29 -0
  268. data/vendor/vendor-osx/box_2d/box_2d_include/B2DCircleShape.h +7 -0
  269. data/vendor/vendor-osx/box_2d/box_2d_include/B2DColor.h +23 -0
  270. data/vendor/vendor-osx/box_2d/box_2d_include/B2DContactFilter.h +24 -0
  271. data/vendor/vendor-osx/box_2d/box_2d_include/B2DContactListener.h +1 -1
  272. data/vendor/vendor-osx/box_2d/box_2d_include/B2DDestructionListener.h +24 -0
  273. data/vendor/vendor-osx/box_2d/box_2d_include/B2DDraw.h +54 -0
  274. data/vendor/vendor-osx/box_2d/box_2d_include/B2DEdgeShape.h +13 -2
  275. data/vendor/vendor-osx/box_2d/box_2d_include/B2DFilter.h +23 -0
  276. data/vendor/vendor-osx/box_2d/box_2d_include/B2DFixture.h +47 -0
  277. data/vendor/vendor-osx/box_2d/box_2d_include/B2DFixtureDef.h +29 -0
  278. data/vendor/vendor-osx/box_2d/box_2d_include/B2DMassData.h +23 -0
  279. data/vendor/vendor-osx/box_2d/box_2d_include/B2DPolygonShape.h +14 -1
  280. data/vendor/vendor-osx/box_2d/box_2d_include/B2DProfile.h +31 -0
  281. data/vendor/vendor-osx/box_2d/box_2d_include/B2DQueryCallback.h +24 -0
  282. data/vendor/vendor-osx/box_2d/box_2d_include/B2DRayCastCallback.h +24 -0
  283. data/vendor/vendor-osx/box_2d/box_2d_include/B2DRayCastInput.h +23 -0
  284. data/vendor/vendor-osx/box_2d/box_2d_include/B2DRayCastOutput.h +21 -0
  285. data/vendor/vendor-osx/box_2d/box_2d_include/B2DShape.h +23 -3
  286. data/vendor/vendor-osx/box_2d/box_2d_include/B2DShapeTypes.h +22 -0
  287. data/vendor/vendor-osx/box_2d/box_2d_include/B2DTransform.h +21 -0
  288. data/vendor/vendor-osx/box_2d/box_2d_include/B2DWorld.h +40 -19
  289. data/vendor/vendor-osx/box_2d/libBox2D.a +0 -0
  290. data/vendor/vendor-osx/cocos_2d/cocos_2d.bridgesupport +2820 -2633
  291. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCActionEase.h +47 -0
  292. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCFontDefinition.h +85 -0
  293. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCLabelTTF.h +54 -6
  294. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCMenuItem.h +1 -0
  295. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTMXLayer.h +2 -2
  296. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/CCTexture2D.h +4 -0
  297. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/iOS/CCDirectorIOS.h +111 -0
  298. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/iOS/CCES2Renderer.h +83 -0
  299. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/iOS/CCESRenderer.h +54 -0
  300. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/iOS/CCGLView.h +175 -0
  301. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/iOS/CCTouchDelegateProtocol.h +75 -0
  302. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/iOS/CCTouchDispatcher.h +120 -0
  303. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/Platforms/iOS/CCTouchHandler.h +93 -0
  304. data/vendor/vendor-osx/cocos_2d/cocos_2d_include/ccTypes.h +65 -1
  305. data/vendor/vendor-osx/cocos_2d/libcocos2d.a +0 -0
  306. data/vendor/vendor-osx/cocos_builder_reader/cocos_builder_reader.bridgesupport +510 -0
  307. data/vendor/vendor-osx/cocos_builder_reader/cocos_builder_reader_include/CCBAnimationManager.h +149 -0
  308. data/vendor/vendor-osx/cocos_builder_reader/cocos_builder_reader_include/CCBKeyframe.h +40 -0
  309. data/vendor/vendor-osx/cocos_builder_reader/cocos_builder_reader_include/CCBReader.h +176 -0
  310. data/vendor/vendor-osx/cocos_builder_reader/cocos_builder_reader_include/CCBSequence.h +49 -0
  311. data/vendor/vendor-osx/cocos_builder_reader/cocos_builder_reader_include/CCBSequenceProperty.h +38 -0
  312. data/vendor/vendor-osx/cocos_builder_reader/cocos_builder_reader_include/CCNode+CCBRelativePositioning.h +65 -0
  313. data/vendor/vendor-osx/cocos_builder_reader/libCocosBuilderReader.a +0 -0
  314. data/vendor/vendor-osx/cocos_denshion/cocos_denshion.bridgesupport +1001 -0
  315. data/vendor/vendor-osx/cocos_denshion/cocos_denshion_include/CDAudioManager.h +243 -0
  316. data/vendor/vendor-osx/cocos_denshion/cocos_denshion_include/CDConfig.h +60 -0
  317. data/vendor/vendor-osx/cocos_denshion/cocos_denshion_include/CDOpenALSupport.h +77 -0
  318. data/vendor/vendor-osx/cocos_denshion/cocos_denshion_include/CDXMacOSXSupport.h +232 -0
  319. data/vendor/vendor-osx/cocos_denshion/cocos_denshion_include/CDXPropertyModifierAction.h +45 -0
  320. data/vendor/vendor-osx/cocos_denshion/cocos_denshion_include/CocosDenshion.h +440 -0
  321. data/vendor/vendor-osx/cocos_denshion/cocos_denshion_include/SimpleAudioEngine.h +90 -0
  322. data/vendor/vendor-osx/cocos_denshion/libCocosDenshion.a +0 -0
  323. data/vendor/vendor-osx/kazmath/kazmath.bridgesupport +865 -0
  324. data/vendor/vendor-osx/kazmath/kazmath_include/GL/mat4stack.h +51 -0
  325. data/vendor/vendor-osx/kazmath/kazmath_include/GL/matrix.h +58 -0
  326. data/vendor/vendor-osx/kazmath/kazmath_include/aabb.h +53 -0
  327. data/vendor/vendor-osx/kazmath/kazmath_include/kazmath.h +39 -0
  328. data/vendor/vendor-osx/kazmath/kazmath_include/mat3.h +75 -0
  329. data/vendor/vendor-osx/kazmath/kazmath_include/mat4.h +93 -0
  330. data/vendor/vendor-osx/kazmath/kazmath_include/neon_matrix_impl.h +41 -0
  331. data/vendor/vendor-osx/kazmath/kazmath_include/plane.h +70 -0
  332. data/vendor/vendor-osx/kazmath/kazmath_include/quaternion.h +113 -0
  333. data/vendor/vendor-osx/kazmath/kazmath_include/ray2.h +50 -0
  334. data/vendor/vendor-osx/kazmath/kazmath_include/utility.h +74 -0
  335. data/vendor/vendor-osx/kazmath/kazmath_include/vec2.h +64 -0
  336. data/vendor/vendor-osx/kazmath/kazmath_include/vec3.h +68 -0
  337. data/vendor/vendor-osx/kazmath/kazmath_include/vec4.h +68 -0
  338. data/vendor/vendor-osx/kazmath/libkazmath.a +0 -0
  339. metadata +353 -57
  340. checksums.yaml +0 -15
  341. data/bin/joybox +0 -49
  342. data/command/joybox/USAGE +0 -24
  343. data/motion/joybox-ios/configuration/debug.rb +0 -27
  344. data/motion/joybox-ios/debug/debug.rb +0 -10
  345. data/motion/joybox-osx/configuration/debug.rb +0 -27
  346. data/motion/joybox-osx/configuration/sprite_view.rb +0 -91
  347. data/motion/joybox-osx/debug/debug.rb +0 -10
  348. data/motion/joybox/core/ns_object.rb +0 -8
  349. data/spec/lib/joybox/cocos2d/cocos2d_spec.rb +0 -7
  350. data/spec/lib/joybox/cocos2d/macros_spec.rb +0 -37
  351. data/vendor/vendor-ios/cocos_2d/cocos_2d_include/cocos2d-ios-exceptions.bridgesupport +0 -39
  352. data/vendor/vendor-ios/cocos_2d/cocos_2d_include/gen_cocos2d_bridgesupport.sh +0 -17
  353. data/vendor/vendor-ios/cocos_2d/cocos_2d_include/gen_cocos2d_complement.sh +0 -17
@@ -0,0 +1,80 @@
1
+ describe Joybox::Physics::ChainShape do
2
+ before do
3
+ @world = World.new gravity: [0, -9.8]
4
+ @body = @world.new_body position: [100, 100], type: Body::Dynamic
5
+ end
6
+
7
+ describe "Initialization" do
8
+ it "should initialize with loop" do
9
+ circle_shape = ChainShape.new loop: [[0, 0], [16, 16], [32, 32]]
10
+
11
+ @body.new_fixture do
12
+ fixture shape: circle_shape
13
+ end
14
+
15
+ @body.fixtures.size.should == 1
16
+ end
17
+
18
+ it "should initialize with chain" do
19
+ circle_shape = ChainShape.new chain: [[0, 0], [16, 16], [32, 32]]
20
+
21
+ @body.new_fixture do
22
+ fixture shape: circle_shape
23
+ end
24
+
25
+ @body.fixtures.size.should == 1
26
+ end
27
+ end
28
+
29
+ it "should have a vertices count" do
30
+ @body.new_fixture do
31
+ chain_fixture chain: [[0, 0], [16, 16], [32, 32]]
32
+ end
33
+
34
+ shape = @body.fixtures[0].shape
35
+ shape.vertices_count.should == 3
36
+ end
37
+
38
+ it "should have vertices" do
39
+ @body.new_fixture do
40
+ chain_fixture chain: [[0, 0], [16, 16], [32, 32]]
41
+ end
42
+
43
+ shape = @body.fixtures[0].shape
44
+ shape.vertices.size.should == 3
45
+ end
46
+
47
+ it "should have a previous vertex" do
48
+ @body.new_fixture do
49
+ chain_fixture chain: [[0, 0], [16, 16], [32, 32]]
50
+ end
51
+
52
+ shape = @body.fixtures[0].shape
53
+ shape.previous_vertex = [-1, -1]
54
+ shape.has_previous_vertex?.should == true
55
+ shape.previous_vertex.should == CGPointMake(-1, -1)
56
+ end
57
+
58
+ it "should have a next vertex" do
59
+ @body.new_fixture do
60
+ chain_fixture chain: [[0, 0], [16, 16], [32, 32]]
61
+ end
62
+
63
+ shape = @body.fixtures[0].shape
64
+ shape.next_vertex = [64, 64]
65
+ shape.has_next_vertex?.should == true
66
+ shape.next_vertex.should == CGPointMake(64, 64)
67
+ end
68
+
69
+ it "should return a vertex as a Edge Shape" do
70
+ @body.new_fixture do
71
+ chain_fixture chain: [[0, 0], [16, 16], [32, 32]]
72
+ end
73
+
74
+ shape = @body.fixtures[0].shape
75
+ edge_shape = shape.edge_shape_by_index(1)
76
+ edge_shape.start_point.should == CGPointMake(16, 16)
77
+ edge_shape.end_point.should == CGPointMake(32, 32)
78
+ end
79
+
80
+ end
@@ -0,0 +1,63 @@
1
+ describe Joybox::Physics::CircleShape do
2
+ before do
3
+ @world = World.new gravity: [0, -9.8]
4
+ @body = @world.new_body position: [100, 100], type: Body::Dynamic
5
+ end
6
+
7
+ describe "Initialization" do
8
+ it "should initialize with radius" do
9
+ circle_shape = CircleShape.new radius: 60
10
+
11
+ @body.new_fixture do
12
+ fixture shape: circle_shape
13
+ end
14
+
15
+ @body.fixtures.size.should == 1
16
+ end
17
+ end
18
+
19
+ it "should have a vertices count" do
20
+ @body.new_fixture do
21
+ circle_fixture radius: 60
22
+ end
23
+
24
+ shape = @body.fixtures[0].shape
25
+ shape.vertices_count.should == 1
26
+ end
27
+
28
+ it "should have a position" do
29
+ @body.new_fixture do
30
+ circle_fixture radius: 60
31
+ end
32
+
33
+ shape = @body.fixtures[0].shape
34
+ shape.position.should == CGPointMake(0, 0)
35
+ end
36
+
37
+ it "should get a vertex support index for a direction" do
38
+ @body.new_fixture do
39
+ circle_fixture radius: 60
40
+ end
41
+
42
+ shape = @body.fixtures[0].shape
43
+ shape.support_vertex_index_by_direction([0, 0]).should == 0
44
+ end
45
+
46
+ it "should get a vertex support for a direction" do
47
+ @body.new_fixture do
48
+ circle_fixture radius: 60
49
+ end
50
+
51
+ shape = @body.fixtures[0].shape
52
+ shape.support_vertex_by_direction([0, 0]).should == CGPointMake(0, 0)
53
+ end
54
+
55
+ it "should get a vertex" do
56
+ @body.new_fixture do
57
+ circle_fixture radius: 60
58
+ end
59
+
60
+ shape = @body.fixtures[0].shape
61
+ shape.vertex_by_index(0).should == CGPointMake(0.0, 0.0)
62
+ end
63
+ end
@@ -0,0 +1,48 @@
1
+ describe Joybox::Physics::EdgeShape do
2
+ before do
3
+ @world = World.new gravity: [0, -9.8]
4
+ @body = @world.new_body position: [100, 100], type: Body::Dynamic
5
+ end
6
+
7
+ describe "Initialization" do
8
+ it "should initialize with start point and end point" do
9
+ edge_shape = EdgeShape.new start_point: [0, 0], end_point: [100, 100]
10
+
11
+ @body.new_fixture do
12
+ fixture shape: edge_shape
13
+ end
14
+
15
+ @body.fixtures.size.should == 1
16
+ end
17
+ end
18
+
19
+ it "should have an start and end point" do
20
+ @body.new_fixture do
21
+ edge_fixture start_point: [0, 0], end_point: [100, 100]
22
+ end
23
+
24
+ shape = @body.fixtures[0].shape
25
+ shape.start_point.should == CGPointMake(0, 0)
26
+ shape.end_point.should == CGPointMake(100, 100)
27
+ end
28
+
29
+ it "should know if it has an start and end adjacent point" do
30
+ @body.new_fixture do
31
+ edge_fixture start_point: [0, 0], end_point: [100, 100]
32
+ end
33
+
34
+ shape = @body.fixtures[0].shape
35
+ shape.has_start_adjacent_point?.should == false
36
+ shape.has_end_adjacent_point?.should == false
37
+ end
38
+
39
+ it "should have an start and end adjacent point" do
40
+ @body.new_fixture do
41
+ edge_fixture start_point: [0, 0], end_point: [100, 100]
42
+ end
43
+
44
+ shape = @body.fixtures[0].shape
45
+ shape.start_adjacent_point.should == CGPointMake(0, 0)
46
+ shape.end_adjacent_point.should == CGPointMake(0, 0)
47
+ end
48
+ end
@@ -0,0 +1,106 @@
1
+ describe Joybox::Physics::Fixture do
2
+ before do
3
+ @world = World.new gravity: [0, -9.8]
4
+ @body = @world.new_body position: [100, 100], type: Body::Dynamic do
5
+ polygon_fixture box: [16, 16],
6
+ density: 1.0,
7
+ friction: 1.0,
8
+ restitution: 1.0
9
+ end
10
+ end
11
+
12
+ it "should have type" do
13
+ fixture = @body.fixtures[0]
14
+ fixture.type.should == Fixture::PolygonType
15
+ end
16
+
17
+ it "should have a shape" do
18
+ fixture = @body.fixtures[0]
19
+ fixture.shape.should.not == nil
20
+ fixture.shape.type.should == Fixture::PolygonType
21
+ end
22
+
23
+ it "should have filter data" do
24
+ fixture = @body.fixtures[0]
25
+ fixture.filter_data.category_bits.should == 1
26
+ fixture.filter_data.mask_bits.should == 65535
27
+ fixture.filter_data.group_index.should == 0
28
+ end
29
+
30
+ it "should change its filter data" do
31
+ fixture = @body.fixtures[0]
32
+ filter = Filter.new
33
+ filter.category_bits = 0x0001
34
+ filter.mask_bits = 0xFFFF
35
+ filter.group_index = 0
36
+
37
+ fixture.filter_data = filter
38
+ fixture.filter_data.category_bits.should == 0x0001
39
+ fixture.filter_data.mask_bits.should == 0xFFFF
40
+ fixture.filter_data.group_index.should == 0
41
+ end
42
+
43
+ it "should have a body" do
44
+ fixture = @body.fixtures[0]
45
+ fixture.body.should == @body
46
+ end
47
+
48
+ it "should have density" do
49
+ fixture = @body.fixtures[0]
50
+ fixture.density.should == 1.0
51
+ end
52
+
53
+ it "should have friction" do
54
+ fixture = @body.fixtures[0]
55
+ fixture.friction.should == 1.0
56
+ end
57
+
58
+ it "should have restitution" do
59
+ fixture = @body.fixtures[0]
60
+ fixture.restitution.should == 1.0
61
+ end
62
+
63
+ it "should be a sensor" do
64
+ fixture = @body.fixtures[0]
65
+ fixture.sensor = true
66
+ fixture.sensor.should == true
67
+ end
68
+
69
+ it "should have mass data" do
70
+ fixture = @body.fixtures[0]
71
+
72
+ fixture.mass_data.mass.should == 1.0
73
+ fixture.mass_data.center.should == CGPointMake(0, 0)
74
+ fixture.mass_data.rotational_inertia == 0.0
75
+ end
76
+
77
+ it "should know if contains a point" do
78
+ fixture = @body.fixtures[0]
79
+ fixture.contains_point?([100, 100]).should == true
80
+ end
81
+
82
+ it "should have an AABB" do
83
+ fixture = @body.fixtures[0]
84
+ aabb = fixture.aabb child_index: 0
85
+ aabb.lower_bound.should.be.close CGPointMake(83.68, 83.68), 0.01
86
+ aabb.upper_bound.should.be.close CGPointMake(116.31, 116.31), 0.01
87
+ end
88
+
89
+ it "should ray cast the fixture with a first point, second point and maximum fraction" do
90
+ fixture = @body.fixtures[0]
91
+
92
+ ray_cast_notified = false
93
+
94
+ fixture.ray_cast first_point:[320, 320],
95
+ second_point:[32, 32],
96
+ maximum_fraction: 20,
97
+ child_index: 0 do |hits, normal, fraction|
98
+ ray_cast_notified = true
99
+ hits.should == true
100
+ normal.should == CGPointMake(32.0, 0.0)
101
+ fraction.should.be.close 0.708, 0.001
102
+ end
103
+
104
+ ray_cast_notified.should == true
105
+ end
106
+ end
@@ -0,0 +1,13 @@
1
+ describe Joybox::Physics::MassData do
2
+
3
+ it "should convert between coordinate systems" do
4
+ mass_data = MassData.new
5
+
6
+ mass_data.center = [32, 32]
7
+ mass_data.metric_center.should == CGPointMake(1, 1)
8
+
9
+ mass_data.metric_center = [2, 2]
10
+ mass_data.center.should == CGPointMake(64, 64)
11
+ end
12
+
13
+ end
@@ -0,0 +1,50 @@
1
+ describe Joybox::Physics::PhysicsSprite do
2
+ before do
3
+ @world = World.new gravity: [0, -9.8]
4
+ @body = @world.new_body position: [100, 100], type: Body::Dynamic do
5
+ polygon_fixture box: [16, 16]
6
+ end
7
+ end
8
+
9
+ describe "Initialization" do
10
+ it "should initialize with a body" do
11
+ physics_sprite = PhysicsSprite.new file_name: 'sprite.png', body: @body
12
+ physics_sprite.should.not == nil
13
+ physics_sprite.body.should == @body
14
+ physics_sprite.position.should == CGPointMake(100, 100)
15
+ physics_sprite.contentSize.should == CGSizeMake(101, 171)
16
+ physics_sprite.visible.should == true
17
+ physics_sprite.bounding_box.should == CGRectMake(49.5, 14.5, 101, 171)
18
+ end
19
+ end
20
+
21
+ it "should be dirty" do
22
+ physics_sprite = PhysicsSprite.new file_name: 'sprite.png', body: @body
23
+ physics_sprite.dirty.should == true
24
+ end
25
+
26
+ it "should return its position" do
27
+ physics_sprite = PhysicsSprite.new file_name: 'sprite.png', body: @body
28
+ physics_sprite.position.should == CGPointMake(100, 100)
29
+ physics_sprite.body.position.should == CGPointMake(100, 100)
30
+ end
31
+
32
+ it "should change its position" do
33
+ physics_sprite = PhysicsSprite.new file_name: 'sprite.png', body: @body
34
+ physics_sprite.position.should == CGPointMake(100, 100)
35
+
36
+ physics_sprite.position = CGPointMake(200, 200)
37
+ physics_sprite.position.should == CGPointMake(200, 200)
38
+ physics_sprite.body.position.should == CGPointMake(200, 200)
39
+ end
40
+
41
+ it "should adjust to its body position" do
42
+ physics_sprite = PhysicsSprite.new file_name: 'sprite.png', body: @body
43
+ physics_sprite.position.should == CGPointMake(100, 100)
44
+
45
+ @world.step delta:10
46
+
47
+ physics_sprite.position.should.be.close CGPointMake(100, 36), 0.1
48
+ physics_sprite.body.position.should.be.close CGPointMake(100, 36), 0.1
49
+ end
50
+ end
@@ -0,0 +1,92 @@
1
+ describe Joybox::Physics::PolygonShape do
2
+ before do
3
+ @world = World.new gravity: [0, -9.8]
4
+ @body = @world.new_body position: [100, 100], type: Body::Dynamic
5
+ end
6
+
7
+ describe "Initialization" do
8
+ it "should initialize with box" do
9
+ polygon_shape = PolygonShape.new box: [16, 16]
10
+
11
+ @body.new_fixture do
12
+ fixture shape: polygon_shape
13
+ end
14
+
15
+ @body.fixtures.size.should == 1
16
+ end
17
+
18
+ it "should initialize with box, center and angle" do
19
+ polygon_shape = PolygonShape.new box: [16, 16], center: [8, 8], angle: 10
20
+
21
+ @body.new_fixture do
22
+ fixture shape: polygon_shape
23
+ end
24
+
25
+ @body.fixtures.size.should == 1
26
+ end
27
+
28
+ it "should initialize with vertices" do
29
+ polygon_shape = PolygonShape.new vertices: [[0, 0], [16, 0], [0, 16]]
30
+
31
+ @body.new_fixture do
32
+ fixture shape: polygon_shape
33
+ end
34
+
35
+ @body.fixtures.size.should == 1
36
+ end
37
+ end
38
+
39
+ it "should have a vertices count" do
40
+ @body.new_fixture do
41
+ polygon_fixture vertices: [[0, 0], [16, 0], [0, 16]]
42
+ end
43
+
44
+ shape = @body.fixtures[0].shape
45
+ shape.vertices_count.should == 3
46
+ end
47
+
48
+ it "should have a centroid" do
49
+ @body.new_fixture do
50
+ polygon_fixture vertices: [[0, 0], [16, 0], [0, 16]]
51
+ end
52
+
53
+ shape = @body.fixtures[0].shape
54
+ shape.centroid.should.be.close CGPointMake(5.33, 5.33), 0.01
55
+ end
56
+
57
+ it "should have vertices" do
58
+ @body.new_fixture do
59
+ polygon_fixture box: [16, 16]
60
+ end
61
+
62
+ shape = @body.fixtures[0].shape
63
+ shape.vertices.size.should == 4
64
+ shape.vertices[0].should == CGPointMake(-16.0, -16.0)
65
+ shape.vertices[1].should == CGPointMake(16.0, -16.0)
66
+ shape.vertices[2].should == CGPointMake(16.0, 16.0)
67
+ shape.vertices[3].should == CGPointMake(-16.0, 16.0)
68
+ end
69
+
70
+ it "should have normals" do
71
+ @body.new_fixture do
72
+ polygon_fixture box: [16, 16]
73
+ end
74
+
75
+ shape = @body.fixtures[0].shape
76
+ shape.normals.size.should == 4
77
+ shape.normals[0].should == CGPointMake(0.0, -32.0)
78
+ shape.normals[1].should == CGPointMake(32.0, 0.0)
79
+ shape.normals[2].should == CGPointMake(0.0, 32.0)
80
+ shape.normals[3].should == CGPointMake(-32.0, 0.0)
81
+ end
82
+
83
+ it "should get a vertex" do
84
+ @body.new_fixture do
85
+ polygon_fixture box: [16, 16]
86
+ end
87
+
88
+ shape = @body.fixtures[0].shape
89
+ shape.vertex_by_index(0).should == CGPointMake(-16.0, -16.0)
90
+ end
91
+
92
+ end