ogre.rb 0.1-i686-linux → 0.2-i686-linux

Sign up to get free protection for your applications and to get access to all the features.
Files changed (368) hide show
  1. data/README +43 -5
  2. data/Rakefile +67 -165
  3. data/lib/application.rb +2 -1
  4. data/lib/application_frame_listener.rb +17 -17
  5. data/lib/ogre.so +0 -0
  6. data/lib/ruby_ois.so +0 -0
  7. data/ogre.rb +3 -0
  8. data/samples/Ogre.log +358 -257
  9. data/samples/cel_shading.rb +85 -0
  10. data/samples/grass.rb +1 -1
  11. data/samples/media/materials/programs/CelShading.cg +63 -0
  12. data/samples/media/materials/scripts/CelShading.material +68 -0
  13. data/samples/media/materials/textures/cel_shading_diffuse.png +0 -0
  14. data/samples/media/materials/textures/cel_shading_edge.png +0 -0
  15. data/samples/media/materials/textures/cel_shading_specular.png +0 -0
  16. data/samples/ogre.cfg +1 -2
  17. data/samples/plugins.cfg +3 -2
  18. data/test/ogre.cfg +10 -0
  19. data/{samples/navi → test}/plugins.cfg +2 -4
  20. data/test/test_helper.rb +67 -0
  21. data/test/unit/constants_test.rb +66 -0
  22. data/test/unit/frame_stats_proxy_test.rb +28 -0
  23. data/test/unit/math_test.rb +20 -0
  24. data/test/unit/mesh_test.rb +15 -0
  25. data/test/unit/methods_test.rb +98 -0
  26. data/test/unit/movable_object_test.rb +19 -0
  27. data/test/unit/name_value_pair_list_test.rb +12 -0
  28. data/test/unit/overlay_element_test.rb +20 -0
  29. data/test/unit/render_target_test.rb +11 -0
  30. data/test/unit/resource_test.rb +26 -0
  31. data/test/unit/scene_manager_test.rb +21 -0
  32. metadata +25 -356
  33. data/samples/navi/Media/NaviDemo.material +0 -60
  34. data/samples/navi/Media/OgreCore.zip +0 -0
  35. data/samples/navi/Media/cerulean.jpg +0 -0
  36. data/samples/navi/Media/clouds.jpg +0 -0
  37. data/samples/navi/Media/controlsNaviMask.png +0 -0
  38. data/samples/navi/Media/grass.jpg +0 -0
  39. data/samples/navi/Media/knot.mesh +0 -0
  40. data/samples/navi/Media/testNaviMask.png +0 -0
  41. data/samples/navi/NaviLocal/Navi.js +0 -136
  42. data/samples/navi/NaviLocal/buttonBg.jpg +0 -0
  43. data/samples/navi/NaviLocal/controls.html +0 -303
  44. data/samples/navi/NaviLocal/knobBg.jpg +0 -0
  45. data/samples/navi/NaviLocal/moo.dropdownmenu.js +0 -87
  46. data/samples/navi/NaviLocal/mootools.v1.1.js +0 -6964
  47. data/samples/navi/NaviLocal/naviLogo.html +0 -32
  48. data/samples/navi/NaviLocal/naviLogo.png +0 -0
  49. data/samples/navi/NaviLocal/pageBg.jpg +0 -0
  50. data/samples/navi/NaviLocal/sliderBg.jpg +0 -0
  51. data/samples/navi/NaviLocal/test.html +0 -5
  52. data/samples/navi/NaviLocal/welcome.html +0 -36
  53. data/samples/navi/NaviLocal/welcome.png +0 -0
  54. data/samples/navi/chrome/chromelist.txt +0 -597
  55. data/samples/navi/chrome/classic.jar +0 -0
  56. data/samples/navi/chrome/classic.manifest +0 -4
  57. data/samples/navi/chrome/comm.jar +0 -0
  58. data/samples/navi/chrome/comm.manifest +0 -2
  59. data/samples/navi/chrome/en-US.jar +0 -0
  60. data/samples/navi/chrome/en-US.manifest +0 -9
  61. data/samples/navi/chrome/toolkit.jar +0 -0
  62. data/samples/navi/chrome/toolkit.manifest +0 -6
  63. data/samples/navi/components/FeedProcessor.js +0 -1825
  64. data/samples/navi/components/alerts.xpt +0 -0
  65. data/samples/navi/components/appshell.xpt +0 -0
  66. data/samples/navi/components/appstartup.xpt +0 -0
  67. data/samples/navi/components/auth.dll +0 -0
  68. data/samples/navi/components/autocomplete.xpt +0 -0
  69. data/samples/navi/components/autoconfig.dll +0 -0
  70. data/samples/navi/components/autoconfig.xpt +0 -0
  71. data/samples/navi/components/caps.xpt +0 -0
  72. data/samples/navi/components/chardet.xpt +0 -0
  73. data/samples/navi/components/chrome.xpt +0 -0
  74. data/samples/navi/components/commandhandler.xpt +0 -0
  75. data/samples/navi/components/commandlines.xpt +0 -0
  76. data/samples/navi/components/composer.xpt +0 -0
  77. data/samples/navi/components/compreg.dat +0 -1474
  78. data/samples/navi/components/content_base.xpt +0 -0
  79. data/samples/navi/components/content_html.xpt +0 -0
  80. data/samples/navi/components/content_htmldoc.xpt +0 -0
  81. data/samples/navi/components/content_xmldoc.xpt +0 -0
  82. data/samples/navi/components/content_xslt.xpt +0 -0
  83. data/samples/navi/components/content_xtf.xpt +0 -0
  84. data/samples/navi/components/directory.xpt +0 -0
  85. data/samples/navi/components/docshell_base.xpt +0 -0
  86. data/samples/navi/components/dom.xpt +0 -0
  87. data/samples/navi/components/dom_base.xpt +0 -0
  88. data/samples/navi/components/dom_canvas.xpt +0 -0
  89. data/samples/navi/components/dom_core.xpt +0 -0
  90. data/samples/navi/components/dom_css.xpt +0 -0
  91. data/samples/navi/components/dom_events.xpt +0 -0
  92. data/samples/navi/components/dom_html.xpt +0 -0
  93. data/samples/navi/components/dom_loadsave.xpt +0 -0
  94. data/samples/navi/components/dom_range.xpt +0 -0
  95. data/samples/navi/components/dom_sidebar.xpt +0 -0
  96. data/samples/navi/components/dom_storage.xpt +0 -0
  97. data/samples/navi/components/dom_stylesheets.xpt +0 -0
  98. data/samples/navi/components/dom_svg.xpt +0 -0
  99. data/samples/navi/components/dom_traversal.xpt +0 -0
  100. data/samples/navi/components/dom_views.xpt +0 -0
  101. data/samples/navi/components/dom_xbl.xpt +0 -0
  102. data/samples/navi/components/dom_xpath.xpt +0 -0
  103. data/samples/navi/components/dom_xul.xpt +0 -0
  104. data/samples/navi/components/downloads.xpt +0 -0
  105. data/samples/navi/components/editor.xpt +0 -0
  106. data/samples/navi/components/embed_base.xpt +0 -0
  107. data/samples/navi/components/extensions.xpt +0 -0
  108. data/samples/navi/components/exthandler.xpt +0 -0
  109. data/samples/navi/components/fastfind.xpt +0 -0
  110. data/samples/navi/components/feeds.xpt +0 -0
  111. data/samples/navi/components/find.xpt +0 -0
  112. data/samples/navi/components/gfx.xpt +0 -0
  113. data/samples/navi/components/gksvgrenderer.xpt +0 -0
  114. data/samples/navi/components/history.xpt +0 -0
  115. data/samples/navi/components/htmlparser.xpt +0 -0
  116. data/samples/navi/components/imglib2.xpt +0 -0
  117. data/samples/navi/components/inspector.xpt +0 -0
  118. data/samples/navi/components/intl.xpt +0 -0
  119. data/samples/navi/components/intlcmpt.xpt +0 -0
  120. data/samples/navi/components/jar.xpt +0 -0
  121. data/samples/navi/components/jsconsole-clhandler.js +0 -170
  122. data/samples/navi/components/jsconsole.xpt +0 -0
  123. data/samples/navi/components/jsdservice.xpt +0 -0
  124. data/samples/navi/components/layout_base.xpt +0 -0
  125. data/samples/navi/components/layout_printing.xpt +0 -0
  126. data/samples/navi/components/layout_xul.xpt +0 -0
  127. data/samples/navi/components/layout_xul_tree.xpt +0 -0
  128. data/samples/navi/components/locale.xpt +0 -0
  129. data/samples/navi/components/lwbrk.xpt +0 -0
  130. data/samples/navi/components/mimetype.xpt +0 -0
  131. data/samples/navi/components/mozbrwsr.xpt +0 -0
  132. data/samples/navi/components/mozfind.xpt +0 -0
  133. data/samples/navi/components/necko.xpt +0 -0
  134. data/samples/navi/components/necko_about.xpt +0 -0
  135. data/samples/navi/components/necko_cache.xpt +0 -0
  136. data/samples/navi/components/necko_cookie.xpt +0 -0
  137. data/samples/navi/components/necko_data.xpt +0 -0
  138. data/samples/navi/components/necko_dns.xpt +0 -0
  139. data/samples/navi/components/necko_file.xpt +0 -0
  140. data/samples/navi/components/necko_ftp.xpt +0 -0
  141. data/samples/navi/components/necko_http.xpt +0 -0
  142. data/samples/navi/components/necko_res.xpt +0 -0
  143. data/samples/navi/components/necko_socket.xpt +0 -0
  144. data/samples/navi/components/necko_strconv.xpt +0 -0
  145. data/samples/navi/components/necko_viewsource.xpt +0 -0
  146. data/samples/navi/components/nsCloseAllWindows.js +0 -143
  147. data/samples/navi/components/nsDefaultCLH.js +0 -231
  148. data/samples/navi/components/nsDictionary.js +0 -148
  149. data/samples/navi/components/nsExtensionManager.js +0 -8497
  150. data/samples/navi/components/nsHelperAppDlg.js +0 -990
  151. data/samples/navi/components/nsInterfaceInfoToIDL.js +0 -590
  152. data/samples/navi/components/nsKillAll.js +0 -200
  153. data/samples/navi/components/nsPostUpdateWin.js +0 -711
  154. data/samples/navi/components/nsProgressDialog.js +0 -949
  155. data/samples/navi/components/nsProxyAutoConfig.js +0 -396
  156. data/samples/navi/components/nsResetPref.js +0 -175
  157. data/samples/navi/components/nsURLFormatter.js +0 -179
  158. data/samples/navi/components/nsUpdateService.js +0 -3074
  159. data/samples/navi/components/nsXULAppInstall.js +0 -301
  160. data/samples/navi/components/nsXmlRpcClient.js +0 -1038
  161. data/samples/navi/components/oji.xpt +0 -0
  162. data/samples/navi/components/passwordmgr.xpt +0 -0
  163. data/samples/navi/components/pipboot.xpt +0 -0
  164. data/samples/navi/components/pipnss.xpt +0 -0
  165. data/samples/navi/components/plugin.xpt +0 -0
  166. data/samples/navi/components/pref.xpt +0 -0
  167. data/samples/navi/components/prefetch.xpt +0 -0
  168. data/samples/navi/components/profile.xpt +0 -0
  169. data/samples/navi/components/progressDlg.xpt +0 -0
  170. data/samples/navi/components/proxyObject.xpt +0 -0
  171. data/samples/navi/components/rdf.xpt +0 -0
  172. data/samples/navi/components/satchel.xpt +0 -0
  173. data/samples/navi/components/saxparser.xpt +0 -0
  174. data/samples/navi/components/shistory.xpt +0 -0
  175. data/samples/navi/components/storage.xpt +0 -0
  176. data/samples/navi/components/toolkitprofile.xpt +0 -0
  177. data/samples/navi/components/transformiix.dll +0 -0
  178. data/samples/navi/components/txmgr.xpt +0 -0
  179. data/samples/navi/components/txtsvc.xpt +0 -0
  180. data/samples/navi/components/uconv.xpt +0 -0
  181. data/samples/navi/components/unicharutil.xpt +0 -0
  182. data/samples/navi/components/universalchardet.dll +0 -0
  183. data/samples/navi/components/update.xpt +0 -0
  184. data/samples/navi/components/uriloader.xpt +0 -0
  185. data/samples/navi/components/urlformatter.xpt +0 -0
  186. data/samples/navi/components/webBrowser_core.xpt +0 -0
  187. data/samples/navi/components/webbrowserpersist.xpt +0 -0
  188. data/samples/navi/components/webshell_idls.xpt +0 -0
  189. data/samples/navi/components/websrvcs.dll +0 -0
  190. data/samples/navi/components/websrvcs.xpt +0 -0
  191. data/samples/navi/components/widget.xpt +0 -0
  192. data/samples/navi/components/windowds.xpt +0 -0
  193. data/samples/navi/components/windowwatcher.xpt +0 -0
  194. data/samples/navi/components/xml-rpc.xpt +0 -0
  195. data/samples/navi/components/xmlextras.dll +0 -0
  196. data/samples/navi/components/xpcom_base.xpt +0 -0
  197. data/samples/navi/components/xpcom_components.xpt +0 -0
  198. data/samples/navi/components/xpcom_ds.xpt +0 -0
  199. data/samples/navi/components/xpcom_io.xpt +0 -0
  200. data/samples/navi/components/xpcom_obsolete.xpt +0 -0
  201. data/samples/navi/components/xpcom_thread.xpt +0 -0
  202. data/samples/navi/components/xpcom_xpti.xpt +0 -0
  203. data/samples/navi/components/xpconnect.xpt +0 -0
  204. data/samples/navi/components/xpinstall.xpt +0 -0
  205. data/samples/navi/components/xpti.dat +0 -1424
  206. data/samples/navi/components/xulapp.xpt +0 -0
  207. data/samples/navi/components/xulapp_setup.xpt +0 -0
  208. data/samples/navi/components/xuldoc.xpt +0 -0
  209. data/samples/navi/components/xulrunner.xpt +0 -0
  210. data/samples/navi/components/xultmpl.xpt +0 -0
  211. data/samples/navi/components/xulutil.dll +0 -0
  212. data/samples/navi/controlsNaviMask.png +0 -0
  213. data/samples/navi/greprefs/all.js +0 -1344
  214. data/samples/navi/greprefs/security-prefs.js +0 -69
  215. data/samples/navi/greprefs/xpinstall.js +0 -2
  216. data/samples/navi/navi_demo.rb +0 -207
  217. data/samples/navi/plugins/NPSWF32.dll +0 -0
  218. data/samples/navi/plugins/flashplayer.xpt +0 -0
  219. data/samples/navi/plugins/npnul32.dll +0 -0
  220. data/samples/navi/res/EditorOverride.css +0 -359
  221. data/samples/navi/res/Thumbs.db +0 -0
  222. data/samples/navi/res/arrow.gif +0 -0
  223. data/samples/navi/res/arrowd.gif +0 -0
  224. data/samples/navi/res/bloatcycle.html +0 -40
  225. data/samples/navi/res/broken-image.gif +0 -0
  226. data/samples/navi/res/charsetData.properties +0 -199
  227. data/samples/navi/res/charsetalias.properties +0 -517
  228. data/samples/navi/res/cmessage.txt +0 -1
  229. data/samples/navi/res/dtd/xhtml11.dtd +0 -300
  230. data/samples/navi/res/entityTables/html40Latin1.properties +0 -146
  231. data/samples/navi/res/entityTables/html40Special.properties +0 -69
  232. data/samples/navi/res/entityTables/html40Symbols.properties +0 -164
  233. data/samples/navi/res/entityTables/htmlEntityVersions.properties +0 -50
  234. data/samples/navi/res/entityTables/transliterate.properties +0 -2367
  235. data/samples/navi/res/fonts/fontEncoding.properties +0 -127
  236. data/samples/navi/res/fonts/fontNameMap.properties +0 -134
  237. data/samples/navi/res/forms.css +0 -531
  238. data/samples/navi/res/grabber.gif +0 -0
  239. data/samples/navi/res/hiddenWindow.html +0 -1
  240. data/samples/navi/res/html/Thumbs.db +0 -0
  241. data/samples/navi/res/html/gopher-audio.gif +0 -0
  242. data/samples/navi/res/html/gopher-binary.gif +0 -0
  243. data/samples/navi/res/html/gopher-find.gif +0 -0
  244. data/samples/navi/res/html/gopher-image.gif +0 -0
  245. data/samples/navi/res/html/gopher-menu.gif +0 -0
  246. data/samples/navi/res/html/gopher-movie.gif +0 -0
  247. data/samples/navi/res/html/gopher-sound.gif +0 -0
  248. data/samples/navi/res/html/gopher-telnet.gif +0 -0
  249. data/samples/navi/res/html/gopher-text.gif +0 -0
  250. data/samples/navi/res/html/gopher-unknown.gif +0 -0
  251. data/samples/navi/res/html.css +0 -478
  252. data/samples/navi/res/langGroups.properties +0 -236
  253. data/samples/navi/res/language.properties +0 -259
  254. data/samples/navi/res/loading-image.gif +0 -0
  255. data/samples/navi/res/quirk.css +0 -282
  256. data/samples/navi/res/samples/Anieyes.gif +0 -0
  257. data/samples/navi/res/samples/Thumbs.db +0 -0
  258. data/samples/navi/res/samples/aform.css +0 -69
  259. data/samples/navi/res/samples/beeptest.html +0 -18
  260. data/samples/navi/res/samples/bform.css +0 -45
  261. data/samples/navi/res/samples/bg.jpg +0 -0
  262. data/samples/navi/res/samples/cform.css +0 -40
  263. data/samples/navi/res/samples/checkboxTest.xul +0 -47
  264. data/samples/navi/res/samples/demoform.css +0 -97
  265. data/samples/navi/res/samples/find.html +0 -97
  266. data/samples/navi/res/samples/gear1.gif +0 -0
  267. data/samples/navi/res/samples/image_props.html +0 -58
  268. data/samples/navi/res/samples/mozform.css +0 -256
  269. data/samples/navi/res/samples/printsetup.html +0 -175
  270. data/samples/navi/res/samples/raptor.jpg +0 -0
  271. data/samples/navi/res/samples/rock_gra.gif +0 -0
  272. data/samples/navi/res/samples/scrollbarTest1.xul +0 -66
  273. data/samples/navi/res/samples/scrollbarTest2.xul +0 -19
  274. data/samples/navi/res/samples/sliderTest1.xul +0 -14
  275. data/samples/navi/res/samples/soundtest.html +0 -20
  276. data/samples/navi/res/samples/test.wav +0 -0
  277. data/samples/navi/res/samples/test0.html +0 -220
  278. data/samples/navi/res/samples/test1.html +0 -84
  279. data/samples/navi/res/samples/test10.html +0 -16
  280. data/samples/navi/res/samples/test11.html +0 -42
  281. data/samples/navi/res/samples/test12.html +0 -79
  282. data/samples/navi/res/samples/test13.html +0 -126
  283. data/samples/navi/res/samples/test14.html +0 -5
  284. data/samples/navi/res/samples/test15.html +0 -5
  285. data/samples/navi/res/samples/test16.html +0 -124
  286. data/samples/navi/res/samples/test2.html +0 -41
  287. data/samples/navi/res/samples/test3.html +0 -126
  288. data/samples/navi/res/samples/test4.html +0 -335
  289. data/samples/navi/res/samples/test5.html +0 -199
  290. data/samples/navi/res/samples/test6.html +0 -335
  291. data/samples/navi/res/samples/test7.html +0 -11
  292. data/samples/navi/res/samples/test8-1.html +0 -66
  293. data/samples/navi/res/samples/test8.html +0 -662
  294. data/samples/navi/res/samples/test8dom.html +0 -64
  295. data/samples/navi/res/samples/test8sca.html +0 -308
  296. data/samples/navi/res/samples/test8siz.html +0 -224
  297. data/samples/navi/res/samples/test8tab.html +0 -9
  298. data/samples/navi/res/samples/test9.html +0 -12
  299. data/samples/navi/res/samples/test9a.html +0 -39
  300. data/samples/navi/res/samples/test9b.html +0 -16
  301. data/samples/navi/res/samples/test_ed.html +0 -5
  302. data/samples/navi/res/samples/test_form.html +0 -34
  303. data/samples/navi/res/samples/test_gfx.html +0 -75
  304. data/samples/navi/res/samples/test_lbox.html +0 -100
  305. data/samples/navi/res/samples/test_pr.html +0 -87
  306. data/samples/navi/res/samples/test_weight.html +0 -45
  307. data/samples/navi/res/samples/toolbarTest1.xul +0 -51
  308. data/samples/navi/res/samples/treeTest1.css +0 -62
  309. data/samples/navi/res/samples/treeTest1.xul +0 -110
  310. data/samples/navi/res/samples/xulTest.css +0 -130
  311. data/samples/navi/res/svg.css +0 -64
  312. data/samples/navi/res/table-add-column-after-active.gif +0 -0
  313. data/samples/navi/res/table-add-column-after-hover.gif +0 -0
  314. data/samples/navi/res/table-add-column-after.gif +0 -0
  315. data/samples/navi/res/table-add-column-before-active.gif +0 -0
  316. data/samples/navi/res/table-add-column-before-hover.gif +0 -0
  317. data/samples/navi/res/table-add-column-before.gif +0 -0
  318. data/samples/navi/res/table-add-row-after-active.gif +0 -0
  319. data/samples/navi/res/table-add-row-after-hover.gif +0 -0
  320. data/samples/navi/res/table-add-row-after.gif +0 -0
  321. data/samples/navi/res/table-add-row-before-active.gif +0 -0
  322. data/samples/navi/res/table-add-row-before-hover.gif +0 -0
  323. data/samples/navi/res/table-add-row-before.gif +0 -0
  324. data/samples/navi/res/table-remove-column-active.gif +0 -0
  325. data/samples/navi/res/table-remove-column-hover.gif +0 -0
  326. data/samples/navi/res/table-remove-column.gif +0 -0
  327. data/samples/navi/res/table-remove-row-active.gif +0 -0
  328. data/samples/navi/res/table-remove-row-hover.gif +0 -0
  329. data/samples/navi/res/table-remove-row.gif +0 -0
  330. data/samples/navi/res/throbber/Thumbs.db +0 -0
  331. data/samples/navi/res/throbber/anim.gif +0 -0
  332. data/samples/navi/res/throbber/anims00.gif +0 -0
  333. data/samples/navi/res/throbber/anims01.gif +0 -0
  334. data/samples/navi/res/throbber/anims02.gif +0 -0
  335. data/samples/navi/res/throbber/anims03.gif +0 -0
  336. data/samples/navi/res/throbber/anims04.gif +0 -0
  337. data/samples/navi/res/throbber/anims05.gif +0 -0
  338. data/samples/navi/res/throbber/anims06.gif +0 -0
  339. data/samples/navi/res/throbber/anims07.gif +0 -0
  340. data/samples/navi/res/throbber/anims08.gif +0 -0
  341. data/samples/navi/res/throbber/anims09.gif +0 -0
  342. data/samples/navi/res/throbber/anims10.gif +0 -0
  343. data/samples/navi/res/throbber/anims11.gif +0 -0
  344. data/samples/navi/res/throbber/anims12.gif +0 -0
  345. data/samples/navi/res/throbber/anims13.gif +0 -0
  346. data/samples/navi/res/throbber/anims14.gif +0 -0
  347. data/samples/navi/res/throbber/anims15.gif +0 -0
  348. data/samples/navi/res/throbber/anims16.gif +0 -0
  349. data/samples/navi/res/throbber/anims17.gif +0 -0
  350. data/samples/navi/res/throbber/anims18.gif +0 -0
  351. data/samples/navi/res/throbber/anims19.gif +0 -0
  352. data/samples/navi/res/throbber/anims20.gif +0 -0
  353. data/samples/navi/res/throbber/anims21.gif +0 -0
  354. data/samples/navi/res/throbber/anims22.gif +0 -0
  355. data/samples/navi/res/throbber/anims23.gif +0 -0
  356. data/samples/navi/res/throbber/anims24.gif +0 -0
  357. data/samples/navi/res/throbber/anims25.gif +0 -0
  358. data/samples/navi/res/throbber/anims26.gif +0 -0
  359. data/samples/navi/res/throbber/anims27.gif +0 -0
  360. data/samples/navi/res/throbber/anims28.gif +0 -0
  361. data/samples/navi/res/throbber/anims29.gif +0 -0
  362. data/samples/navi/res/ua.css +0 -235
  363. data/samples/navi/res/viewer.properties +0 -1
  364. data/samples/navi/res/viewsource.css +0 -118
  365. data/samples/navi/res/wincharset.properties +0 -55
  366. data/samples/navi/resources.cfg +0 -14
  367. data/samples/navi/testNaviMask.png +0 -0
  368. data/samples/render_run_log.5796 +0 -891
data/README CHANGED
@@ -4,7 +4,7 @@ Welcome to Ogre.rb, the Ruby wrapper around the Ogre rendering engine. This curr
4
4
  known to build and run correctly on Linux, though I expect this will work just fine on Mac as well.
5
5
  Windows support will come later.
6
6
 
7
- Ogre.rb is currently built for Ruby 1.8.5+ and Ogre 1.4.x (Eihort)
7
+ Ogre.rb is currently built for Ruby 1.8.5+ and Ogre 1.4.4 (Eihort)
8
8
 
9
9
  == Usage
10
10
 
@@ -24,13 +24,12 @@ The samples/ directory is a direct port of the Ogre sample programs.
24
24
  == Contributing
25
25
 
26
26
  Please post patches, feature requests, bug fixes to the rubyforge website at http://rubyforge.org/projects/ogrerb.
27
- As I'm not sure exactly how to unit test such a wrapper, it will be greatly appreciated if changes are proven as
28
- part of a sample application.
27
+ All patches will be considered but those with tests, if possible, are recommended.
29
28
 
30
29
  == Build Requirements
31
30
 
32
31
  * rake
33
- * Ogre 1.4.x (Eihort)
32
+ * Ogre 1.4.4 (Eihort)
34
33
  * OIS
35
34
  * swig 1.3.31+ (uses -autorename)
36
35
  * pkg-config (Linux)
@@ -45,7 +44,18 @@ The resulting files can be found in ogrerb/lib.
45
44
 
46
45
  === Mac
47
46
 
48
- TODO
47
+ rake build_all
48
+
49
+ If you get an error about OIS framework not being installed, you can download a build of the OIS framework here: http://www.shatteredruby.com/support/OIS.1.0.framework.zip.* Place it into your /Library/Frameworks directory.
50
+
51
+ After building, the resulting frameworks will be located in ogrerb/lib.
52
+
53
+ You will need to run the build_mac_rubyw Rake task, which creates a rubyw executable that's fit for opening
54
+ up windows in the foreground. See http://rubyforge.org/forum/forum.php?thread_id=15371&forum_id=14174 for details.
55
+
56
+ Remember once you do this to start ogrerb programs with 'rubyw' instead of 'ruby', otherwise keyboard input will be disabled.
57
+
58
+ *The OIS framework is made by wreckedgames.com, and the sourceforge project page is here: http://sourceforge.net/projects/wgois. The build in this document is for convenience only and is not an official release.
49
59
 
50
60
  === Windows
51
61
 
@@ -77,3 +87,31 @@ The resulting files can be found in ogrerb/lib.
77
87
  == Running Ogre.rb programs
78
88
 
79
89
  You'll either have to copy the OgreMain dll to the ogrerb/lib folder, or you'll need to set the PATH (on Windows) or LD_LIBRARY_PATH (on Linux) environment variable to point to where this file is ([OgreSDK]/bin/release for prebuilt). Then, it's simply <code>require 'ogre'</code> and off you go.
90
+
91
+ == Testing Ogre.rb programs
92
+
93
+ test/test_helper.rb contains the minimum needed setup for Ogre to properly allow testing of it's components.
94
+
95
+ == Notes
96
+
97
+ These are the classes currently not wrapped for various reasons:
98
+
99
+ * OgreConfigDialog
100
+ * OgreConfig
101
+ * OgreConfigOptionMap
102
+ * OgreErrorDialog
103
+ * OgreException
104
+ * OgreProfiler
105
+ * OgreStringConverter
106
+ * OgreZip
107
+ * OgreAlignedAllocator
108
+ * OgreBitwise
109
+ * OgreMemoryManager
110
+ * OgreFileSystem
111
+ * OgreUnifiedHighLevelGpuProgram
112
+ * OgreSearchOps
113
+ * OgreStableHeaders
114
+ * OgreUTFString
115
+ * OgreILCodecs
116
+ * OgreILImageCodec
117
+ * OgreILUtil
data/Rakefile CHANGED
@@ -4,10 +4,17 @@ require 'rake/contrib/sshpublisher'
4
4
  require 'rake/gempackagetask'
5
5
 
6
6
  require 'platform'
7
+ require 'lib/rake/project_builder'
7
8
 
8
- task :default => :build_all
9
+ task :default => :test
9
10
 
10
- OGRE_RB_VERSION = "0.1"
11
+ OGRE_RB_VERSION = "0.2"
12
+
13
+ Rake::TestTask.new do |t|
14
+ t.libs << "test"
15
+ t.test_files = FileList["test/**/*_test.rb"]
16
+ t.verbose = true
17
+ end
11
18
 
12
19
  ###########################
13
20
  # Project Managment tasks #
@@ -55,6 +62,7 @@ ogre_rb_spec = Gem::Specification.new do |s|
55
62
  if Platform.windows?
56
63
  lib_files = %w(lib/ogre.dll lib/ruby_ois.dll)
57
64
  elsif Platform.mac?
65
+ lib_files = %w(lib/ogre.bundle lib/ruby_ois.bundle)
58
66
  else # Posix environment
59
67
  lib_files = %w(lib/ogre.so lib/ruby_ois.so)
60
68
  end
@@ -74,14 +82,14 @@ ogre_rb_spec = Gem::Specification.new do |s|
74
82
  s.required_ruby_version = '>= 1.8.4'
75
83
 
76
84
  # Inform of the need to have Ogre installed and OGRE_HOME set
77
- s.requirements << "Ogre Einhort (1.4)"
85
+ s.requirements << "Ogre Einhort (1.4.4)"
78
86
  s.requirements << "Environment variable OGRE_HOME set"
79
87
 
80
88
  #s.has_rdoc = false
81
89
  #s.extra_rdoc_files += RDOC_INCLUDES
82
90
  #s.rdoc_options += RDOC_OPTIONS
83
91
 
84
- files = FileList.new %W[
92
+ files = FileList.new %w(
85
93
  README
86
94
  platform.rb
87
95
  ogre.rb
@@ -89,7 +97,11 @@ ogre_rb_spec = Gem::Specification.new do |s|
89
97
  lib/*.rb
90
98
  samples/**/*
91
99
  doc_src/**/*
92
- ]
100
+ test/**/*
101
+ ) do |fl|
102
+ fl.exclude(/navi/)
103
+ end
104
+
93
105
  files += lib_files
94
106
 
95
107
  s.files = files
@@ -98,191 +110,81 @@ end
98
110
  desc 'Package as gem & zip'
99
111
  Rake::GemPackageTask.new(ogre_rb_spec) do |p|
100
112
  p.gem_spec = ogre_rb_spec
101
- #p.need_tar = true
102
- #p.need_zip = true
103
113
  end
104
114
 
105
115
  #############################
106
116
  # Project compilation tasks #
107
117
  #############################
108
-
109
- desc "Rebuild the OGRE and OIS wrappers"
110
- task :build_all => ["ogre:build", "ois:build"]
111
-
112
- desc "Clean everything"
113
- task :clean_all => ["ogre:clean", "ois:clean"]
114
-
115
- namespace :ois do
116
- desc "Rebuild all of the OIS wrapper"
117
- task :build => [:swig, :compile]
118
-
119
- desc "Run swig on the interface files"
120
- task :swig do
121
- includes = %w(-I./src_headers/OIS -I./src_headers/wrappers)
122
- sh "swig -ruby -minherit -c++ -autorename #{includes.join(' ')} -o build/ois/ois_wrap.cpp ois/ois.i"
123
- if Platform.windows?
124
- insert_headers("build/ois/ois_wrap.cpp") do
125
- <<-EOF
126
- #include "OIS.h"
127
- EOF
128
- end
129
- end
130
- end
131
-
132
- desc "Compile the extension and move the resulting library into lib/"
133
- task :compile do
134
- resulting_file = "ruby_ois.so"
135
- build_file = resulting_file
136
- cd "build/ois" do
137
- ruby "extconf.rb"
138
- if Platform.linux?
139
- sh "make all"
140
- elsif Platform.windows?
141
- sh "nmake"
142
- # Create our manifest (see http://www.codeproject.com/cpp/vcredists_x86.asp)
143
- sh "mt.exe /manifest #{resulting_file}.manifest /outputresource:#{resulting_file};#2"
144
- resulting_file = "ruby_ois.dll"
145
- build_file = "ruby_ois.so"
146
- else
147
- raise "Error: Unsupported platform " + PLATFORM
148
- end
149
- cp build_file, File.join("..", "..", "lib", resulting_file)
150
- end
151
- end
152
-
153
- desc "Clean up the build environment"
154
- task :clean do
155
- cd "build/ois" do
156
- ruby "extconf.rb"
157
- sh "make clean"
158
- rm "mkmf.log" rescue nil
159
- end
118
+ desc "Build rubyw on the mac platform, needed for ogrerb to run properly."
119
+ task :build_mac_rubyw do
120
+ if Platform.mac?
121
+ sh "ruby=`which ruby`; rubyw=${ruby}w; sudo cp $ruby $rubyw; sudo /Developer/Tools/Rez -t APPL Carbon.r -o $rubyw"
122
+ else
123
+ puts "This is only to be run on Mac OS X"
160
124
  end
161
125
  end
162
126
 
163
- namespace :ogre do
164
-
165
- desc "Rebuild all of ogre.rb"
166
- task :build => [:swig, :compile]
167
-
168
- desc "Run swig on the interface files"
169
- task :swig do
170
- includes = %w(-I./src_headers/OGRE -I./src_headers/ExampleApplication -I./src_headers/wrappers -I./src_headers/OIS)
171
- sh "swig -ruby -minherit -c++ -autorename #{includes.join(' ')} -o build/ogre/ogre_rb_wrap.cpp ogre/ogre_rb.i"
127
+ #############################################
128
+ # Project registration helpers documentation:
129
+ #
130
+ # project.swig_file =>
131
+ # The name of the main swig interface file (sans .i) (default: project name)
132
+ #
133
+ # project.swig_includes =>
134
+ # The include declarations needed for this project to swigify
135
+ #
136
+ # project.swig =>
137
+ # Create a block that gets called after swig is done running, for post processing
138
+ #
139
+ # project.resulting_library =>
140
+ # The final name of the built library (default: project name)
141
+ #
142
+ #
143
+ # TODO Looks like I can pull the swig block into the template, as all projects seem
144
+ # to need this STL fix
145
+ #############################################
146
+
147
+ register_project :ogre do |project|
148
+ project.swig_file = "ogre_rb"
149
+ project.swig_includes = %w(-I./src_headers/OGRE -I./src_headers/wrappers -I./src_headers/OIS)
150
+ project.swig do
172
151
  if Platform.windows?
173
152
  # compensate for windows stl. Uses wrong version when ruby is first.
174
153
  insert_headers("build/ogre/ogre_rb_wrap.cpp") do
175
154
  <<-EOF
176
155
  #include "Ogre.h"
177
- #{Platform.windows? ? "#include <winsock.h>" : ""}
156
+ #include <winsock.h>
178
157
  EOF
179
158
  end
180
159
  end
181
- end
160
+ end
161
+ end
182
162
 
183
- desc "Compile the extension and move the resulting library into lib/"
184
- task :compile do
185
- resulting_file = "ogre.so"
186
- cd "build/ogre" do
187
- ruby "extconf.rb"
188
- if Platform.linux?
189
- sh "make clean all"
190
- elsif Platform.windows?
191
- sh "nmake"
192
- # Create our manifest (see http://www.codeproject.com/cpp/vcredists_x86.asp)
193
- sh "mt.exe /manifest ogre.so.manifest /outputresource:ogre.so;#2"
194
- resulting_file = "ogre.dll"
195
- else
196
- raise "Error: Unsupported platform " + PLATFORM
197
- end
198
- cp "ogre.so", File.join("..", "..", "lib", resulting_file)
163
+ register_project :ois do |project|
164
+ project.resulting_library = "ruby_ois"
165
+ project.swig_includes = %w(-I./src_headers/OIS -I./src_headers/wrappers)
166
+ project.swig do
167
+ if Platform.windows?
168
+ insert_headers("build/ois/ois_wrap.cpp") do
169
+ <<-EOF
170
+ #include "OIS.h"
171
+ EOF
172
+ end
199
173
  end
200
- end
201
-
202
- desc "Clean up the build environment"
203
- task :clean do
204
- cd "build/ogre" do
205
- ruby "extconf.rb"
206
- sh "make clean"
207
- rm "mkmf.log" rescue nil
208
- end
209
- end
210
-
211
- desc "Copy over the ogre header files from an ogre installation. Expects OGRE_HOME to be set."
212
- task :update_headers do
213
- raise "Unable to find Ogre headers, please set OGRE_HOME to the distribution path" if ENV['OGRE_HOME'].nil?
214
-
215
- File.cp_r "#{ENV['OGRE_HOME']}/include/OGRE/", "#{File.dirname(__FILE__)}/src_headers"
216
- end
217
-
218
- desc "Create default interface files for each of the ogre headers"
219
- task :create_interfaces do
220
- headers_match = File.join("src_headers", "OGRE", "Ogre*.h")
221
- ogre_headers = Dir[headers_match]
222
-
223
- ogre_headers.each do |header|
224
- filename = File.basename(header, ".h")
225
- interface_file_name = File.join("ogre", File.basename(header, ".h") + ".i")
226
- raise "Interface file for #{filename} already exists" if File.exists?(interface_file_name)
227
-
228
- File.open(interface_file_name, "w+") do |file|
229
- file.write <<END
230
- %{
231
- #include "#{filename}.h"
232
- %}
233
-
234
- %include "#{filename}.h"
235
- END
236
- end
237
- end
238
- end
174
+ end
239
175
  end
240
176
 
241
-
242
- namespace :navi do
243
-
244
- desc "Rebuild all of navi.rb"
245
- task :build => [:swig, :compile]
246
-
247
- desc "Run swig on the interface files"
248
- task :swig do
249
- includes = %w(-I./src_headers/navi -I./src_headers/wrappers)
250
- sh "swig -autorename -ruby -minherit -c++ #{includes.join(' ')} -o build/navi/navi_rb_wrap.cpp navi/navi_rb.i"
177
+ register_project :navi do |project|
178
+ project.swig_file = "navi_rb"
179
+ project.swig_includes = %w(-I./src_headers/navi -I./src_headers/wrappers)
180
+ project.swig do
251
181
  if Platform.windows?
252
- # compensate for windows stl. Uses wrong version when ruby is first.
253
-
254
182
  insert_headers("build/navi/navi_rb_wrap.cpp") do
255
183
  <<-EOF
256
184
  #include "Ogre.h"
257
- #{Platform.windows? ? "#include <winsock.h>" : ""}
185
+ #include <winsock.h>
258
186
  EOF
259
187
  end
260
188
  end
261
- end
262
-
263
- desc "Compile the extension and move the resulting library into lib/"
264
- task :compile do
265
- resulting_file = "navi.dll"
266
- cd "build/navi" do
267
- ruby "extconf.rb"
268
- if Platform.windows?
269
- sh "nmake"
270
- # Create our manifest (see http://www.codeproject.com/cpp/vcredists_x86.asp)
271
- sh "mt.exe /manifest navi.so.manifest /outputresource:navi.so;#2"
272
- else
273
- raise "Error: Unsupported platform " + PLATFORM
274
- end
275
- cp "navi.so", File.join("..", "..", "lib", resulting_file)
276
- end
277
- end
278
-
279
- desc "Clean up the build environment"
280
- task :clean do
281
- cd "build" do
282
- ruby "extconf.rb"
283
- sh "make clean"
284
- rm "mkmf.log" rescue nil
285
- end
286
- end
287
-
189
+ end
288
190
  end
data/lib/application.rb CHANGED
@@ -53,7 +53,8 @@ module Ogre
53
53
 
54
54
  destroy_scene
55
55
 
56
- @frame_listener.shutdown
56
+ ensure
57
+ @frame_listener.shutdown if @frame_listener
57
58
  end
58
59
 
59
60
  protected
@@ -111,7 +111,7 @@ module Ogre
111
111
  # Most likely won't have a joystick here, so just throw away any exceptions
112
112
  @joy_stick = nil
113
113
  begin
114
- @joy_stick = @input_manager.create_input_object( OIS::OISJoyStick, buffered_joy)
114
+ @joy_stick = @input_manager.create_input_object( OIS::OISJoyStick, buffered_joy) unless Platform.mac?
115
115
  rescue
116
116
  end
117
117
 
@@ -177,12 +177,12 @@ module Ogre
177
177
 
178
178
  # Turn Right
179
179
  if @keyboard.key_down?(OIS::KC_RIGHT)
180
- @camera.yaw(-@rot_scale)
180
+ @camera.yaw( Degree.new(-@rot_scale) )
181
181
  end
182
182
 
183
183
  # Turn Left
184
184
  if @keyboard.key_down?(OIS::KC_LEFT)
185
- @camera.yaw(@rot_scale)
185
+ @camera.yaw( Degree.new(@rot_scale) )
186
186
  end
187
187
 
188
188
  # Quit
@@ -279,24 +279,24 @@ module Ogre
279
279
  protected
280
280
 
281
281
  def update_stats
282
- gui_avg = OverlayManager.instance.get_overlay_element("Core/AverageFps")
283
- gui_curr = OverlayManager.instance.get_overlay_element("Core/CurrFps")
284
- gui_best = OverlayManager.instance.get_overlay_element("Core/BestFps")
285
- gui_worst = OverlayManager.instance.get_overlay_element("Core/WorstFps")
286
- gui_tris = OverlayManager.instance.get_overlay_element("Core/NumTris")
287
- gui_batches = OverlayManager.instance.get_overlay_element("Core/NumBatches")
288
- gui_debug = OverlayManager.instance.get_overlay_element("Core/DebugText")
282
+ @gui_avg ||= OverlayManager.instance.get_overlay_element("Core/AverageFps")
283
+ @gui_curr ||= OverlayManager.instance.get_overlay_element("Core/CurrFps")
284
+ @gui_best ||= OverlayManager.instance.get_overlay_element("Core/BestFps")
285
+ @gui_worst ||= OverlayManager.instance.get_overlay_element("Core/WorstFps")
286
+ @gui_tris ||= OverlayManager.instance.get_overlay_element("Core/NumTris")
287
+ @gui_batches ||= OverlayManager.instance.get_overlay_element("Core/NumBatches")
288
+ @gui_debug ||= OverlayManager.instance.get_overlay_element("Core/DebugText")
289
289
 
290
290
  stats = @window.get_statistics
291
291
 
292
- gui_curr.set_caption("Current FPS: #{"%.3f" % stats.last_fps}")
293
- gui_avg.set_caption("Average FPS: #{"%.3f" % stats.avg_fps}")
294
- gui_best.set_caption("Best FPS: #{"%.3f" % stats.best_fps}")
295
- gui_worst.set_caption("Worst FPS: #{"%.3f" % stats.worst_fps}")
296
- gui_tris.set_caption("Triangle Count: #{stats.triangle_count}")
297
- gui_batches.set_caption("Batch Count: #{stats.batch_count}")
292
+ @gui_curr.set_caption("Current FPS: #{"%.3f" % stats.last_fps}")
293
+ @gui_avg.set_caption("Average FPS: #{"%.3f" % stats.avg_fps}")
294
+ @gui_best.set_caption("Best FPS: #{"%.3f" % stats.best_fps}")
295
+ @gui_worst.set_caption("Worst FPS: #{"%.3f" % stats.worst_fps}")
296
+ @gui_tris.set_caption("Triangle Count: #{stats.triangle_count}")
297
+ @gui_batches.set_caption("Batch Count: #{stats.batch_count}")
298
298
 
299
- gui_debug.set_caption("#{@debug_text}")
299
+ @gui_debug.set_caption(@debug_text)
300
300
  end
301
301
  end
302
302
  end
data/lib/ogre.so CHANGED
Binary file
data/lib/ruby_ois.so CHANGED
Binary file
data/ogre.rb CHANGED
@@ -6,6 +6,9 @@ $LOAD_PATH << File.expand_path(File.dirname(__FILE__) + "/lib")
6
6
  # Ruby always looks for .so first, instead of .dll if on windows.
7
7
  # So, force .dll on windows environments
8
8
  if Platform.windows?
9
+ require 'env'
10
+
11
+ ENV["path"]+=";"+File.dirname(__FILE__)+"/../Ogre"
9
12
  require 'lib/ogre.dll'
10
13
  require 'lib/ruby_ois.dll'
11
14
  # require 'lib/navi.dll'