shattered 0.5.0.1 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (223) hide show
  1. data/History.txt +6 -0
  2. data/INSTALL.txt +5 -0
  3. data/License.txt +18 -0
  4. data/Manifest.txt +175 -0
  5. data/README.txt +39 -0
  6. data/Rakefile +6 -0
  7. data/app_generators/actor/USAGE +6 -0
  8. data/app_generators/actor/actor_generator.rb +51 -0
  9. data/app_generators/actor/templates/actor.rb +4 -0
  10. data/app_generators/actor/templates/spec.rb +11 -0
  11. data/app_generators/actor/templates/unit_test.rb +9 -0
  12. data/app_generators/commands/console.rb +6 -0
  13. data/{lib/rails_generator/generators/applications/shattered_app → app_generators/shattered}/USAGE +1 -1
  14. data/app_generators/shattered/shattered_generator.rb +67 -0
  15. data/{lib → app_generators/shattered}/templates/Rakefile +4 -4
  16. data/app_generators/shattered/templates/configs/game.controls +16 -0
  17. data/app_generators/shattered/templates/configs/ogre_plugins.linux.cfg +12 -0
  18. data/app_generators/shattered/templates/configs/ogre_plugins.osx.cfg +12 -0
  19. data/{lib → app_generators/shattered}/templates/configs/ogre_plugins.windows.cfg +2 -2
  20. data/app_generators/shattered/templates/game.rb +50 -0
  21. data/{lib → app_generators/shattered}/templates/media/basic.rmaterial +0 -0
  22. data/app_generators/shattered/templates/spec/game_spec.rb +5 -0
  23. data/app_generators/shattered/templates/spec/spec_helper.rb +12 -0
  24. data/bin/shattered +39 -0
  25. data/config/hoe.rb +77 -0
  26. data/config/requirements.rb +15 -0
  27. data/lib/shattered.rb +40 -0
  28. data/lib/shattered_game/actor.rb +6 -0
  29. data/lib/shattered_game/game.rb +285 -0
  30. data/lib/{tasks → shattered_game/rake_tasks}/framework.rake +19 -24
  31. data/lib/{tasks → shattered_game/rake_tasks}/log.rake +0 -0
  32. data/lib/{tasks → shattered_game/rake_tasks}/misc.rake +1 -2
  33. data/lib/{tasks → shattered_game/rake_tasks}/pre_namespace_aliases.rake +0 -0
  34. data/lib/{tasks → shattered_game/rake_tasks}/shattered.rb +0 -0
  35. data/lib/shattered_game/rake_tasks/spec.rake +9 -0
  36. data/lib/{tasks → shattered_game/rake_tasks}/statistics.rake +0 -0
  37. data/lib/shattered_game/required.rb +2 -0
  38. data/lib/shattered_game/version.rb +9 -0
  39. data/lib/shattered_model/controls.rb +67 -0
  40. data/lib/shattered_model/input.rb +171 -0
  41. data/lib/shattered_model/key_converter.rb +44 -0
  42. data/lib/shattered_model/required.rb +4 -0
  43. data/lib/shattered_model/shattered_model.rb +28 -0
  44. data/lib/shattered_model/timed_event.rb +120 -0
  45. data/lib/shattered_model/timer.rb +78 -0
  46. data/lib/shattered_support/core_ext.rb +1 -0
  47. data/lib/shattered_support/core_ext/class.rb +3 -0
  48. data/lib/shattered_support/core_ext/class/attribute_accessors.rb +44 -0
  49. data/lib/shattered_support/core_ext/class/inheritable_attributes.rb +115 -0
  50. data/lib/shattered_support/core_ext/class/removal.rb +24 -0
  51. data/lib/shattered_support/core_ext/dir.rb +5 -0
  52. data/lib/shattered_support/core_ext/dir/search.rb +25 -0
  53. data/lib/shattered_support/core_ext/file.rb +5 -0
  54. data/lib/shattered_support/core_ext/file/search.rb +64 -0
  55. data/lib/shattered_support/core_ext/numeric.rb +5 -0
  56. data/lib/shattered_support/core_ext/numeric/time.rb +72 -0
  57. data/lib/shattered_support/core_ext/string.rb +13 -0
  58. data/lib/shattered_support/core_ext/string/access.rb +58 -0
  59. data/lib/shattered_support/core_ext/string/conversions.rb +19 -0
  60. data/lib/shattered_support/core_ext/string/inflections.rb +64 -0
  61. data/lib/shattered_support/core_ext/string/iterators.rb +17 -0
  62. data/lib/shattered_support/core_ext/string/starts_ends_with.rb +20 -0
  63. data/lib/shattered_support/error.rb +12 -0
  64. data/lib/shattered_support/inflections.rb +53 -0
  65. data/lib/shattered_support/inflector.rb +178 -0
  66. data/lib/shattered_support/pre_initialize.rb +153 -0
  67. data/lib/shattered_support/required.rb +9 -0
  68. data/lib/shattered_support/unload.rb +18 -0
  69. data/lib/shattered_view/camera.rb +7 -0
  70. data/lib/shattered_view/ogrerb/base.rb +28 -0
  71. data/lib/shattered_view/ogrerb/camera.rb +14 -0
  72. data/lib/shattered_view/ogrerb/key_manager.rb +54 -0
  73. data/lib/shattered_view/ogrerb/light.rb +25 -0
  74. data/lib/shattered_view/ogrerb/material.rb +5 -0
  75. data/lib/shattered_view/ogrerb/mesh_instance.rb +85 -0
  76. data/lib/shattered_view/ogrerb/mouse_manager.rb +109 -0
  77. data/lib/shattered_view/ogrerb/particle_system.rb +24 -0
  78. data/lib/shattered_view/ogrerb/rgb.rb +6 -0
  79. data/lib/shattered_view/ogrerb/rmaterial.rb +87 -0
  80. data/lib/shattered_view/ogrerb/scene_node.rb +76 -0
  81. data/lib/shattered_view/ogrerb/vector.rb +243 -0
  82. data/lib/shattered_view/ogrerb/window_event.rb +14 -0
  83. data/lib/shattered_view/resources.rb +64 -0
  84. data/lib/shattered_view/shattered_view.rb +248 -0
  85. data/script/destroy +14 -0
  86. data/script/generate +14 -0
  87. data/setup.rb +1585 -0
  88. data/tasks/deployment.rake +30 -0
  89. data/tasks/environment.rake +7 -0
  90. data/tasks/rcov.rake +7 -0
  91. data/tasks/testing.rake +46 -0
  92. data/tasks/website.rake +15 -0
  93. data/test/acceptance/Rakefile +10 -0
  94. data/test/acceptance/config/game.controls +17 -0
  95. data/test/acceptance/config/ogre_plugins.linux.cfg +12 -0
  96. data/test/acceptance/config/ogre_plugins.osx.cfg +12 -0
  97. data/test/acceptance/config/ogre_plugins.windows.cfg +14 -0
  98. data/test/acceptance/config/ogrerb_defaults.save +8 -0
  99. data/test/acceptance/game.rb +120 -0
  100. data/test/acceptance/lib/acceptance_test.rb +20 -0
  101. data/test/acceptance/lib/console.rb +54 -0
  102. data/test/acceptance/lib/input_test.rb +8 -0
  103. data/test/acceptance/lib/label.rb +30 -0
  104. data/test/acceptance/lib/light_test.rb +60 -0
  105. data/test/acceptance/lib/mesh_test.rb +69 -0
  106. data/test/acceptance/lib/particle_test.rb +9 -0
  107. data/test/acceptance/media/GreenSkin.jpg +0 -0
  108. data/test/acceptance/media/Ogre.material +86 -0
  109. data/test/acceptance/media/WeirdEye.png +0 -0
  110. data/test/acceptance/media/basic.rmaterial +18 -0
  111. data/test/acceptance/media/console.fontdef +7 -0
  112. data/test/acceptance/media/console.material +13 -0
  113. data/test/acceptance/media/console.png +0 -0
  114. data/test/acceptance/media/console.ttf +0 -0
  115. data/test/acceptance/media/dirt01.png +0 -0
  116. data/test/acceptance/media/fountain.material +19 -0
  117. data/test/acceptance/media/fountain.particle +40 -0
  118. data/test/acceptance/media/fountain.png +0 -0
  119. data/test/acceptance/media/fountaincolors.png +0 -0
  120. data/test/acceptance/media/ogre.mesh +0 -0
  121. data/test/acceptance/media/spheremap.png +0 -0
  122. data/test/acceptance/media/win.png +0 -0
  123. data/test/acceptance/spec/spec_helper.rb +7 -0
  124. data/test/integration/actor_generator_test.rb +43 -0
  125. data/test/integration/shattered_generator_test.rb +43 -0
  126. data/test/integration/test_helper.rb +20 -0
  127. data/test/ogre_test_defaults.save +8 -0
  128. data/test/ogre_test_plugins.linux.cfg +12 -0
  129. data/test/ogre_test_plugins.osx.cfg +12 -0
  130. data/test/ogre_test_plugins.windows.cfg +14 -0
  131. data/test/test_helper.rb +109 -0
  132. data/test/unit/shattered_game/actor_test.rb +9 -0
  133. data/test/unit/shattered_game/game_test.rb +49 -0
  134. data/test/unit/shattered_game/runner_test.rb +56 -0
  135. data/test/unit/shattered_model/controls/mouse.controls +4 -0
  136. data/test/unit/shattered_model/controls/player.controls +4 -0
  137. data/test/unit/shattered_model/controls/too_many_delims.controls +1 -0
  138. data/test/unit/shattered_model/key_controls_test.rb +89 -0
  139. data/test/unit/shattered_model/key_converter_test.rb +37 -0
  140. data/test/unit/shattered_model/keyboard_input_test.rb +32 -0
  141. data/test/unit/shattered_model/mouse_controls_test.rb +50 -0
  142. data/test/unit/shattered_model/mouse_input_test.rb +61 -0
  143. data/test/unit/shattered_model/shattered_model_test.rb +117 -0
  144. data/test/unit/shattered_model/timed_event_test.rb +79 -0
  145. data/test/unit/shattered_model/timer_test.rb +325 -0
  146. data/{lib/rails_generator/generators/components/actor/templates/actor.rb → test/unit/shattered_support/directory_test/file.test} +0 -0
  147. data/test/unit/shattered_support/numeric_ext_test.rb +38 -0
  148. data/test/unit/shattered_support/pre_initialize_test.rb +63 -0
  149. data/test/unit/shattered_support/shattered_support_test.rb +39 -0
  150. data/test/unit/shattered_support/unload_test.rb +17 -0
  151. data/test/unit/shattered_view/light_test.rb +38 -0
  152. data/test/unit/shattered_view/material_test.rb +41 -0
  153. data/test/unit/shattered_view/media_test/basic.rmaterial +18 -0
  154. data/{lib/templates/configs/empty.log → test/unit/shattered_view/media_test/beltch.ogg} +0 -0
  155. data/test/unit/shattered_view/media_test/test.mesh +0 -0
  156. data/test/unit/shattered_view/mesh_test.rb +59 -0
  157. data/test/unit/shattered_view/node_test.rb +11 -0
  158. data/test/unit/shattered_view/ogrerb/camera_test.rb +12 -0
  159. data/test/unit/shattered_view/ogrerb/key_manager_test.rb +42 -0
  160. data/test/unit/shattered_view/ogrerb/media/basic.rmaterial +18 -0
  161. data/test/unit/shattered_view/ogrerb/media/test.mesh +0 -0
  162. data/test/unit/shattered_view/ogrerb/media/test.rmaterial +1 -0
  163. data/test/unit/shattered_view/ogrerb/mesh_instance_test.rb +74 -0
  164. data/test/unit/shattered_view/ogrerb/mouse_manager_test.rb +104 -0
  165. data/test/unit/shattered_view/ogrerb/ogrerb.log +51 -0
  166. data/test/unit/shattered_view/ogrerb/resolve_ogrerb_test.rb +13 -0
  167. data/test/unit/shattered_view/ogrerb/rgb_test.rb +10 -0
  168. data/test/unit/shattered_view/ogrerb/rmaterial_test.rb +28 -0
  169. data/test/unit/shattered_view/ogrerb/scene_type_test.rb +12 -0
  170. data/test/unit/shattered_view/ogrerb/vector_test.rb +206 -0
  171. data/test/unit/shattered_view/particle_test.rb +23 -0
  172. data/test/unit/shattered_view/resources_test.rb +45 -0
  173. data/test/unit/shattered_view/test_helper.rb +1 -0
  174. data/test/unit/shattered_view/window_event_test.rb +19 -0
  175. data/test/unit/test_helper.rb +1 -0
  176. metadata +205 -121
  177. data/bin/console +0 -4
  178. data/bin/destroy +0 -9
  179. data/bin/generate +0 -7
  180. data/bin/runner +0 -9
  181. data/bin/shatter +0 -22
  182. data/lib/commands/console.rb +0 -23
  183. data/lib/game_loader.rb +0 -118
  184. data/lib/rails_generator.rb +0 -43
  185. data/lib/rails_generator/base.rb +0 -203
  186. data/lib/rails_generator/commands.rb +0 -519
  187. data/lib/rails_generator/generators/applications/shattered_app/shattered_app_generator.rb +0 -103
  188. data/lib/rails_generator/generators/components/actor/actor_generator.rb +0 -22
  189. data/lib/rails_generator/generators/components/model/USAGE +0 -17
  190. data/lib/rails_generator/generators/components/model/model_generator.rb +0 -22
  191. data/lib/rails_generator/generators/components/model/templates/fixtures.yml +0 -5
  192. data/lib/rails_generator/generators/components/model/templates/model.rb +0 -2
  193. data/lib/rails_generator/generators/components/model/templates/unit_test.rb +0 -11
  194. data/lib/rails_generator/generators/components/state/USAGE +0 -30
  195. data/lib/rails_generator/generators/components/state/state_generator.rb +0 -19
  196. data/lib/rails_generator/generators/components/state/templates/state.rb +0 -20
  197. data/lib/rails_generator/generators/components/view/USAGE +0 -30
  198. data/lib/rails_generator/generators/components/view/templates/material +0 -4
  199. data/lib/rails_generator/generators/components/view/templates/view.rb +0 -7
  200. data/lib/rails_generator/generators/components/view/view_generator.rb +0 -28
  201. data/lib/rails_generator/lookup.rb +0 -209
  202. data/lib/rails_generator/manifest.rb +0 -53
  203. data/lib/rails_generator/options.rb +0 -143
  204. data/lib/rails_generator/scripts.rb +0 -83
  205. data/lib/rails_generator/scripts/destroy.rb +0 -7
  206. data/lib/rails_generator/scripts/generate.rb +0 -7
  207. data/lib/rails_generator/scripts/update.rb +0 -12
  208. data/lib/rails_generator/simple_logger.rb +0 -46
  209. data/lib/rails_generator/spec.rb +0 -44
  210. data/lib/shatter.rb +0 -7
  211. data/lib/tasks/documentation.rake +0 -46
  212. data/lib/tasks/testing.rake +0 -102
  213. data/lib/templates/MIT-LICENSE +0 -20
  214. data/lib/templates/README +0 -35
  215. data/lib/templates/configs/boot.rb +0 -35
  216. data/lib/templates/configs/ogre.cfg +0 -4
  217. data/lib/templates/configs/runner.rb +0 -5
  218. data/lib/templates/doc/README_FOR_APP +0 -2
  219. data/lib/templates/environments/environment.rb +0 -10
  220. data/lib/templates/media/default.mesh +0 -0
  221. data/lib/templates/media/default.png +0 -0
  222. data/lib/templates/media/offset_map.rmaterial +0 -117
  223. data/lib/templates/test/test_helper.rb +0 -5
@@ -0,0 +1,6 @@
1
+ == 0.6 Shattered Light
2
+
3
+ * 3 major enhancements:
4
+ * Moved to newgem structure.
5
+ * ogre.rb is now a gem dependency.
6
+ * Reduced scope!
@@ -0,0 +1,5 @@
1
+ Installing shattered light by source
2
+ ===
3
+ 1. svn co http://svn.shatteredruby.com/branches/shattered_light
4
+ 2. Build ogrerb and oisrb in the vendor/ogrerb directory.
5
+ 3. Run 'rake test' in the shattered directory. Everything should work at this point.
@@ -0,0 +1,18 @@
1
+ Shattered Ruby is released under the LGPL with an OUL option.
2
+
3
+ See here for details:
4
+
5
+ http://www.ogre3d.org/index.php?option=com_content&task=view&id=15&Itemid=65
6
+
7
+ *Ripped from OGRE, but pertains to Shattered Ruby as well*
8
+ LGPL
9
+ Shattered's default license is the GNU Lesser Public License (LGPL). This basically means that you can get the full source code for nothing, nada, zip. There is such a thing as a free lunch.
10
+
11
+ Under the LGPL you may use Ogre for any purpose you wish, as long as you:
12
+
13
+ Release any modifications to the Shattered source back to the community
14
+ Pass on the source to Ogre with all the copyrights intact, or link back to a place where the source code can be obtained (e.g. this site)
15
+ Make it clear where you have customised it.
16
+ The above is a precis, please do read the full license agreement.
17
+
18
+ A common question is 'can I create commercial applications using Shattered under the LGPL'? The answer is an emphatic yes, provided you adhere to the license conditions, summarised above. Whilst we do make an alternative license available to those who specifically need it, it is not the case that you need this alternative license for commercial work.
@@ -0,0 +1,175 @@
1
+ History.txt
2
+ INSTALL.txt
3
+ License.txt
4
+ Manifest.txt
5
+ README.txt
6
+ Rakefile
7
+ app_generators/actor/USAGE
8
+ app_generators/actor/actor_generator.rb
9
+ app_generators/actor/templates/actor.rb
10
+ app_generators/actor/templates/spec.rb
11
+ app_generators/actor/templates/unit_test.rb
12
+ app_generators/commands/console.rb
13
+ app_generators/shattered/USAGE
14
+ app_generators/shattered/shattered_generator.rb
15
+ app_generators/shattered/templates/Rakefile
16
+ app_generators/shattered/templates/configs/game.controls
17
+ app_generators/shattered/templates/configs/ogre_plugins.linux.cfg
18
+ app_generators/shattered/templates/configs/ogre_plugins.osx.cfg
19
+ app_generators/shattered/templates/configs/ogre_plugins.windows.cfg
20
+ app_generators/shattered/templates/game.rb
21
+ app_generators/shattered/templates/media/basic.rmaterial
22
+ app_generators/shattered/templates/spec/spec_helper.rb
23
+ app_generators/shattered/templates/spec/game_spec.rb
24
+ bin/shattered
25
+ config/hoe.rb
26
+ config/requirements.rb
27
+ lib/shattered.rb
28
+ lib/shattered_game/actor.rb
29
+ lib/shattered_game/game.rb
30
+ lib/shattered_game/rake_tasks/framework.rake
31
+ lib/shattered_game/rake_tasks/log.rake
32
+ lib/shattered_game/rake_tasks/misc.rake
33
+ lib/shattered_game/rake_tasks/pre_namespace_aliases.rake
34
+ lib/shattered_game/rake_tasks/shattered.rb
35
+ lib/shattered_game/rake_tasks/spec.rake
36
+ lib/shattered_game/rake_tasks/statistics.rake
37
+ lib/shattered_game/required.rb
38
+ lib/shattered_game/version.rb
39
+ lib/shattered_model/controls.rb
40
+ lib/shattered_model/input.rb
41
+ lib/shattered_model/key_converter.rb
42
+ lib/shattered_model/required.rb
43
+ lib/shattered_model/shattered_model.rb
44
+ lib/shattered_model/timed_event.rb
45
+ lib/shattered_model/timer.rb
46
+ lib/shattered_support/core_ext.rb
47
+ lib/shattered_support/core_ext/class.rb
48
+ lib/shattered_support/core_ext/class/attribute_accessors.rb
49
+ lib/shattered_support/core_ext/class/inheritable_attributes.rb
50
+ lib/shattered_support/core_ext/class/removal.rb
51
+ lib/shattered_support/core_ext/dir.rb
52
+ lib/shattered_support/core_ext/dir/search.rb
53
+ lib/shattered_support/core_ext/file.rb
54
+ lib/shattered_support/core_ext/file/search.rb
55
+ lib/shattered_support/core_ext/numeric.rb
56
+ lib/shattered_support/core_ext/numeric/time.rb
57
+ lib/shattered_support/core_ext/string.rb
58
+ lib/shattered_support/core_ext/string/access.rb
59
+ lib/shattered_support/core_ext/string/conversions.rb
60
+ lib/shattered_support/core_ext/string/inflections.rb
61
+ lib/shattered_support/core_ext/string/iterators.rb
62
+ lib/shattered_support/core_ext/string/starts_ends_with.rb
63
+ lib/shattered_support/error.rb
64
+ lib/shattered_support/inflections.rb
65
+ lib/shattered_support/inflector.rb
66
+ lib/shattered_support/pre_initialize.rb
67
+ lib/shattered_support/required.rb
68
+ lib/shattered_support/unload.rb
69
+ lib/shattered_view/camera.rb
70
+ lib/shattered_view/ogrerb/base.rb
71
+ lib/shattered_view/ogrerb/camera.rb
72
+ lib/shattered_view/ogrerb/key_manager.rb
73
+ lib/shattered_view/ogrerb/light.rb
74
+ lib/shattered_view/ogrerb/material.rb
75
+ lib/shattered_view/ogrerb/mesh_instance.rb
76
+ lib/shattered_view/ogrerb/mouse_manager.rb
77
+ lib/shattered_view/ogrerb/particle_system.rb
78
+ lib/shattered_view/ogrerb/rgb.rb
79
+ lib/shattered_view/ogrerb/rmaterial.rb
80
+ lib/shattered_view/ogrerb/scene_node.rb
81
+ lib/shattered_view/ogrerb/vector.rb
82
+ lib/shattered_view/ogrerb/window_event.rb
83
+ lib/shattered_view/resources.rb
84
+ lib/shattered_view/shattered_view.rb
85
+ script/destroy
86
+ script/generate
87
+ setup.rb
88
+ tasks/deployment.rake
89
+ tasks/environment.rake
90
+ tasks/rcov.rake
91
+ tasks/testing.rake
92
+ tasks/website.rake
93
+ test/acceptance/Rakefile
94
+ test/acceptance/config/game.controls
95
+ test/acceptance/config/ogre_plugins.linux.cfg
96
+ test/acceptance/config/ogre_plugins.osx.cfg
97
+ test/acceptance/config/ogre_plugins.windows.cfg
98
+ test/acceptance/config/ogrerb_defaults.save
99
+ test/acceptance/game.rb
100
+ test/acceptance/lib/acceptance_test.rb
101
+ test/acceptance/lib/console.rb
102
+ test/acceptance/lib/input_test.rb
103
+ test/acceptance/lib/label.rb
104
+ test/acceptance/lib/light_test.rb
105
+ test/acceptance/lib/mesh_test.rb
106
+ test/acceptance/lib/particle_test.rb
107
+ test/acceptance/media/GreenSkin.jpg
108
+ test/acceptance/media/Ogre.material
109
+ test/acceptance/media/WeirdEye.png
110
+ test/acceptance/media/basic.rmaterial
111
+ test/acceptance/media/console.fontdef
112
+ test/acceptance/media/console.material
113
+ test/acceptance/media/console.png
114
+ test/acceptance/media/console.ttf
115
+ test/acceptance/media/dirt01.png
116
+ test/acceptance/media/fountain.material
117
+ test/acceptance/media/fountain.particle
118
+ test/acceptance/media/fountain.png
119
+ test/acceptance/media/fountaincolors.png
120
+ test/acceptance/media/ogre.mesh
121
+ test/acceptance/media/spheremap.png
122
+ test/acceptance/media/win.png
123
+ test/acceptance/spec/spec_helper.rb
124
+ test/integration/actor_generator_test.rb
125
+ test/integration/shattered_generator_test.rb
126
+ test/integration/test_helper.rb
127
+ test/ogre_test_defaults.save
128
+ test/ogre_test_plugins.linux.cfg
129
+ test/ogre_test_plugins.osx.cfg
130
+ test/ogre_test_plugins.windows.cfg
131
+ test/test_helper.rb
132
+ test/unit/shattered_game/actor_test.rb
133
+ test/unit/shattered_game/game_test.rb
134
+ test/unit/shattered_game/runner_test.rb
135
+ test/unit/shattered_model/controls/mouse.controls
136
+ test/unit/shattered_model/controls/player.controls
137
+ test/unit/shattered_model/controls/too_many_delims.controls
138
+ test/unit/shattered_model/key_controls_test.rb
139
+ test/unit/shattered_model/key_converter_test.rb
140
+ test/unit/shattered_model/keyboard_input_test.rb
141
+ test/unit/shattered_model/mouse_controls_test.rb
142
+ test/unit/shattered_model/mouse_input_test.rb
143
+ test/unit/shattered_model/shattered_model_test.rb
144
+ test/unit/shattered_model/timed_event_test.rb
145
+ test/unit/shattered_model/timer_test.rb
146
+ test/unit/shattered_support/directory_test/file.test
147
+ test/unit/shattered_support/numeric_ext_test.rb
148
+ test/unit/shattered_support/pre_initialize_test.rb
149
+ test/unit/shattered_support/shattered_support_test.rb
150
+ test/unit/shattered_support/unload_test.rb
151
+ test/unit/shattered_view/light_test.rb
152
+ test/unit/shattered_view/material_test.rb
153
+ test/unit/shattered_view/media_test/basic.rmaterial
154
+ test/unit/shattered_view/media_test/beltch.ogg
155
+ test/unit/shattered_view/media_test/test.mesh
156
+ test/unit/shattered_view/mesh_test.rb
157
+ test/unit/shattered_view/node_test.rb
158
+ test/unit/shattered_view/ogrerb/camera_test.rb
159
+ test/unit/shattered_view/ogrerb/key_manager_test.rb
160
+ test/unit/shattered_view/ogrerb/media/basic.rmaterial
161
+ test/unit/shattered_view/ogrerb/media/test.mesh
162
+ test/unit/shattered_view/ogrerb/media/test.rmaterial
163
+ test/unit/shattered_view/ogrerb/mesh_instance_test.rb
164
+ test/unit/shattered_view/ogrerb/mouse_manager_test.rb
165
+ test/unit/shattered_view/ogrerb/ogrerb.log
166
+ test/unit/shattered_view/ogrerb/resolve_ogrerb_test.rb
167
+ test/unit/shattered_view/ogrerb/rgb_test.rb
168
+ test/unit/shattered_view/ogrerb/rmaterial_test.rb
169
+ test/unit/shattered_view/ogrerb/scene_type_test.rb
170
+ test/unit/shattered_view/ogrerb/vector_test.rb
171
+ test/unit/shattered_view/particle_test.rb
172
+ test/unit/shattered_view/resources_test.rb
173
+ test/unit/shattered_view/test_helper.rb
174
+ test/unit/shattered_view/window_event_test.rb
175
+ test/unit/test_helper.rb
@@ -0,0 +1,39 @@
1
+ = Shattered Light
2
+
3
+ * http://www.shatteredruby.com
4
+
5
+ == DESCRIPTION:
6
+
7
+ Shattered Light is a 3D game framework built on ogre.rb. It generates the skeleton of your game and provides easy to use interfaces to input/graphical components of your game.
8
+
9
+ == FEATURES/PROBLEMS:
10
+
11
+ * Able to generate a basic framework for your 3d application
12
+ * A plugin architecture that allows for things like physics, sound, ai, whatever you can imagine
13
+ * Memory efficient and fast
14
+ * Mouse/Keyboard control system
15
+ * DSL for many common tasks
16
+ * Many, many more
17
+
18
+ There are currently no known issues, but please report any that you find.
19
+
20
+ == SYNOPSIS:
21
+
22
+ shattered setup my_game
23
+ cd my_game
24
+ ruby game.rb
25
+
26
+ For more information, visit shatteredruby.com
27
+
28
+ == REQUIREMENTS:
29
+
30
+ Shattered has been tested on Mac, Windows XP and Linux.
31
+ It requires a video card that can do 3d acceleration.
32
+ If you'd like to use the shaders you'll probably need support for them as well.
33
+
34
+ == INSTALL:
35
+
36
+ sudo gem install shattered
37
+
38
+ Note: You can then test your installation with:
39
+ shattered test
@@ -0,0 +1,6 @@
1
+ require 'config/requirements'
2
+ require 'config/hoe' # setup Hoe + all gem configuration
3
+
4
+ Dir['tasks/**/*.rake'].each do |rakefile|
5
+ load rakefile
6
+ end
@@ -0,0 +1,6 @@
1
+ Description:
2
+ The 'actor' command creates a simple spec and object based off of actor.
3
+
4
+ Usage:
5
+ shattered actor <actorname>
6
+
@@ -0,0 +1,51 @@
1
+ require 'rbconfig'
2
+
3
+ class ActorGenerator < RubiGen::Base #:nodoc:all
4
+ DEFAULT_SHEBANG = File.join(Config::CONFIG['bindir'],
5
+ Config::CONFIG['ruby_install_name'])
6
+
7
+ default_options :gem => true, :shebang => DEFAULT_SHEBANG
8
+ attr_reader :class_name, :file_name
9
+
10
+ def initialize(runtime_args, runtime_options = {})
11
+ super
12
+ usage if args.empty?
13
+ @destination_root = "."
14
+ @class_name = args.shift.camelize
15
+ @file_name = @class_name.underscore
16
+ end
17
+ def manifest
18
+ script_options = { :chmod => 0755, :shebang => options[:shebang] }
19
+
20
+ record do |m|
21
+ # Root directory and all subdirectories.
22
+ BASEDIRS.each { |path| m.directory path }
23
+
24
+ # Controller class, functional test, and helper class.
25
+ m.template 'actor.rb', "lib/#{file_name}.rb"
26
+
27
+ # Model class, unit test, and fixtures.
28
+ m.template 'spec.rb', "spec/#{file_name}_spec.rb"
29
+ end
30
+ end
31
+
32
+
33
+ protected
34
+ def banner
35
+ "Usage: #{$0} /path/to/your/app [options]"
36
+ end
37
+
38
+ def add_options(opt)
39
+ opt.separator ''
40
+ opt.separator 'Options:'
41
+ opt.on("--ruby [#{DEFAULT_SHEBANG}]",
42
+ "Path to the Ruby binary of your choice.") { |options[:shebang]| }
43
+ end
44
+
45
+ # Installation skeleton. Intermediate directories are automatically
46
+ # created so don't sweat their absence here.
47
+ BASEDIRS = %w(
48
+ lib
49
+ spec
50
+ )
51
+ end
@@ -0,0 +1,4 @@
1
+ class <%= class_name %> < Shattered::Actor
2
+ def initialize
3
+ end
4
+ end
@@ -0,0 +1,11 @@
1
+ require File.dirname(__FILE__) + '/spec_helper.rb'
2
+
3
+ # Time to add your specs!
4
+ # http://rspec.rubyforge.org/
5
+ describe "Place your specs here" do
6
+
7
+ it "find this spec in spec directory" do
8
+ violated "Be sure to write your specs"
9
+ end
10
+
11
+ end
@@ -0,0 +1,9 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+
3
+ describe <%= class_name %> do
4
+ describe "()" do
5
+ it "should ..." do
6
+ # Add your specs.
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,6 @@
1
+ irb = RUBY_PLATFORM =~ /mswin32/ ? 'irb.bat' : 'irb'
2
+
3
+ libs = " -r irb/completion"
4
+ libs << " -r game"
5
+
6
+ exec "#{irb} #{libs} --simple-prompt"
@@ -2,7 +2,7 @@ Description:
2
2
  The 'shatter' command creates a new Shattered application with a default
3
3
  directory structure and configuration at the path you specify.
4
4
 
5
- Example:
5
+ Usage:
6
6
  shatter ~/Code/Ruby/Quake15
7
7
 
8
8
  This will create a skeletal Shattered application for the next version of
@@ -0,0 +1,67 @@
1
+ require 'rbconfig'
2
+
3
+ class ShatteredGenerator < RubiGen::Base #:nodoc:all
4
+ DEFAULT_SHEBANG = File.join(Config::CONFIG['bindir'],
5
+ Config::CONFIG['ruby_install_name'])
6
+
7
+ default_options :gem => true, :shebang => DEFAULT_SHEBANG
8
+
9
+ def initialize(runtime_args, runtime_options = {})
10
+ super
11
+ usage if args.empty?
12
+ @destination_root = args.shift
13
+ end
14
+
15
+ def manifest
16
+ script_options = { :chmod => 0755, :shebang => options[:shebang] }
17
+
18
+ record do |m|
19
+ # Root directory and all subdirectories.
20
+ BASEDIRS.each { |path| m.directory path }
21
+
22
+ # Main game
23
+ m.file "game.rb", "game.rb"
24
+
25
+ # Root
26
+ m.file "Rakefile", "Rakefile"
27
+
28
+ # ogre plugins and configuration
29
+ m.file "configs/ogre_plugins.windows.cfg", "config/ogre_plugins.windows.cfg"
30
+ m.file "configs/ogre_plugins.osx.cfg", "config/ogre_plugins.osx.cfg"
31
+ m.file "configs/ogre_plugins.linux.cfg", "config/ogre_plugins.linux.cfg"
32
+
33
+ # basic keymap
34
+ m.file "configs/game.controls", "config/game.controls"
35
+
36
+ # basic rmaterial
37
+ m.file "media/basic.rmaterial", "media/basic.rmaterial"
38
+
39
+ # Specing
40
+ m.file "spec/spec_helper.rb", "spec/spec_helper.rb"
41
+ m.file "spec/game_spec.rb", "spec/game_spec.rb"
42
+ end
43
+ end
44
+
45
+ protected
46
+ def banner
47
+ "Usage: #{$0} /path/to/your/app [options]"
48
+ end
49
+
50
+ def add_options(opt)
51
+ opt.separator ''
52
+ opt.separator 'Options:'
53
+ opt.on("--ruby [#{DEFAULT_SHEBANG}]",
54
+ "Path to the Ruby binary of your choice.") { |options[:shebang]| }
55
+ end
56
+
57
+ # Installation skeleton. Intermediate directories are automatically
58
+ # created so don't sweat their absence here.
59
+ BASEDIRS = %w(
60
+ lib
61
+ media
62
+ config
63
+ log
64
+ vendor/plugins
65
+ spec
66
+ )
67
+ end
@@ -1,11 +1,11 @@
1
1
  # Add your own tasks in files placed in lib/tasks ending in .rake,
2
2
  # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
3
  # Or in plugins/*/tasks/**/*.rake
4
- require(File.join(File.dirname(__FILE__), 'config', 'boot'))
4
+ require File.join(File.dirname(__FILE__), "game")
5
5
 
6
6
  require 'rake'
7
- require 'rake/testtask'
8
- require 'rake/rdoctask'
9
7
 
10
- require 'tasks/shattered'
8
+ require 'shattered_game/rake_tasks/shattered'
9
+
10
+ task :default => [:spec]
11
11