joybox 0.0.3

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 (204) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +18 -0
  3. data/Gemfile +6 -0
  4. data/Gemfile.lock +27 -0
  5. data/LICENSE +22 -0
  6. data/README.md +86 -0
  7. data/Rakefile +14 -0
  8. data/app/app_delegate.rb +49 -0
  9. data/app/layers/box2d_layer.rb +109 -0
  10. data/app/layers/cocos2d_layer.rb +14 -0
  11. data/app/layers/cocos_motion_layer.rb +145 -0
  12. data/app/layers/menu_layer.rb +59 -0
  13. data/joybox.gemspec +25 -0
  14. data/lib/joybox.rb +47 -0
  15. data/lib/joybox/box2d/body.rb +106 -0
  16. data/lib/joybox/box2d/world.rb +79 -0
  17. data/lib/joybox/cocos2d/actions/actions.rb +7 -0
  18. data/lib/joybox/cocos2d/actions/move.rb +31 -0
  19. data/lib/joybox/cocos2d/actions/repeat.rb +24 -0
  20. data/lib/joybox/cocos2d/actions/rotate.rb +31 -0
  21. data/lib/joybox/cocos2d/actions/scale.rb +31 -0
  22. data/lib/joybox/cocos2d/actions/sequence.rb +22 -0
  23. data/lib/joybox/cocos2d/actions/skew.rb +36 -0
  24. data/lib/joybox/cocos2d/cocos2d.rb +15 -0
  25. data/lib/joybox/cocos2d/common/cg_point.rb +37 -0
  26. data/lib/joybox/cocos2d/common/color.rb +49 -0
  27. data/lib/joybox/cocos2d/common/gc_size.rb +39 -0
  28. data/lib/joybox/cocos2d/common/ns_set.rb +5 -0
  29. data/lib/joybox/cocos2d/common/numeric.rb +14 -0
  30. data/lib/joybox/cocos2d/common/screen.rb +39 -0
  31. data/lib/joybox/cocos2d/common/ui_touch.rb +15 -0
  32. data/lib/joybox/cocos2d/configuration/configuration.rb +68 -0
  33. data/lib/joybox/cocos2d/configuration/file_utils.rb +33 -0
  34. data/lib/joybox/cocos2d/configuration/gl_view.rb +44 -0
  35. data/lib/joybox/cocos2d/configuration/texture_2d.rb +27 -0
  36. data/lib/joybox/cocos2d/core/layer.rb +87 -0
  37. data/lib/joybox/cocos2d/core/node.rb +26 -0
  38. data/lib/joybox/cocos2d/core/physics_sprite.rb +52 -0
  39. data/lib/joybox/cocos2d/core/scene.rb +24 -0
  40. data/lib/joybox/cocos2d/core/sprite.rb +43 -0
  41. data/lib/joybox/cocos2d/core/sprite_batch.rb +24 -0
  42. data/lib/joybox/cocos2d/director.rb +43 -0
  43. data/lib/joybox/cocos2d/macros.rb +234 -0
  44. data/lib/joybox/cocos2d/ui/label.rb +34 -0
  45. data/lib/joybox/cocos2d/ui/menu.rb +25 -0
  46. data/lib/joybox/cocos2d/ui/menu_image.rb +22 -0
  47. data/lib/joybox/cocos2d/ui/menu_label.rb +45 -0
  48. data/lib/joybox/cocos2d/ui/ui.rb +7 -0
  49. data/lib/joybox/version.rb +3 -0
  50. data/resources/box2d/blocks_sprite_sheet.png +0 -0
  51. data/resources/cocos_motion/dot.png +0 -0
  52. data/resources/cocos_motion/dot_selected.png +0 -0
  53. data/resources/cocos_motion/grossini.png +0 -0
  54. data/resources/cocos_motion/grossinis_sister.png +0 -0
  55. data/resources/cocos_motion/grossinis_sister_two.png +0 -0
  56. data/resources/cocos_motion/left_arrow.png +0 -0
  57. data/resources/cocos_motion/left_arrow_selected.png +0 -0
  58. data/resources/cocos_motion/right_arrow.png +0 -0
  59. data/resources/cocos_motion/right_arrow_selected.png +0 -0
  60. data/resources/fps_images-hd.png +0 -0
  61. data/resources/fps_images-ipadhd.png +0 -0
  62. data/resources/fps_images.png +0 -0
  63. data/spec/lib/joybox/cocos2d/cocos2d_spec.rb +7 -0
  64. data/spec/lib/joybox/cocos2d/macros_spec.rb +37 -0
  65. data/spec/main_spec.rb +9 -0
  66. data/vendor/Box2D.framework/Box2D +0 -0
  67. data/vendor/Box2D.framework/Box2D.framework.bridgesupport +166 -0
  68. data/vendor/Box2D.framework/Versions/A/Box2D +0 -0
  69. data/vendor/Box2D.framework/Versions/A/Headers/Collision/B2DContactListener.h +25 -0
  70. data/vendor/Box2D.framework/Versions/A/Headers/Collision/Shapes/B2DEdgeShape.h +17 -0
  71. data/vendor/Box2D.framework/Versions/A/Headers/Collision/Shapes/B2DPolygonShape.h +16 -0
  72. data/vendor/Box2D.framework/Versions/A/Headers/Collision/Shapes/B2DShape.h +15 -0
  73. data/vendor/Box2D.framework/Versions/A/Headers/Dynamics/B2DBody.h +43 -0
  74. data/vendor/Box2D.framework/Versions/A/Headers/Dynamics/B2DWorld.h +41 -0
  75. data/vendor/Box2D.framework/Versions/A/Resources/Box2DConfig.cmake +3 -0
  76. data/vendor/Box2D.framework/Versions/A/Resources/CMakeLists.txt +205 -0
  77. data/vendor/Cocos2D/Cocos2D.bridgesupport +7808 -0
  78. data/vendor/Cocos2D/include/CCAction.h +195 -0
  79. data/vendor/Cocos2D/include/CCActionCamera.h +73 -0
  80. data/vendor/Cocos2D/include/CCActionCatmullRom.h +139 -0
  81. data/vendor/Cocos2D/include/CCActionEase.h +159 -0
  82. data/vendor/Cocos2D/include/CCActionGrid.h +165 -0
  83. data/vendor/Cocos2D/include/CCActionGrid3D.h +205 -0
  84. data/vendor/Cocos2D/include/CCActionInstant.h +227 -0
  85. data/vendor/Cocos2D/include/CCActionInterval.h +431 -0
  86. data/vendor/Cocos2D/include/CCActionManager.h +113 -0
  87. data/vendor/Cocos2D/include/CCActionPageTurn3D.h +42 -0
  88. data/vendor/Cocos2D/include/CCActionProgressTimer.h +59 -0
  89. data/vendor/Cocos2D/include/CCActionTiledGrid.h +211 -0
  90. data/vendor/Cocos2D/include/CCActionTween.h +62 -0
  91. data/vendor/Cocos2D/include/CCAnimation.h +150 -0
  92. data/vendor/Cocos2D/include/CCAnimationCache.h +74 -0
  93. data/vendor/Cocos2D/include/CCArray.h +119 -0
  94. data/vendor/Cocos2D/include/CCAtlasNode.h +96 -0
  95. data/vendor/Cocos2D/include/CCCamera.h +98 -0
  96. data/vendor/Cocos2D/include/CCConfiguration.h +126 -0
  97. data/vendor/Cocos2D/include/CCDirector.h +344 -0
  98. data/vendor/Cocos2D/include/CCDirectorIOS.h +104 -0
  99. data/vendor/Cocos2D/include/CCDrawingPrimitives.h +139 -0
  100. data/vendor/Cocos2D/include/CCES2Renderer.h +83 -0
  101. data/vendor/Cocos2D/include/CCESRenderer.h +54 -0
  102. data/vendor/Cocos2D/include/CCFileUtils.h +188 -0
  103. data/vendor/Cocos2D/include/CCGL.h +72 -0
  104. data/vendor/Cocos2D/include/CCGLProgram.h +150 -0
  105. data/vendor/Cocos2D/include/CCGLView.h +160 -0
  106. data/vendor/Cocos2D/include/CCGrabber.h +44 -0
  107. data/vendor/Cocos2D/include/CCGrid.h +130 -0
  108. data/vendor/Cocos2D/include/CCLabelAtlas.h +68 -0
  109. data/vendor/Cocos2D/include/CCLabelBMFont.h +216 -0
  110. data/vendor/Cocos2D/include/CCLabelTTF.h +132 -0
  111. data/vendor/Cocos2D/include/CCLayer.h +280 -0
  112. data/vendor/Cocos2D/include/CCMenu.h +100 -0
  113. data/vendor/Cocos2D/include/CCMenuItem.h +423 -0
  114. data/vendor/Cocos2D/include/CCMotionStreak.h +87 -0
  115. data/vendor/Cocos2D/include/CCNS.h +54 -0
  116. data/vendor/Cocos2D/include/CCNode+Debug.h +39 -0
  117. data/vendor/Cocos2D/include/CCNode.h +569 -0
  118. data/vendor/Cocos2D/include/CCParallaxNode.h +50 -0
  119. data/vendor/Cocos2D/include/CCParticleBatchNode.h +99 -0
  120. data/vendor/Cocos2D/include/CCParticleExamples.h +95 -0
  121. data/vendor/Cocos2D/include/CCParticleSystem.h +453 -0
  122. data/vendor/Cocos2D/include/CCParticleSystemQuad.h +73 -0
  123. data/vendor/Cocos2D/include/CCProfiling.h +89 -0
  124. data/vendor/Cocos2D/include/CCProgressTimer.h +94 -0
  125. data/vendor/Cocos2D/include/CCProtocols.h +132 -0
  126. data/vendor/Cocos2D/include/CCRenderTexture.h +139 -0
  127. data/vendor/Cocos2D/include/CCScene.h +43 -0
  128. data/vendor/Cocos2D/include/CCScheduler.h +230 -0
  129. data/vendor/Cocos2D/include/CCShaderCache.h +60 -0
  130. data/vendor/Cocos2D/include/CCSprite.h +288 -0
  131. data/vendor/Cocos2D/include/CCSpriteBatchNode.h +138 -0
  132. data/vendor/Cocos2D/include/CCSpriteFrame.h +126 -0
  133. data/vendor/Cocos2D/include/CCSpriteFrameCache.h +121 -0
  134. data/vendor/Cocos2D/include/CCTMXLayer.h +164 -0
  135. data/vendor/Cocos2D/include/CCTMXObjectGroup.h +67 -0
  136. data/vendor/Cocos2D/include/CCTMXTiledMap.h +145 -0
  137. data/vendor/Cocos2D/include/CCTMXXMLParser.h +217 -0
  138. data/vendor/Cocos2D/include/CCTexture2D.h +357 -0
  139. data/vendor/Cocos2D/include/CCTextureAtlas.h +188 -0
  140. data/vendor/Cocos2D/include/CCTextureCache.h +146 -0
  141. data/vendor/Cocos2D/include/CCTexturePVR.h +129 -0
  142. data/vendor/Cocos2D/include/CCTileMapAtlas.h +83 -0
  143. data/vendor/Cocos2D/include/CCTouchDelegateProtocol.h +75 -0
  144. data/vendor/Cocos2D/include/CCTouchDispatcher.h +120 -0
  145. data/vendor/Cocos2D/include/CCTouchHandler.h +93 -0
  146. data/vendor/Cocos2D/include/CCTransition.h +296 -0
  147. data/vendor/Cocos2D/include/CCTransitionPageTurn.h +60 -0
  148. data/vendor/Cocos2D/include/CCTransitionProgress.h +62 -0
  149. data/vendor/Cocos2D/include/CCVertex.h +36 -0
  150. data/vendor/Cocos2D/include/CGPointExtension.h +344 -0
  151. data/vendor/Cocos2D/include/CocosDenshion/CDAudioManager.h +243 -0
  152. data/vendor/Cocos2D/include/CocosDenshion/CDConfig.h +60 -0
  153. data/vendor/Cocos2D/include/CocosDenshion/CDOpenALSupport.h +77 -0
  154. data/vendor/Cocos2D/include/CocosDenshion/CDXPropertyModifierAction.h +45 -0
  155. data/vendor/Cocos2D/include/CocosDenshion/CocosDenshion.h +440 -0
  156. data/vendor/Cocos2D/include/CocosDenshion/SimpleAudioEngine.h +90 -0
  157. data/vendor/Cocos2D/include/NSThread+performBlock.h +22 -0
  158. data/vendor/Cocos2D/include/OpenGL_Internal.h +86 -0
  159. data/vendor/Cocos2D/include/RubyMotionSchedule.h +7 -0
  160. data/vendor/Cocos2D/include/TGAlib.h +55 -0
  161. data/vendor/Cocos2D/include/TransformUtils.h +36 -0
  162. data/vendor/Cocos2D/include/ZipUtils.h +91 -0
  163. data/vendor/Cocos2D/include/base64.h +33 -0
  164. data/vendor/Cocos2D/include/ccCArray.h +229 -0
  165. data/vendor/Cocos2D/include/ccConfig.h +245 -0
  166. data/vendor/Cocos2D/include/ccDeprecated.h +300 -0
  167. data/vendor/Cocos2D/include/ccGLStateCache.h +138 -0
  168. data/vendor/Cocos2D/include/ccMacros.h +353 -0
  169. data/vendor/Cocos2D/include/ccShader_PositionColor_frag.h +12 -0
  170. data/vendor/Cocos2D/include/ccShader_PositionColor_vert.h +17 -0
  171. data/vendor/Cocos2D/include/ccShader_PositionTextureA8Color_frag.h +16 -0
  172. data/vendor/Cocos2D/include/ccShader_PositionTextureA8Color_vert.h +21 -0
  173. data/vendor/Cocos2D/include/ccShader_PositionTextureColorAlphaTest_frag.h +23 -0
  174. data/vendor/Cocos2D/include/ccShader_PositionTextureColor_frag.h +14 -0
  175. data/vendor/Cocos2D/include/ccShader_PositionTextureColor_vert.h +22 -0
  176. data/vendor/Cocos2D/include/ccShader_PositionTexture_frag.h +13 -0
  177. data/vendor/Cocos2D/include/ccShader_PositionTexture_uColor_frag.h +16 -0
  178. data/vendor/Cocos2D/include/ccShader_PositionTexture_uColor_vert.h +18 -0
  179. data/vendor/Cocos2D/include/ccShader_PositionTexture_vert.h +17 -0
  180. data/vendor/Cocos2D/include/ccShader_Position_uColor_frag.h +12 -0
  181. data/vendor/Cocos2D/include/ccShader_Position_uColor_vert.h +19 -0
  182. data/vendor/Cocos2D/include/ccShaders.h +45 -0
  183. data/vendor/Cocos2D/include/ccTypes.h +374 -0
  184. data/vendor/Cocos2D/include/ccUtils.h +36 -0
  185. data/vendor/Cocos2D/include/cocos2d.h +178 -0
  186. data/vendor/Cocos2D/include/kazmath/GL/mat4stack.h +51 -0
  187. data/vendor/Cocos2D/include/kazmath/GL/matrix.h +58 -0
  188. data/vendor/Cocos2D/include/kazmath/aabb.h +53 -0
  189. data/vendor/Cocos2D/include/kazmath/kazmath.h +39 -0
  190. data/vendor/Cocos2D/include/kazmath/mat3.h +75 -0
  191. data/vendor/Cocos2D/include/kazmath/mat4.h +93 -0
  192. data/vendor/Cocos2D/include/kazmath/neon_matrix_impl.h +41 -0
  193. data/vendor/Cocos2D/include/kazmath/plane.h +70 -0
  194. data/vendor/Cocos2D/include/kazmath/quaternion.h +113 -0
  195. data/vendor/Cocos2D/include/kazmath/ray2.h +50 -0
  196. data/vendor/Cocos2D/include/kazmath/utility.h +74 -0
  197. data/vendor/Cocos2D/include/kazmath/vec2.h +64 -0
  198. data/vendor/Cocos2D/include/kazmath/vec3.h +68 -0
  199. data/vendor/Cocos2D/include/kazmath/vec4.h +68 -0
  200. data/vendor/Cocos2D/include/uthash.h +972 -0
  201. data/vendor/Cocos2D/include/utlist.h +490 -0
  202. data/vendor/Cocos2D/libCocosDenshion.a +0 -0
  203. data/vendor/Cocos2D/libcocos2d.a +0 -0
  204. metadata +277 -0
@@ -0,0 +1,22 @@
1
+ module Joybox
2
+ module Actions
3
+
4
+ class Sequence
5
+
6
+ def self.defaults
7
+ {
8
+ items: []
9
+ }
10
+ end
11
+
12
+ def self.new(options = {})
13
+
14
+ options = options.nil? ? defaults : defaults.merge!(options)
15
+
16
+ CCSequence.actionsWithArray(options[:items])
17
+ end
18
+
19
+ end
20
+
21
+ end
22
+ end
@@ -0,0 +1,36 @@
1
+ module Joybox
2
+ module Actions
3
+
4
+ class Skew
5
+
6
+ def self.defaults
7
+ {
8
+ duration: 0.3,
9
+ x: 0,
10
+ y: 0
11
+ }
12
+ end
13
+
14
+ def self.by(options = {})
15
+
16
+ options = options.nil? ? defaults : defaults.merge!(options)
17
+
18
+ CCSkewBy.actionWithDuration(options[:duration],
19
+ skewX: options[:x],
20
+ skewY: options[:y])
21
+ end
22
+
23
+
24
+ def self.to(options = {})
25
+
26
+ options = options.nil? ? defaults : defaults.merge!(options)
27
+
28
+ CCSkewTo.actionWithDuration(options[:duration],
29
+ skewX: options[:x],
30
+ skewY: options[:y])
31
+ end
32
+
33
+ end
34
+
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ module Joybox
2
+
3
+ include Joybox::Common
4
+ include Joybox::Core
5
+ include Joybox::Actions
6
+ include Joybox::UI
7
+ include Joybox::Macros
8
+
9
+ module_function
10
+
11
+ def director
12
+ Director.sharedDirector
13
+ end
14
+
15
+ end
@@ -0,0 +1,37 @@
1
+ class CGPoint
2
+
3
+ def to_opengl_coordinates
4
+
5
+ Joybox.director.convertToGL(self)
6
+ end
7
+
8
+ def to_uikit_coordinates
9
+
10
+ CGPointMake(self.x.from_pixels, self.y.from_pixels)
11
+ end
12
+
13
+
14
+ def to_pixel_coordinates
15
+
16
+ CGPointMake(self.x.to_pixels, self.y.to_pixels)
17
+ end
18
+
19
+
20
+ def == (point)
21
+
22
+ point.is_a?(CGPoint) && CGPointEqualToPoint(self, point)
23
+ end
24
+
25
+
26
+ def + (point)
27
+
28
+ CGPointMake(self.x + point.x, self.y + point.y)
29
+ end
30
+
31
+
32
+ def - (point)
33
+
34
+ CGPointMake(self.x - point.x, self.y - point.y)
35
+ end
36
+
37
+ end
@@ -0,0 +1,49 @@
1
+ module Joybox
2
+ module Common
3
+
4
+ class Color < Array
5
+
6
+ def self.defaults
7
+ {
8
+ red: 1,
9
+ green: 1,
10
+ green: 1
11
+ }
12
+ end
13
+
14
+
15
+ def initialize(red, green, blue)
16
+
17
+ self.push(red, green, blue)
18
+ end
19
+
20
+
21
+ def self.create(options = {})
22
+
23
+ options = options.nil? ? defaults : defaults.merge!(options)
24
+
25
+ self.new(options[:red], options[:green], options[:blue])
26
+ end
27
+
28
+
29
+ def self.from_rgb(red, green, blue)
30
+
31
+ self.new(red, green, blue)
32
+ end
33
+
34
+
35
+ def self.from_hex(hex)
36
+
37
+ split_hex = [hex.delete(' ').delete('#')].pack('H*').unpack('C*')
38
+
39
+ red = split_hex[0]
40
+ green = split_hex[1]
41
+ blue = split_hex[2]
42
+
43
+ self.new(red, green, blue)
44
+ end
45
+
46
+ end
47
+
48
+ end
49
+ end
@@ -0,0 +1,39 @@
1
+ # TODO: Revisar el nombre de estos metodos
2
+ class CGSize
3
+
4
+ def half_width
5
+
6
+ width / 2
7
+ end
8
+
9
+
10
+ def double_width
11
+
12
+ width * 2
13
+ end
14
+
15
+
16
+ def half_height
17
+
18
+ height / 2
19
+ end
20
+
21
+
22
+ def double_height
23
+
24
+ height * 2
25
+ end
26
+
27
+
28
+ def to_uikit_coordinates
29
+
30
+ CGSizeMake(self.width.from_pixels, self.height.from_pixels)
31
+ end
32
+
33
+
34
+ def to_pixel_coordinates
35
+
36
+ CGSizeMake(self.width.to_pixels, self.height.to_pixels)
37
+ end
38
+
39
+ end
@@ -0,0 +1,5 @@
1
+ class NSSet
2
+
3
+ alias_method :any_object, :anyObject
4
+
5
+ end
@@ -0,0 +1,14 @@
1
+ # TODO: No he podido encontrar un buen nombre para estos
2
+ class Numeric
3
+
4
+ def to_pixels
5
+
6
+ self / 32
7
+ end
8
+
9
+ def from_pixels
10
+
11
+ self * 32
12
+ end
13
+
14
+ end
@@ -0,0 +1,39 @@
1
+ # TODO: Revisar
2
+ # 1 => Dependencia entre modulos por el director
3
+ # 2 => Usar una clase o un modulo para este escenario, se usa un modulo
4
+ # debido a que Screen no tendra estado
5
+ # 3 => El nombrado de half
6
+ module Joybox
7
+ module Common
8
+
9
+ module Screen
10
+
11
+ module_function
12
+
13
+ def self.width
14
+
15
+ CCDirector.sharedDirector.winSize.width
16
+ end
17
+
18
+
19
+ def self.half_width
20
+
21
+ CCDirector.sharedDirector.winSize.width / 2
22
+ end
23
+
24
+
25
+ def self.height
26
+
27
+ CCDirector.sharedDirector.winSize.height
28
+ end
29
+
30
+
31
+ def self.half_height
32
+
33
+ CCDirector.sharedDirector.winSize.height / 2
34
+ end
35
+
36
+ end
37
+
38
+ end
39
+ end
@@ -0,0 +1,15 @@
1
+ class UITouch
2
+
3
+ # We need a method instead of the alias method because of
4
+ # the 'Type `{CGPoint=ff}@:@' not precompiled' error
5
+ def location_in_view(view)
6
+
7
+ locationInView(view)
8
+ end
9
+
10
+ def location
11
+
12
+ locationInView(self.view).to_opengl_coordinates
13
+ end
14
+
15
+ end
@@ -0,0 +1,68 @@
1
+ module Joybox
2
+ module Configuration
3
+
4
+ module_function
5
+
6
+ def setup(&block)
7
+
8
+ instance_eval(&block) if block_given?
9
+ configure
10
+
11
+ Director.sharedDirector
12
+ end
13
+
14
+
15
+ def configure
16
+
17
+ director unless @is_director_configured
18
+ opengl_view unless @is_opengl_view_configured
19
+ texture_2d unless @is_texture_2d_configured
20
+ file_utils unless @is_file_utils_configured
21
+ end
22
+
23
+
24
+ def director(*hash)
25
+
26
+ hash = hash.pop
27
+
28
+ Director.configure(hash)
29
+
30
+ @is_director_configured = true
31
+ end
32
+
33
+
34
+ def opengl_view(*hash)
35
+
36
+ hash = hash.pop
37
+
38
+ opengl_view = GLView.new(hash)
39
+
40
+ director = Director.sharedDirector
41
+
42
+ director.view = opengl_view
43
+
44
+ @is_opengl_view_configured = true
45
+ end
46
+
47
+
48
+ def texture_2d(*hash)
49
+
50
+ hash = hash.pop
51
+
52
+ Texture2D.configure(hash)
53
+
54
+ @is_texture_2d_configured = true
55
+ end
56
+
57
+
58
+ def file_utils(*hash)
59
+
60
+ hash = hash.pop
61
+
62
+ FileUtils.configure(hash)
63
+
64
+ @is_file_utils_configured = true
65
+ end
66
+
67
+ end
68
+ end
@@ -0,0 +1,33 @@
1
+ module Joybox
2
+ module Configuration
3
+
4
+ class FileUtils < CCFileUtils
5
+
6
+ def self.default_configuration
7
+ {
8
+
9
+ enable_fallback_suffixes: false,
10
+ set_iphone_retina_display_suffix: "-hd",
11
+ set_ipad_suffix: "-ipad",
12
+ set_ipad_retina_display_suffix: "-ipadhd"
13
+
14
+ }
15
+ end
16
+
17
+
18
+ def self.configure(options = {})
19
+
20
+ options = options.nil? ? default_configuration : default_configuration.merge!(options)
21
+
22
+ file_utils = FileUtils.sharedFileUtils
23
+
24
+ file_utils.setEnableFallbackSuffixes(options[:enable_fallback_suffixes])
25
+ file_utils.setiPhoneRetinaDisplaySuffix(options[:set_iphone_retina_display_suffix])
26
+ file_utils.setiPadSuffix(options[:set_ipad_suffix])
27
+ file_utils.setiPadRetinaDisplaySuffix(options[:set_ipad_retina_display_suffix])
28
+ end
29
+
30
+ end
31
+
32
+ end
33
+ end
@@ -0,0 +1,44 @@
1
+ module Joybox
2
+ module Configuration
3
+
4
+ class GLView < CCGLView
5
+
6
+ def self.defaults
7
+ {
8
+
9
+ bounds: UIScreen.mainScreen.bounds,
10
+ pixel_format: KEAGLColorFormatRGB565,
11
+ depth_format: 0,
12
+ preserve_backbuffer: 0,
13
+ share_group: nil,
14
+ multi_sampling: false,
15
+ number_of_samples: 0
16
+ }
17
+ end
18
+
19
+
20
+ def self.new(options)
21
+
22
+ options = options.nil? ? defaults : defaults.merge!(options)
23
+
24
+ bounds = options[:bounds]
25
+
26
+ if bounds.class == Hash
27
+
28
+ bounds = [[bounds[:x], bounds[:y]], [bounds[:width], bounds[:height]]]
29
+ end
30
+
31
+
32
+ GLView.viewWithFrame(UIScreen.mainScreen.bounds,
33
+ pixelFormat: options[:pixel_format],
34
+ depthFormat: options[:depth_format],
35
+ preserveBackbuffer: options[:preserve_backbuffer],
36
+ sharegroup: options[:share_group],
37
+ multiSampling: options[:multi_sampling],
38
+ numberOfSamples: options[:number_of_samples])
39
+ end
40
+
41
+ end
42
+
43
+ end
44
+ end
@@ -0,0 +1,27 @@
1
+ module Joybox
2
+ module Configuration
3
+
4
+ class Texture2D < CCTexture2D
5
+
6
+ def self.default_configuration
7
+ {
8
+
9
+ default_alpha_pixel_format: KCCTexture2DPixelFormat_RGBA8888,
10
+ pvr_images_have_premultiplied_alpha: true
11
+
12
+ }
13
+ end
14
+
15
+
16
+ def self.configure(options = {})
17
+
18
+ options = options.nil? ? default_configuration : default_configuration.merge!(options)
19
+
20
+ defaultAlphaPixelFormat = options[:default_alpha_pixel_format]
21
+ PVRImagesHavePremultipliedAlpha(options[:pvr_images_have_premultiplied_alpha])
22
+ end
23
+
24
+ end
25
+
26
+ end
27
+ end