gamebox 0.3.4 → 0.4.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (184) hide show
  1. data/README.rdoc +38 -0
  2. data/Rakefile +1 -10
  3. data/TODO.txt +6 -6
  4. data/app_generators/gamebox_generator.rb +95 -0
  5. data/{lib/gamebox/templates/template_app → app_generators/templates}/.gitignore +0 -0
  6. data/app_generators/templates/Gemfile +7 -0
  7. data/app_generators/templates/NEXT_STEPS.txt +1 -0
  8. data/{lib/gamebox/templates/template_app/README → app_generators/templates/README.rdoc} +0 -0
  9. data/{lib/gamebox/templates/template_app → app_generators/templates}/Rakefile +0 -0
  10. data/{lib/gamebox/templates/template_app → app_generators/templates}/config/boot.rb +0 -0
  11. data/app_generators/templates/config/environment.rb +30 -0
  12. data/{lib/gamebox/templates/template_app → app_generators/templates}/config/game.yml +0 -0
  13. data/{lib/gamebox/templates/template_app → app_generators/templates}/data/fonts/FONTS_GO_HERE +0 -0
  14. data/{lib/gamebox/templates/template_app → app_generators/templates}/data/graphics/GRAPHICS_GO_HERE +0 -0
  15. data/{lib/gamebox/templates/template_app → app_generators/templates}/data/music/MUSIC_GOES_HERE +0 -0
  16. data/{lib/gamebox/templates/template_app → app_generators/templates}/data/sounds/SOUND_FX_GO_HERE +0 -0
  17. data/{lib/gamebox/templates → app_generators/templates/script}/actor.erb +0 -0
  18. data/{lib/gamebox/templates → app_generators/templates/script}/actor_spec.erb +0 -0
  19. data/{lib/gamebox/templates → app_generators/templates/script}/actor_view.erb +0 -0
  20. data/{lib/gamebox/templates → app_generators/templates/script}/actor_view_spec.erb +0 -0
  21. data/app_generators/templates/script/generate +12 -0
  22. data/{lib/gamebox/templates/template_app → app_generators/templates}/spec/helper.rb +0 -0
  23. data/app_generators/templates/src/actors/player.rb +8 -0
  24. data/{lib/gamebox/templates/template_app → app_generators/templates}/src/app.rb +0 -0
  25. data/app_generators/templates/src/demo_stage.rb +7 -0
  26. data/bin/gamebox +8 -70
  27. data/component_generators/actor_generator.rb +17 -0
  28. data/docs/CODE_REVIEW +1 -1
  29. data/docs/REFACTOR_NOTES.txt +25 -0
  30. data/docs/getting_started.rdoc +1 -1
  31. data/gamebox.gemspec +7 -4
  32. data/lib/gamebox.rb +6 -3
  33. data/lib/gamebox/actors/collidable_debugger.rb +13 -15
  34. data/lib/gamebox/actors/curtain.rb +44 -43
  35. data/lib/gamebox/actors/emitter.rb +3 -42
  36. data/lib/gamebox/actors/fps.rb +13 -6
  37. data/lib/gamebox/actors/label.rb +42 -34
  38. data/lib/gamebox/actors/logo.rb +2 -4
  39. data/lib/gamebox/actors/score.rb +37 -27
  40. data/lib/gamebox/actors/svg_actor.rb +45 -32
  41. data/lib/gamebox/behaviors/animated.rb +39 -59
  42. data/lib/gamebox/behaviors/audible.rb +14 -14
  43. data/lib/gamebox/behaviors/collidable.rb +65 -36
  44. data/lib/gamebox/behaviors/collidable/aabb_collidable.rb +2 -3
  45. data/lib/gamebox/behaviors/collidable/collidable_shape.rb +6 -4
  46. data/lib/gamebox/behaviors/collidable/polygon_collidable.rb +1 -1
  47. data/lib/gamebox/behaviors/emitting.rb +48 -0
  48. data/lib/gamebox/behaviors/graphical.rb +22 -56
  49. data/lib/gamebox/behaviors/layered.rb +8 -21
  50. data/lib/gamebox/behaviors/physical.rb +202 -213
  51. data/lib/gamebox/behaviors/positioned.rb +16 -0
  52. data/lib/gamebox/behaviors/projectile.rb +15 -0
  53. data/lib/gamebox/behaviors/visible.rb +16 -0
  54. data/lib/gamebox/core/aabb_helpers.rb +61 -0
  55. data/lib/gamebox/core/aabb_node.rb +118 -0
  56. data/lib/gamebox/core/aabb_tree.rb +137 -0
  57. data/lib/gamebox/core/actor.rb +102 -0
  58. data/lib/gamebox/core/actor_factory.rb +56 -0
  59. data/lib/gamebox/core/actor_view.rb +63 -0
  60. data/lib/gamebox/core/actor_view_factory.rb +40 -0
  61. data/lib/gamebox/{arbiter.rb → core/arbiter.rb} +31 -34
  62. data/lib/gamebox/{backstage.rb → core/backstage.rb} +0 -0
  63. data/lib/gamebox/core/behavior.rb +64 -0
  64. data/lib/gamebox/core/behavior_factory.rb +56 -0
  65. data/lib/gamebox/{class_finder.rb → core/class_finder.rb} +0 -0
  66. data/lib/gamebox/{config_manager.rb → core/config_manager.rb} +1 -1
  67. data/lib/gamebox/core/configuration.rb +39 -0
  68. data/lib/gamebox/core/core.rb +30 -0
  69. data/lib/gamebox/core/deprecated.rb +15 -0
  70. data/lib/gamebox/{director.rb → core/director.rb} +6 -11
  71. data/lib/gamebox/core/font_style.rb +26 -0
  72. data/lib/gamebox/core/font_style_factory.rb +11 -0
  73. data/lib/gamebox/core/game.rb +19 -0
  74. data/lib/gamebox/{hooked_gosu_window.rb → core/hooked_gosu_window.rb} +12 -6
  75. data/lib/gamebox/{input_manager.rb → core/input_manager.rb} +106 -99
  76. data/lib/gamebox/core/physics.rb +22 -0
  77. data/lib/gamebox/{physical_stage.rb → core/physics_manager.rb} +36 -30
  78. data/lib/gamebox/{resource_manager.rb → core/resource_manager.rb} +19 -18
  79. data/lib/gamebox/{sound_manager.rb → core/sound_manager.rb} +9 -7
  80. data/lib/gamebox/{stage.rb → core/stage.rb} +42 -80
  81. data/lib/gamebox/{stage_manager.rb → core/stage_manager.rb} +46 -53
  82. data/lib/gamebox/{stagehand.rb → core/stagehand.rb} +0 -0
  83. data/lib/gamebox/{svg_document.rb → core/svg_document.rb} +0 -0
  84. data/lib/gamebox/core/timer_manager.rb +50 -0
  85. data/lib/gamebox/{viewport.rb → core/viewport.rb} +2 -3
  86. data/lib/gamebox/{wrapped_screen.rb → core/wrapped_screen.rb} +12 -19
  87. data/lib/gamebox/gamebox_application.rb +7 -15
  88. data/lib/gamebox/lib/evented_attributes.rb +51 -0
  89. data/lib/gamebox/{ftor.rb → lib/ftor.rb} +0 -0
  90. data/lib/gamebox/lib/min_max_helpers.rb +10 -0
  91. data/lib/gamebox/lib/rect.rb +112 -54
  92. data/lib/gamebox/lib/yoda.rb +46 -0
  93. data/lib/gamebox/spec/helper.rb +317 -12
  94. data/lib/gamebox/stagehands/spatial_tree_stagehand.rb +61 -0
  95. data/lib/gamebox/version.rb +8 -3
  96. data/lib/gamebox/views/graphical_actor_view.rb +22 -29
  97. data/script/perf_aabb.rb +56 -0
  98. data/script/perf_array_access.rb +16 -0
  99. data/script/perf_collisions.rb +37 -18
  100. data/script/perf_struct_vs_array.rb +7 -7
  101. data/spec/acceptance/animation_spec.rb +65 -0
  102. data/spec/acceptance/basic_actor_lifecycle_spec.rb +92 -0
  103. data/spec/acceptance/built_in_collision_handling_spec.rb +55 -0
  104. data/spec/acceptance/chipmunk_collision_handling_spec.rb +83 -0
  105. data/spec/acceptance/fps_actor_spec.rb +40 -0
  106. data/spec/acceptance/pausing_spec.rb +61 -0
  107. data/spec/acceptance/timer_usage_spec.rb +53 -0
  108. data/spec/actors/emitter_spec.rb +5 -0
  109. data/spec/{label_spec.rb → actors/label_spec.rb} +1 -1
  110. data/spec/behaviors/animated_spec.rb +85 -0
  111. data/spec/behaviors/collidable_spec.rb +134 -0
  112. data/spec/{physical_spec.rb → behaviors/physical_spec.rb} +2 -1
  113. data/spec/behaviors/positioned_spec.rb +6 -0
  114. data/spec/behaviors/projectile_spec.rb +6 -0
  115. data/spec/core/aabb_tree_spec.rb +109 -0
  116. data/spec/core/actor_factory_spec.rb +44 -0
  117. data/spec/core/actor_spec.rb +78 -0
  118. data/spec/core/actor_view_spec.rb +53 -0
  119. data/spec/{arbiter_spec.rb → core/arbiter_spec.rb} +29 -30
  120. data/spec/core/backstage_spec.rb +37 -0
  121. data/spec/core/behavior_factory_spec.rb +50 -0
  122. data/spec/core/behavior_spec.rb +8 -0
  123. data/spec/core/configuration_spec.rb +8 -0
  124. data/spec/core/core_spec.rb +13 -0
  125. data/spec/core/font_style_factory_spec.rb +17 -0
  126. data/spec/core/font_style_spec.rb +41 -0
  127. data/spec/core/hooked_gosu_window_spec.rb +75 -0
  128. data/spec/core/input_manager_spec.rb +285 -0
  129. data/spec/core/physics_manager_spec.rb +11 -0
  130. data/spec/core/resource_manager_spec.rb +12 -0
  131. data/spec/core/stage_manager_spec.rb +140 -0
  132. data/spec/core/stage_spec.rb +73 -0
  133. data/spec/core/timer_manager_spec.rb +89 -0
  134. data/spec/{viewport_spec.rb → core/viewport_spec.rb} +6 -3
  135. data/spec/core/wrapped_screen_spec.rb +26 -0
  136. data/spec/fixtures/game.yml +7 -0
  137. data/spec/fixtures/snelpling/idle/1.png +0 -0
  138. data/spec/fixtures/snelpling/jump/1.png +0 -0
  139. data/spec/fixtures/snelpling/jump/2.png +0 -0
  140. data/spec/fixtures/snelpling/jump/3.png +0 -0
  141. data/spec/helper.rb +8 -0
  142. data/spec/{class_finder_spec.rb → lib/class_finder_spec.rb} +2 -1
  143. data/spec/stagehands/spatial_tree_stagehand_spec.rb +19 -0
  144. data/spec/views/graphical_actor_view_spec.rb +116 -0
  145. metadata +343 -144
  146. data/README.txt +0 -34
  147. data/lib/gamebox/actor.rb +0 -179
  148. data/lib/gamebox/actor_factory.rb +0 -57
  149. data/lib/gamebox/actor_view.rb +0 -44
  150. data/lib/gamebox/actors/spatial_debugger.rb +0 -62
  151. data/lib/gamebox/behavior.rb +0 -70
  152. data/lib/gamebox/behaviors/timed.rb +0 -33
  153. data/lib/gamebox/behaviors/updatable.rb +0 -12
  154. data/lib/gamebox/console_app.rb +0 -41
  155. data/lib/gamebox/gamebox_generator.rb +0 -32
  156. data/lib/gamebox/generators/actor_generator.rb +0 -43
  157. data/lib/gamebox/generators/view_generator.rb +0 -42
  158. data/lib/gamebox/physical_director.rb +0 -17
  159. data/lib/gamebox/physics.rb +0 -32
  160. data/lib/gamebox/spatial_bucket.rb +0 -9
  161. data/lib/gamebox/spatial_hash.rb +0 -194
  162. data/lib/gamebox/spatial_stagehand.rb +0 -80
  163. data/lib/gamebox/templates/template_app/Gemfile +0 -6
  164. data/lib/gamebox/templates/template_app/config/environment.rb +0 -23
  165. data/lib/gamebox/templates/template_app/config/stage_config.yml +0 -2
  166. data/lib/gamebox/templates/template_app/script/generate +0 -7
  167. data/lib/gamebox/templates/template_app/src/demo_stage.rb +0 -11
  168. data/lib/gamebox/templates/template_app/src/game.rb +0 -19
  169. data/lib/gamebox/templates/template_app/src/my_actor.rb +0 -14
  170. data/script/perf_spatial_hash.rb +0 -64
  171. data/spec/actor_factory_spec.rb +0 -61
  172. data/spec/actor_spec.rb +0 -71
  173. data/spec/actor_view_spec.rb +0 -61
  174. data/spec/animated_spec.rb +0 -83
  175. data/spec/backstage_spec.rb +0 -45
  176. data/spec/behavior_spec.rb +0 -28
  177. data/spec/collidable_spec.rb +0 -135
  178. data/spec/emitter_spec.rb +0 -20
  179. data/spec/input_manager_spec.rb +0 -134
  180. data/spec/resource_manager_spec.rb +0 -13
  181. data/spec/spatial_hash_spec.rb +0 -119
  182. data/spec/spatial_stagehand_spec.rb +0 -93
  183. data/spec/stage_manager_spec.rb +0 -25
  184. data/spec/stage_spec.rb +0 -65
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gamebox
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.4
5
- prerelease:
4
+ version: 0.4.0.rc1
5
+ prerelease: 6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Shawn Anderson
@@ -11,11 +11,11 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2011-12-16 00:00:00.000000000 Z
14
+ date: 2012-05-08 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: gosu
18
- requirement: &2156397840 !ruby/object:Gem::Requirement
18
+ requirement: !ruby/object:Gem::Requirement
19
19
  none: false
20
20
  requirements:
21
21
  - - ! '>='
@@ -23,10 +23,15 @@ dependencies:
23
23
  version: '0'
24
24
  type: :runtime
25
25
  prerelease: false
26
- version_requirements: *2156397840
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ none: false
28
+ requirements:
29
+ - - ! '>='
30
+ - !ruby/object:Gem::Version
31
+ version: '0'
27
32
  - !ruby/object:Gem::Dependency
28
- name: constructor
29
- requirement: &2156396840 !ruby/object:Gem::Requirement
33
+ name: publisher
34
+ requirement: !ruby/object:Gem::Requirement
30
35
  none: false
31
36
  requirements:
32
37
  - - ! '>='
@@ -34,21 +39,63 @@ dependencies:
34
39
  version: '0'
35
40
  type: :runtime
36
41
  prerelease: false
37
- version_requirements: *2156396840
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ none: false
44
+ requirements:
45
+ - - ! '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
38
48
  - !ruby/object:Gem::Dependency
39
- name: publisher
40
- requirement: &2156396060 !ruby/object:Gem::Requirement
49
+ name: conject
50
+ requirement: !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: 0.0.5
56
+ type: :runtime
57
+ prerelease: false
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - ! '>='
62
+ - !ruby/object:Gem::Version
63
+ version: 0.0.5
64
+ - !ruby/object:Gem::Dependency
65
+ name: tween
66
+ requirement: !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - ! '>='
70
+ - !ruby/object:Gem::Version
71
+ version: '0'
72
+ type: :runtime
73
+ prerelease: false
74
+ version_requirements: !ruby/object:Gem::Requirement
41
75
  none: false
42
76
  requirements:
43
77
  - - ! '>='
44
78
  - !ruby/object:Gem::Version
45
79
  version: '0'
80
+ - !ruby/object:Gem::Dependency
81
+ name: activesupport
82
+ requirement: !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - '='
86
+ - !ruby/object:Gem::Version
87
+ version: 3.0.0
46
88
  type: :runtime
47
89
  prerelease: false
48
- version_requirements: *2156396060
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ none: false
92
+ requirements:
93
+ - - '='
94
+ - !ruby/object:Gem::Version
95
+ version: 3.0.0
49
96
  - !ruby/object:Gem::Dependency
50
- name: diy
51
- requirement: &2156395600 !ruby/object:Gem::Requirement
97
+ name: i18n
98
+ requirement: !ruby/object:Gem::Requirement
52
99
  none: false
53
100
  requirements:
54
101
  - - ! '>='
@@ -56,10 +103,15 @@ dependencies:
56
103
  version: '0'
57
104
  type: :runtime
58
105
  prerelease: false
59
- version_requirements: *2156395600
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ! '>='
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
60
112
  - !ruby/object:Gem::Dependency
61
- name: tween
62
- requirement: &2156361740 !ruby/object:Gem::Requirement
113
+ name: rubigen
114
+ requirement: !ruby/object:Gem::Requirement
63
115
  none: false
64
116
  requirements:
65
117
  - - ! '>='
@@ -67,10 +119,15 @@ dependencies:
67
119
  version: '0'
68
120
  type: :runtime
69
121
  prerelease: false
70
- version_requirements: *2156361740
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ none: false
124
+ requirements:
125
+ - - ! '>='
126
+ - !ruby/object:Gem::Version
127
+ version: '0'
71
128
  - !ruby/object:Gem::Dependency
72
129
  name: require_all
73
- requirement: &2156361280 !ruby/object:Gem::Requirement
130
+ requirement: !ruby/object:Gem::Requirement
74
131
  none: false
75
132
  requirements:
76
133
  - - ! '>='
@@ -78,21 +135,31 @@ dependencies:
78
135
  version: '0'
79
136
  type: :runtime
80
137
  prerelease: false
81
- version_requirements: *2156361280
138
+ version_requirements: !ruby/object:Gem::Requirement
139
+ none: false
140
+ requirements:
141
+ - - ! '>='
142
+ - !ruby/object:Gem::Version
143
+ version: '0'
82
144
  - !ruby/object:Gem::Dependency
83
145
  name: kvo
84
- requirement: &2156360780 !ruby/object:Gem::Requirement
146
+ requirement: !ruby/object:Gem::Requirement
85
147
  none: false
86
148
  requirements:
87
149
  - - ! '>='
88
150
  - !ruby/object:Gem::Version
89
- version: '0'
151
+ version: 0.0.2
90
152
  type: :runtime
91
153
  prerelease: false
92
- version_requirements: *2156360780
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ none: false
156
+ requirements:
157
+ - - ! '>='
158
+ - !ruby/object:Gem::Version
159
+ version: 0.0.2
93
160
  - !ruby/object:Gem::Dependency
94
161
  name: pry
95
- requirement: &2156360160 !ruby/object:Gem::Requirement
162
+ requirement: !ruby/object:Gem::Requirement
96
163
  none: false
97
164
  requirements:
98
165
  - - ~>
@@ -100,10 +167,15 @@ dependencies:
100
167
  version: 0.9.7
101
168
  type: :development
102
169
  prerelease: false
103
- version_requirements: *2156360160
170
+ version_requirements: !ruby/object:Gem::Requirement
171
+ none: false
172
+ requirements:
173
+ - - ~>
174
+ - !ruby/object:Gem::Version
175
+ version: 0.9.7
104
176
  - !ruby/object:Gem::Dependency
105
177
  name: pry-remote
106
- requirement: &2156359700 !ruby/object:Gem::Requirement
178
+ requirement: !ruby/object:Gem::Requirement
107
179
  none: false
108
180
  requirements:
109
181
  - - ! '>='
@@ -111,10 +183,15 @@ dependencies:
111
183
  version: '0'
112
184
  type: :development
113
185
  prerelease: false
114
- version_requirements: *2156359700
186
+ version_requirements: !ruby/object:Gem::Requirement
187
+ none: false
188
+ requirements:
189
+ - - ! '>='
190
+ - !ruby/object:Gem::Version
191
+ version: '0'
115
192
  - !ruby/object:Gem::Dependency
116
193
  name: rspec-core
117
- requirement: &2156359180 !ruby/object:Gem::Requirement
194
+ requirement: !ruby/object:Gem::Requirement
118
195
  none: false
119
196
  requirements:
120
197
  - - ! '>='
@@ -122,10 +199,15 @@ dependencies:
122
199
  version: '0'
123
200
  type: :development
124
201
  prerelease: false
125
- version_requirements: *2156359180
202
+ version_requirements: !ruby/object:Gem::Requirement
203
+ none: false
204
+ requirements:
205
+ - - ! '>='
206
+ - !ruby/object:Gem::Version
207
+ version: '0'
126
208
  - !ruby/object:Gem::Dependency
127
209
  name: rspec-mocks
128
- requirement: &2156358640 !ruby/object:Gem::Requirement
210
+ requirement: !ruby/object:Gem::Requirement
129
211
  none: false
130
212
  requirements:
131
213
  - - ! '>='
@@ -133,10 +215,15 @@ dependencies:
133
215
  version: '0'
134
216
  type: :development
135
217
  prerelease: false
136
- version_requirements: *2156358640
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ none: false
220
+ requirements:
221
+ - - ! '>='
222
+ - !ruby/object:Gem::Version
223
+ version: '0'
137
224
  - !ruby/object:Gem::Dependency
138
225
  name: rspec-expectations
139
- requirement: &2156358200 !ruby/object:Gem::Requirement
226
+ requirement: !ruby/object:Gem::Requirement
140
227
  none: false
141
228
  requirements:
142
229
  - - ! '>='
@@ -144,10 +231,15 @@ dependencies:
144
231
  version: '0'
145
232
  type: :development
146
233
  prerelease: false
147
- version_requirements: *2156358200
234
+ version_requirements: !ruby/object:Gem::Requirement
235
+ none: false
236
+ requirements:
237
+ - - ! '>='
238
+ - !ruby/object:Gem::Version
239
+ version: '0'
148
240
  - !ruby/object:Gem::Dependency
149
241
  name: mocha
150
- requirement: &2156357720 !ruby/object:Gem::Requirement
242
+ requirement: !ruby/object:Gem::Requirement
151
243
  none: false
152
244
  requirements:
153
245
  - - ! '>='
@@ -155,10 +247,15 @@ dependencies:
155
247
  version: '0'
156
248
  type: :development
157
249
  prerelease: false
158
- version_requirements: *2156357720
250
+ version_requirements: !ruby/object:Gem::Requirement
251
+ none: false
252
+ requirements:
253
+ - - ! '>='
254
+ - !ruby/object:Gem::Version
255
+ version: '0'
159
256
  - !ruby/object:Gem::Dependency
160
257
  name: rspec
161
- requirement: &2156357240 !ruby/object:Gem::Requirement
258
+ requirement: !ruby/object:Gem::Requirement
162
259
  none: false
163
260
  requirements:
164
261
  - - ! '>='
@@ -166,10 +263,15 @@ dependencies:
166
263
  version: '0'
167
264
  type: :development
168
265
  prerelease: false
169
- version_requirements: *2156357240
266
+ version_requirements: !ruby/object:Gem::Requirement
267
+ none: false
268
+ requirements:
269
+ - - ! '>='
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
170
272
  - !ruby/object:Gem::Dependency
171
273
  name: rake
172
- requirement: &2156356720 !ruby/object:Gem::Requirement
274
+ requirement: !ruby/object:Gem::Requirement
173
275
  none: false
174
276
  requirements:
175
277
  - - ! '>='
@@ -177,10 +279,15 @@ dependencies:
177
279
  version: '0'
178
280
  type: :development
179
281
  prerelease: false
180
- version_requirements: *2156356720
282
+ version_requirements: !ruby/object:Gem::Requirement
283
+ none: false
284
+ requirements:
285
+ - - ! '>='
286
+ - !ruby/object:Gem::Version
287
+ version: '0'
181
288
  - !ruby/object:Gem::Dependency
182
289
  name: polaris
183
- requirement: &2156355960 !ruby/object:Gem::Requirement
290
+ requirement: !ruby/object:Gem::Requirement
184
291
  none: false
185
292
  requirements:
186
293
  - - ! '>='
@@ -188,7 +295,44 @@ dependencies:
188
295
  version: '0'
189
296
  type: :development
190
297
  prerelease: false
191
- version_requirements: *2156355960
298
+ version_requirements: !ruby/object:Gem::Requirement
299
+ none: false
300
+ requirements:
301
+ - - ! '>='
302
+ - !ruby/object:Gem::Version
303
+ version: '0'
304
+ - !ruby/object:Gem::Dependency
305
+ name: simplecov
306
+ requirement: !ruby/object:Gem::Requirement
307
+ none: false
308
+ requirements:
309
+ - - ! '>='
310
+ - !ruby/object:Gem::Version
311
+ version: '0'
312
+ type: :development
313
+ prerelease: false
314
+ version_requirements: !ruby/object:Gem::Requirement
315
+ none: false
316
+ requirements:
317
+ - - ! '>='
318
+ - !ruby/object:Gem::Version
319
+ version: '0'
320
+ - !ruby/object:Gem::Dependency
321
+ name: chipmunk
322
+ requirement: !ruby/object:Gem::Requirement
323
+ none: false
324
+ requirements:
325
+ - - ! '>='
326
+ - !ruby/object:Gem::Version
327
+ version: '0'
328
+ type: :development
329
+ prerelease: false
330
+ version_requirements: !ruby/object:Gem::Requirement
331
+ none: false
332
+ requirements:
333
+ - - ! '>='
334
+ - !ruby/object:Gem::Version
335
+ version: '0'
192
336
  description: Framework for building and distributing games using Gosu
193
337
  email: shawn42@gmail.com
194
338
  executables:
@@ -197,20 +341,41 @@ extensions: []
197
341
  extra_rdoc_files: []
198
342
  files:
199
343
  - Gemfile
200
- - README.txt
344
+ - README.rdoc
201
345
  - Rakefile
202
346
  - TODO.txt
347
+ - app_generators/gamebox_generator.rb
348
+ - app_generators/templates/.gitignore
349
+ - app_generators/templates/Gemfile
350
+ - app_generators/templates/NEXT_STEPS.txt
351
+ - app_generators/templates/README.rdoc
352
+ - app_generators/templates/Rakefile
353
+ - app_generators/templates/config/boot.rb
354
+ - app_generators/templates/config/environment.rb
355
+ - app_generators/templates/config/game.yml
356
+ - app_generators/templates/data/fonts/FONTS_GO_HERE
357
+ - app_generators/templates/data/graphics/GRAPHICS_GO_HERE
358
+ - app_generators/templates/data/music/MUSIC_GOES_HERE
359
+ - app_generators/templates/data/sounds/SOUND_FX_GO_HERE
360
+ - app_generators/templates/script/actor.erb
361
+ - app_generators/templates/script/actor_spec.erb
362
+ - app_generators/templates/script/actor_view.erb
363
+ - app_generators/templates/script/actor_view_spec.erb
364
+ - app_generators/templates/script/generate
365
+ - app_generators/templates/spec/helper.rb
366
+ - app_generators/templates/src/actors/player.rb
367
+ - app_generators/templates/src/app.rb
368
+ - app_generators/templates/src/demo_stage.rb
203
369
  - bin/gamebox
370
+ - component_generators/actor_generator.rb
204
371
  - docs/CODE_REVIEW
372
+ - docs/REFACTOR_NOTES.txt
205
373
  - docs/gamebox.bat
206
374
  - docs/getting_started.rdoc
207
375
  - docs/logo.ico
208
376
  - docs/logo.png
209
377
  - gamebox.gemspec
210
378
  - lib/gamebox.rb
211
- - lib/gamebox/actor.rb
212
- - lib/gamebox/actor_factory.rb
213
- - lib/gamebox/actor_view.rb
214
379
  - lib/gamebox/actors/collidable_debugger.rb
215
380
  - lib/gamebox/actors/curtain.rb
216
381
  - lib/gamebox/actors/emitter.rb
@@ -218,11 +383,7 @@ files:
218
383
  - lib/gamebox/actors/label.rb
219
384
  - lib/gamebox/actors/logo.rb
220
385
  - lib/gamebox/actors/score.rb
221
- - lib/gamebox/actors/spatial_debugger.rb
222
386
  - lib/gamebox/actors/svg_actor.rb
223
- - lib/gamebox/arbiter.rb
224
- - lib/gamebox/backstage.rb
225
- - lib/gamebox/behavior.rb
226
387
  - lib/gamebox/behaviors/animated.rb
227
388
  - lib/gamebox/behaviors/audible.rb
228
389
  - lib/gamebox/behaviors/collidable.rb
@@ -230,15 +391,47 @@ files:
230
391
  - lib/gamebox/behaviors/collidable/circle_collidable.rb
231
392
  - lib/gamebox/behaviors/collidable/collidable_shape.rb
232
393
  - lib/gamebox/behaviors/collidable/polygon_collidable.rb
394
+ - lib/gamebox/behaviors/emitting.rb
233
395
  - lib/gamebox/behaviors/graphical.rb
234
396
  - lib/gamebox/behaviors/layered.rb
235
397
  - lib/gamebox/behaviors/physical.rb
236
- - lib/gamebox/behaviors/timed.rb
237
- - lib/gamebox/behaviors/updatable.rb
238
- - lib/gamebox/class_finder.rb
239
- - lib/gamebox/config_manager.rb
240
- - lib/gamebox/console_app.rb
398
+ - lib/gamebox/behaviors/positioned.rb
399
+ - lib/gamebox/behaviors/projectile.rb
400
+ - lib/gamebox/behaviors/visible.rb
241
401
  - lib/gamebox/constants.rb
402
+ - lib/gamebox/core/aabb_helpers.rb
403
+ - lib/gamebox/core/aabb_node.rb
404
+ - lib/gamebox/core/aabb_tree.rb
405
+ - lib/gamebox/core/actor.rb
406
+ - lib/gamebox/core/actor_factory.rb
407
+ - lib/gamebox/core/actor_view.rb
408
+ - lib/gamebox/core/actor_view_factory.rb
409
+ - lib/gamebox/core/arbiter.rb
410
+ - lib/gamebox/core/backstage.rb
411
+ - lib/gamebox/core/behavior.rb
412
+ - lib/gamebox/core/behavior_factory.rb
413
+ - lib/gamebox/core/class_finder.rb
414
+ - lib/gamebox/core/config_manager.rb
415
+ - lib/gamebox/core/configuration.rb
416
+ - lib/gamebox/core/core.rb
417
+ - lib/gamebox/core/deprecated.rb
418
+ - lib/gamebox/core/director.rb
419
+ - lib/gamebox/core/font_style.rb
420
+ - lib/gamebox/core/font_style_factory.rb
421
+ - lib/gamebox/core/game.rb
422
+ - lib/gamebox/core/hooked_gosu_window.rb
423
+ - lib/gamebox/core/input_manager.rb
424
+ - lib/gamebox/core/physics.rb
425
+ - lib/gamebox/core/physics_manager.rb
426
+ - lib/gamebox/core/resource_manager.rb
427
+ - lib/gamebox/core/sound_manager.rb
428
+ - lib/gamebox/core/stage.rb
429
+ - lib/gamebox/core/stage_manager.rb
430
+ - lib/gamebox/core/stagehand.rb
431
+ - lib/gamebox/core/svg_document.rb
432
+ - lib/gamebox/core/timer_manager.rb
433
+ - lib/gamebox/core/viewport.rb
434
+ - lib/gamebox/core/wrapped_screen.rb
242
435
  - lib/gamebox/data/config/objects.yml
243
436
  - lib/gamebox/data/fonts/Asimov.ttf
244
437
  - lib/gamebox/data/fonts/GAMEBOX_FONTS_GO_HERE
@@ -246,91 +439,78 @@ files:
246
439
  - lib/gamebox/data/graphics/logo.png
247
440
  - lib/gamebox/data/music/GAMEBOX_MUSIC_GOES_HERE
248
441
  - lib/gamebox/data/sounds/GAMEBOX_SOUND_FX_GO_HERE
249
- - lib/gamebox/director.rb
250
- - lib/gamebox/ftor.rb
251
442
  - lib/gamebox/gamebox_application.rb
252
- - lib/gamebox/gamebox_generator.rb
253
- - lib/gamebox/generators/actor_generator.rb
254
- - lib/gamebox/generators/view_generator.rb
255
- - lib/gamebox/hooked_gosu_window.rb
256
- - lib/gamebox/input_manager.rb
257
443
  - lib/gamebox/lib/aliasing.rb
258
444
  - lib/gamebox/lib/code_statistics.rb
445
+ - lib/gamebox/lib/evented_attributes.rb
446
+ - lib/gamebox/lib/ftor.rb
259
447
  - lib/gamebox/lib/inflections.rb
260
448
  - lib/gamebox/lib/inflector.rb
261
449
  - lib/gamebox/lib/linked_list.rb
262
450
  - lib/gamebox/lib/metaclass.rb
451
+ - lib/gamebox/lib/min_max_helpers.rb
263
452
  - lib/gamebox/lib/platform.rb
264
453
  - lib/gamebox/lib/publisher_ext.rb
265
454
  - lib/gamebox/lib/range_ext.rb
266
455
  - lib/gamebox/lib/rect.rb
267
456
  - lib/gamebox/lib/sorted_list.rb
268
457
  - lib/gamebox/lib/symbol_ext.rb
269
- - lib/gamebox/physical_director.rb
270
- - lib/gamebox/physical_stage.rb
271
- - lib/gamebox/physics.rb
272
- - lib/gamebox/resource_manager.rb
273
- - lib/gamebox/sound_manager.rb
274
- - lib/gamebox/spatial_bucket.rb
275
- - lib/gamebox/spatial_hash.rb
276
- - lib/gamebox/spatial_stagehand.rb
458
+ - lib/gamebox/lib/yoda.rb
277
459
  - lib/gamebox/spec/helper.rb
278
- - lib/gamebox/stage.rb
279
- - lib/gamebox/stage_manager.rb
280
- - lib/gamebox/stagehand.rb
281
- - lib/gamebox/svg_document.rb
460
+ - lib/gamebox/stagehands/spatial_tree_stagehand.rb
282
461
  - lib/gamebox/tasks/gamebox_tasks.rake
283
- - lib/gamebox/templates/actor.erb
284
- - lib/gamebox/templates/actor_spec.erb
285
- - lib/gamebox/templates/actor_view.erb
286
- - lib/gamebox/templates/actor_view_spec.erb
287
- - lib/gamebox/templates/template_app/.gitignore
288
- - lib/gamebox/templates/template_app/Gemfile
289
- - lib/gamebox/templates/template_app/README
290
- - lib/gamebox/templates/template_app/Rakefile
291
- - lib/gamebox/templates/template_app/config/boot.rb
292
- - lib/gamebox/templates/template_app/config/environment.rb
293
- - lib/gamebox/templates/template_app/config/game.yml
294
- - lib/gamebox/templates/template_app/config/stage_config.yml
295
- - lib/gamebox/templates/template_app/data/fonts/FONTS_GO_HERE
296
- - lib/gamebox/templates/template_app/data/graphics/GRAPHICS_GO_HERE
297
- - lib/gamebox/templates/template_app/data/music/MUSIC_GOES_HERE
298
- - lib/gamebox/templates/template_app/data/sounds/SOUND_FX_GO_HERE
299
- - lib/gamebox/templates/template_app/script/generate
300
- - lib/gamebox/templates/template_app/spec/helper.rb
301
- - lib/gamebox/templates/template_app/src/app.rb
302
- - lib/gamebox/templates/template_app/src/demo_stage.rb
303
- - lib/gamebox/templates/template_app/src/game.rb
304
- - lib/gamebox/templates/template_app/src/my_actor.rb
305
462
  - lib/gamebox/version.rb
306
- - lib/gamebox/viewport.rb
307
463
  - lib/gamebox/views/graphical_actor_view.rb
308
- - lib/gamebox/wrapped_screen.rb
464
+ - script/perf_aabb.rb
465
+ - script/perf_array_access.rb
309
466
  - script/perf_collisions.rb
310
467
  - script/perf_drawables.rb
311
468
  - script/perf_polaris.rb
312
- - script/perf_spatial_hash.rb
313
469
  - script/perf_struct_vs_array.rb
314
- - spec/actor_factory_spec.rb
315
- - spec/actor_spec.rb
316
- - spec/actor_view_spec.rb
317
- - spec/animated_spec.rb
318
- - spec/arbiter_spec.rb
319
- - spec/backstage_spec.rb
320
- - spec/behavior_spec.rb
321
- - spec/class_finder_spec.rb
322
- - spec/collidable_spec.rb
323
- - spec/emitter_spec.rb
470
+ - spec/acceptance/animation_spec.rb
471
+ - spec/acceptance/basic_actor_lifecycle_spec.rb
472
+ - spec/acceptance/built_in_collision_handling_spec.rb
473
+ - spec/acceptance/chipmunk_collision_handling_spec.rb
474
+ - spec/acceptance/fps_actor_spec.rb
475
+ - spec/acceptance/pausing_spec.rb
476
+ - spec/acceptance/timer_usage_spec.rb
477
+ - spec/actors/emitter_spec.rb
478
+ - spec/actors/label_spec.rb
479
+ - spec/behaviors/animated_spec.rb
480
+ - spec/behaviors/collidable_spec.rb
481
+ - spec/behaviors/physical_spec.rb
482
+ - spec/behaviors/positioned_spec.rb
483
+ - spec/behaviors/projectile_spec.rb
484
+ - spec/core/aabb_tree_spec.rb
485
+ - spec/core/actor_factory_spec.rb
486
+ - spec/core/actor_spec.rb
487
+ - spec/core/actor_view_spec.rb
488
+ - spec/core/arbiter_spec.rb
489
+ - spec/core/backstage_spec.rb
490
+ - spec/core/behavior_factory_spec.rb
491
+ - spec/core/behavior_spec.rb
492
+ - spec/core/configuration_spec.rb
493
+ - spec/core/core_spec.rb
494
+ - spec/core/font_style_factory_spec.rb
495
+ - spec/core/font_style_spec.rb
496
+ - spec/core/hooked_gosu_window_spec.rb
497
+ - spec/core/input_manager_spec.rb
498
+ - spec/core/physics_manager_spec.rb
499
+ - spec/core/resource_manager_spec.rb
500
+ - spec/core/stage_manager_spec.rb
501
+ - spec/core/stage_spec.rb
502
+ - spec/core/timer_manager_spec.rb
503
+ - spec/core/viewport_spec.rb
504
+ - spec/core/wrapped_screen_spec.rb
505
+ - spec/fixtures/game.yml
506
+ - spec/fixtures/snelpling/idle/1.png
507
+ - spec/fixtures/snelpling/jump/1.png
508
+ - spec/fixtures/snelpling/jump/2.png
509
+ - spec/fixtures/snelpling/jump/3.png
324
510
  - spec/helper.rb
325
- - spec/input_manager_spec.rb
326
- - spec/label_spec.rb
327
- - spec/physical_spec.rb
328
- - spec/resource_manager_spec.rb
329
- - spec/spatial_hash_spec.rb
330
- - spec/spatial_stagehand_spec.rb
331
- - spec/stage_manager_spec.rb
332
- - spec/stage_spec.rb
333
- - spec/viewport_spec.rb
511
+ - spec/lib/class_finder_spec.rb
512
+ - spec/stagehands/spatial_tree_stagehand_spec.rb
513
+ - spec/views/graphical_actor_view_spec.rb
334
514
  homepage: http://shawn42.github.com/gamebox
335
515
  licenses: []
336
516
  post_install_message:
@@ -343,42 +523,61 @@ required_ruby_version: !ruby/object:Gem::Requirement
343
523
  - - ! '>='
344
524
  - !ruby/object:Gem::Version
345
525
  version: '0'
346
- segments:
347
- - 0
348
- hash: 2729294714925213419
349
526
  required_rubygems_version: !ruby/object:Gem::Requirement
350
527
  none: false
351
528
  requirements:
352
- - - ! '>='
529
+ - - ! '>'
353
530
  - !ruby/object:Gem::Version
354
- version: '0'
355
- segments:
356
- - 0
357
- hash: 2729294714925213419
531
+ version: 1.3.1
358
532
  requirements: []
359
533
  rubyforge_project: gamebox
360
- rubygems_version: 1.8.10
534
+ rubygems_version: 1.8.24
361
535
  signing_key:
362
536
  specification_version: 3
363
537
  summary: Framework for building and distributing games using Gosu
364
538
  test_files:
365
- - spec/actor_factory_spec.rb
366
- - spec/actor_spec.rb
367
- - spec/actor_view_spec.rb
368
- - spec/animated_spec.rb
369
- - spec/arbiter_spec.rb
370
- - spec/backstage_spec.rb
371
- - spec/behavior_spec.rb
372
- - spec/class_finder_spec.rb
373
- - spec/collidable_spec.rb
374
- - spec/emitter_spec.rb
539
+ - spec/acceptance/animation_spec.rb
540
+ - spec/acceptance/basic_actor_lifecycle_spec.rb
541
+ - spec/acceptance/built_in_collision_handling_spec.rb
542
+ - spec/acceptance/chipmunk_collision_handling_spec.rb
543
+ - spec/acceptance/fps_actor_spec.rb
544
+ - spec/acceptance/pausing_spec.rb
545
+ - spec/acceptance/timer_usage_spec.rb
546
+ - spec/actors/emitter_spec.rb
547
+ - spec/actors/label_spec.rb
548
+ - spec/behaviors/animated_spec.rb
549
+ - spec/behaviors/collidable_spec.rb
550
+ - spec/behaviors/physical_spec.rb
551
+ - spec/behaviors/positioned_spec.rb
552
+ - spec/behaviors/projectile_spec.rb
553
+ - spec/core/aabb_tree_spec.rb
554
+ - spec/core/actor_factory_spec.rb
555
+ - spec/core/actor_spec.rb
556
+ - spec/core/actor_view_spec.rb
557
+ - spec/core/arbiter_spec.rb
558
+ - spec/core/backstage_spec.rb
559
+ - spec/core/behavior_factory_spec.rb
560
+ - spec/core/behavior_spec.rb
561
+ - spec/core/configuration_spec.rb
562
+ - spec/core/core_spec.rb
563
+ - spec/core/font_style_factory_spec.rb
564
+ - spec/core/font_style_spec.rb
565
+ - spec/core/hooked_gosu_window_spec.rb
566
+ - spec/core/input_manager_spec.rb
567
+ - spec/core/physics_manager_spec.rb
568
+ - spec/core/resource_manager_spec.rb
569
+ - spec/core/stage_manager_spec.rb
570
+ - spec/core/stage_spec.rb
571
+ - spec/core/timer_manager_spec.rb
572
+ - spec/core/viewport_spec.rb
573
+ - spec/core/wrapped_screen_spec.rb
574
+ - spec/fixtures/game.yml
575
+ - spec/fixtures/snelpling/idle/1.png
576
+ - spec/fixtures/snelpling/jump/1.png
577
+ - spec/fixtures/snelpling/jump/2.png
578
+ - spec/fixtures/snelpling/jump/3.png
375
579
  - spec/helper.rb
376
- - spec/input_manager_spec.rb
377
- - spec/label_spec.rb
378
- - spec/physical_spec.rb
379
- - spec/resource_manager_spec.rb
380
- - spec/spatial_hash_spec.rb
381
- - spec/spatial_stagehand_spec.rb
382
- - spec/stage_manager_spec.rb
383
- - spec/stage_spec.rb
384
- - spec/viewport_spec.rb
580
+ - spec/lib/class_finder_spec.rb
581
+ - spec/stagehands/spatial_tree_stagehand_spec.rb
582
+ - spec/views/graphical_actor_view_spec.rb
583
+ has_rdoc: