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,31 @@
1
+ Joybox::Physics::CircleShape = B2DCircleShape
2
+
3
+ class B2DCircleShape
4
+
5
+ extend Joybox::Common::Initialize
6
+
7
+ alias_method :vertices_count, :vertexCount
8
+ alias_method :metric_position, :position
9
+
10
+ def initialize(options = {})
11
+ initWithRadius(options[:radius].from_pixels)
12
+ end
13
+
14
+ def position
15
+ metric_position.to_pixel_coordinates
16
+ end
17
+
18
+ def support_vertex_index_by_direction(direction)
19
+ direction = direction.to_point unless direction.is_a? (CGPoint)
20
+ getSupport(direction.from_pixel_coordinates)
21
+ end
22
+
23
+ def support_vertex_by_direction(direction)
24
+ direction = direction.to_point unless direction.is_a? (CGPoint)
25
+ getSupportVertex(direction.from_pixel_coordinates).to_pixel_coordinates
26
+ end
27
+
28
+ def vertex_by_index(index)
29
+ getVertex(index).to_pixel_coordinates
30
+ end
31
+ end
@@ -0,0 +1,37 @@
1
+ Joybox::Physics::EdgeShape = B2DEdgeShape
2
+
3
+ class B2DEdgeShape
4
+
5
+ extend Joybox::Common::Initialize
6
+
7
+ alias_method :metric_start_point, :startVertex
8
+ alias_method :metric_end_point, :endVertex
9
+ alias_method :has_start_adjacent_point?, :hasStartAdjacentVertex
10
+ alias_method :metric_start_adjacent_point, :startAdjacentVertex
11
+ alias_method :has_end_adjacent_point?, :hasEndAdjacentVertex
12
+ alias_method :metric_end_adjacent_point, :endAdjacentVertex
13
+
14
+ def initialize(options = {})
15
+ start_point = CGPointMake(options[:start_point][0], options[:start_point][1])
16
+ end_point = CGPointMake(options[:end_point][0], options[:end_point][1])
17
+
18
+ initWithStartVertex(start_point.from_pixel_coordinates, endVertex: end_point.from_pixel_coordinates)
19
+ end
20
+
21
+ def start_point
22
+ self.startVertex.to_pixel_coordinates
23
+ end
24
+
25
+ def end_point
26
+ self.endVertex.to_pixel_coordinates
27
+ end
28
+
29
+ def start_adjacent_point
30
+ self.startAdjacentVertex.to_pixel_coordinates
31
+ end
32
+
33
+ def end_adjacent_point
34
+ self.endAdjacentVertex.to_pixel_coordinates
35
+ end
36
+
37
+ end
@@ -0,0 +1,17 @@
1
+ Joybox::Physics::Filter = B2DFilter
2
+
3
+ class B2DFilter
4
+
5
+ alias_method :category_bits, :categoryBits
6
+ alias_method :category_bits=, :setCategoryBits
7
+ alias_method :mask_bits, :maskBits
8
+ alias_method :mask_bits=, :setMaskBits
9
+
10
+ def group_index
11
+ groupIndex
12
+ end
13
+
14
+ def group_index=(group_index)
15
+ setGroupIndex(group_index)
16
+ end
17
+ end
@@ -0,0 +1,52 @@
1
+ Joybox::Physics::Fixture = B2DFixture
2
+
3
+ class B2DFixture
4
+
5
+ alias_method :sensor?, :isSensor
6
+ alias_method :mass_data, :massData
7
+ alias_method :metric_aabb, :aabb
8
+
9
+ CircleType = 0
10
+ EdgeType = 1
11
+ PolygonType = 2
12
+ ChainType = 3
13
+ CountType = 4
14
+
15
+ def filter_data
16
+ filterData
17
+ end
18
+
19
+ def filter_data=(filter_data)
20
+ setFilterData(filter_data)
21
+ end
22
+
23
+ def contains_point?(point)
24
+ point = point.to_point.from_pixel_coordinates
25
+ testPoint(point)
26
+ end
27
+
28
+ def aabb(options = {})
29
+ unless [:child_index].all? { |k| options.has_key? k }
30
+ return # Todo print error message on the console
31
+ end
32
+
33
+ metric_aabb(options[:child_index])
34
+ end
35
+
36
+ def ray_cast(options = {}, &block)
37
+ unless [:first_point, :second_point, :maximum_fraction, :child_index].all? { |k| options.has_key? k }
38
+ return # Todo print error message on the console
39
+ end
40
+
41
+ ray_cast_input = RayCastInput.new
42
+ ray_cast_input.first_point = options[:first_point]
43
+ ray_cast_input.second_point = options[:second_point]
44
+ ray_cast_input.maximum_fraction = options[:maximum_fraction]
45
+
46
+ ray_cast_output = RayCastOutput.new
47
+
48
+ hits = rayCastWithOutput(ray_cast_output, input:ray_cast_input, andChildIndex: options[:child_index])
49
+ block.call(hits, ray_cast_output.normal, ray_cast_output.fraction)
50
+ end
51
+
52
+ end
@@ -0,0 +1,19 @@
1
+ Joybox::Physics::MassData = B2DMassData
2
+
3
+ class B2DMassData
4
+
5
+ alias_method :rotational_inertia, :I
6
+ alias_method :rotational_inertia=, :setI
7
+ alias_method :metric_center, :centre
8
+ alias_method :metric_center=, :setCentre
9
+
10
+ def center
11
+ metric_center.to_pixel_coordinates
12
+ end
13
+
14
+ def center=(center)
15
+ center = center.to_point unless center.is_a? (CGPoint)
16
+ self.metric_center = center.from_pixel_coordinates
17
+ end
18
+
19
+ end
@@ -1,16 +1,14 @@
1
- # TODO: Revisar el nombre de esto
2
1
  module Joybox
3
- module Core
2
+ module Physics
4
3
 
5
- class PhysicsSprite < Sprite
4
+ class PhysicsSprite < Joybox::Core::Sprite
6
5
 
7
6
  attr_accessor :body
8
7
 
9
- def self.new(options = {})
10
- sprite = super
11
- sprite.body = options[:body] if options.include? :body
12
-
13
- sprite
8
+ def initialize(options = {})
9
+ super
10
+ self.body = options.delete(:body) if options.has_key? :body
11
+ self.body[:sprite] = self
14
12
  end
15
13
 
16
14
  # We need this method to return true, so Cocos2d continue
@@ -19,22 +17,57 @@ module Joybox
19
17
  true
20
18
  end
21
19
 
20
+ def position
21
+ if @body and not self.running_actions?
22
+ @body.position
23
+ else
24
+ super
25
+ end
26
+ end
27
+
22
28
  def position=(position)
23
- @body.position = position
29
+ if @body and not self.running_actions?
30
+ @body.position = position
31
+ else
32
+ super
33
+ end
24
34
  end
25
35
 
26
- def position
27
- @body.position.from_pixel_coordinates
36
+ def rotation
37
+ if @body and not self.running_actions?
38
+ @body.rotation
39
+ else
40
+ super
41
+ end
42
+ end
43
+
44
+ def rotation=(rotation)
45
+ if @body and not self.running_actions?
46
+ @body.rotation = rotation
47
+ else
48
+ super
49
+ end
50
+ end
51
+
52
+ def run_action(action)
53
+ callback = Callback.with do
54
+ @body.position = self.position unless @body.nil?
55
+ @body.angle = self.rotation unless @body.nil?
56
+ end
57
+ sequence = Sequence.with actions: [action, callback]
58
+ super(sequence)
59
+
60
+ self.position = @body.position unless @body.nil?
28
61
  end
29
62
 
30
63
  def nodeToParentTransform
31
- return super if @body.nil?
64
+ return super if @body.nil? or self.running_actions?
32
65
 
33
66
  super
34
67
 
35
- position = @body.position.from_pixel_coordinates
68
+ position = @body.position
36
69
  position = position + anchorPointInPoints if ignoreAnchorPointForPosition
37
- angle = @body.angle
70
+ angle = @body.radian_angle
38
71
 
39
72
  x = position.x
40
73
  y = position.y
@@ -46,10 +79,11 @@ module Joybox
46
79
  y = y + sine * -anchorPointInPoints.x + cosine * -anchorPointInPoints.y
47
80
  end
48
81
 
49
- CGAffineTransformMake(cosine, sine, -sine, cosine, x, y)
82
+ rotated_transform = CGAffineTransformMake(cosine, sine, -sine, cosine, x, y)
83
+ CGAffineTransformScale(rotated_transform, self.scaleX, self.scaleY)
50
84
  end
51
85
 
52
86
  end
53
87
 
54
88
  end
55
- end
89
+ end
@@ -0,0 +1,54 @@
1
+ Joybox::Physics::PolygonShape = B2DPolygonShape
2
+
3
+ class B2DPolygonShape
4
+
5
+ extend Joybox::Common::Initialize
6
+
7
+ alias_method :vertices_count, :vertexCount
8
+ alias_method :metric_centroid, :centroid
9
+ alias_method :metric_vertices, :vertices
10
+ alias_method :metric_normals, :normals
11
+
12
+ def initialize(options = {})
13
+ initialize_with_box(options) if options.has_key? :box
14
+ initialize_with_vertices(options) if options.has_key? :vertices
15
+ end
16
+
17
+ def initialize_with_box(options = {})
18
+ half_width = (options[:box][0]).from_pixels
19
+ half_height = (options[:box][1]).from_pixels
20
+
21
+ initWithHalfWidth(half_width,
22
+ andHalfHeight: half_height) unless options.has_key? :center
23
+ initWithHalfWidth(half_width,
24
+ halfHeight: half_height,
25
+ center: options[:center],
26
+ andAngle: options[:angle]) if options.has_key? :center
27
+ end
28
+
29
+ def initialize_with_vertices(options = {})
30
+ vertices = Pointer.new(CGPoint.type, options[:vertices].size)
31
+ options[:vertices].each_with_index do |vertex, index|
32
+ vertices[index] = CGPointMake(vertex[0], vertex[1]).from_pixel_coordinates
33
+ end
34
+
35
+ initWithVertices(vertices, andVertexCount: options[:vertices].size)
36
+ end
37
+
38
+ def centroid
39
+ metric_centroid.to_pixel_coordinates
40
+ end
41
+
42
+ def vertices
43
+ Array.new(vertices_count){ |i| metric_vertices[i].to_pixel_coordinates }
44
+ end
45
+
46
+ def normals
47
+ Array.new(vertices_count){ |i| metric_normals[i].to_pixel_coordinates }
48
+ end
49
+
50
+ def vertex_by_index(index)
51
+ getVertex(index).to_pixel_coordinates
52
+ end
53
+
54
+ end
@@ -0,0 +1,14 @@
1
+ Joybox::Physics::Profile = B2DProfile
2
+
3
+ class B2DProfile
4
+
5
+ alias_method :solve_init, :solveInit
6
+ alias_method :solve_init=, :setSolveInit
7
+ alias_method :solve_velocity, :solveVelocity
8
+ alias_method :solve_velocity=, :setSolveVelocity
9
+ alias_method :solve_position, :solvePosition
10
+ alias_method :solve_position=, :setSolvePosition
11
+ alias_method :solve_TOI, :solveTOI
12
+ alias_method :solve_TOI=, :setSolveTOI
13
+
14
+ end
@@ -0,0 +1,30 @@
1
+ Joybox::Physics::RayCastInput = B2DRayCastInput
2
+
3
+ class B2DRayCastInput
4
+
5
+ alias_method :metric_first_point, :point1
6
+ alias_method :metric_first_point=, :setPoint1
7
+ alias_method :metric_second_point, :point2
8
+ alias_method :metric_second_point=, :setPoint2
9
+ alias_method :maximum_fraction, :maxFraction
10
+ alias_method :maximum_fraction=, :setMaxFraction
11
+
12
+ def first_point
13
+ metric_first_point.to_pixel_coordinates
14
+ end
15
+
16
+ def first_point=(point)
17
+ point = point.to_point unless point.is_a? (CGPoint)
18
+ self.metric_first_point = point.from_pixel_coordinates
19
+ end
20
+
21
+ def second_point
22
+ metric_second_point.to_pixel_coordinates
23
+ end
24
+
25
+ def second_point=(point)
26
+ point = point.to_point unless point.is_a? (CGPoint)
27
+ self.metric_second_point = point.from_pixel_coordinates
28
+ end
29
+
30
+ end
@@ -0,0 +1,17 @@
1
+ Joybox::Physics::RayCastOutput = B2DRayCastOutput
2
+
3
+ class B2DRayCastOutput
4
+
5
+ alias_method :metric_normal, :normal
6
+ alias_method :metric_normal=, :setNormal
7
+
8
+ def normal
9
+ metric_normal.to_pixel_coordinates
10
+ end
11
+
12
+ def normal=(normal)
13
+ normal = normal.to_point unless normal.is_a? (CGPoint)
14
+ self.metric_normal = normal.from_pixel_coordinates
15
+ end
16
+
17
+ end
@@ -0,0 +1,61 @@
1
+ Joybox::Physics::Shape = B2DMassData
2
+
3
+ class B2DShape
4
+
5
+ alias_method :child_count, :childCount
6
+ alias_method :metric_radius, :radius
7
+
8
+ CircleType = 0
9
+ EdgeType = 1
10
+ PolygonType = 2
11
+ ChainType = 3
12
+ CountType = 4
13
+
14
+ def radius
15
+ metric_radius.to_pixels
16
+ end
17
+
18
+ def contains_point?(point)
19
+ point = point.to_point unless point.is_a? (CGPoint)
20
+ testPointWithTransform(Transform.new, andPoint: point.from_pixel_coordinates)
21
+ end
22
+
23
+ def ray_cast(options = {}, &block)
24
+ unless [:first_point, :second_point, :maximum_fraction, :child_index].all? { |k| options.has_key? k }
25
+ return # Todo print error message on the console
26
+ end
27
+
28
+ ray_cast_input = RayCastInput.new
29
+ ray_cast_input.first_point = options[:first_point]
30
+ ray_cast_input.second_point = options[:second_point]
31
+ ray_cast_input.maximum_fraction = options[:maximum_fraction]
32
+
33
+ ray_cast_output = RayCastOutput.new
34
+
35
+ hits = rayCastWithOutput(ray_cast_output,
36
+ input: ray_cast_input,
37
+ transform: Transform.new,
38
+ andChildren: options[:child_index])
39
+ block.call(hits, ray_cast_output.normal, ray_cast_output.fraction)
40
+ end
41
+
42
+ def compute_aabb(options = {})
43
+ unless options.has_key? :child_index
44
+ return # Todo print error message on the console
45
+ end
46
+
47
+ aabb = AABB.new
48
+ computeAABB(aabb, withTransform: Transform.new, andChildIndex: options[:child_index])
49
+ aabb
50
+ end
51
+
52
+ def compute_mass(options = {})
53
+ unless options.has_key? :density
54
+ return # Todo print error message on the console
55
+ end
56
+
57
+ mass_data = MassData.new
58
+ computeMass(mass_data, withDensity: options[:density])
59
+ mass_data
60
+ end
61
+ end
@@ -0,0 +1,17 @@
1
+ Joybox::Physics::Transform = B2DTransform
2
+
3
+ class B2DTransform
4
+
5
+ alias_method :metric_position, :point
6
+ alias_method :metric_position=, :setPoint
7
+
8
+ def position
9
+ metric_position.to_pixel_coordinates
10
+ end
11
+
12
+ def position=(point)
13
+ point = point.to_point unless point.is_a? (CGPoint)
14
+ self.metric_position = point.from_pixel_coordinates
15
+ end
16
+
17
+ end