ruby_rpg 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (237) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +21 -21
  3. data/bin/build.bash +13 -13
  4. data/bin/import +44 -44
  5. data/glfw-3.3.9.bin.MACOS/LICENSE.md +23 -23
  6. data/glfw-3.3.9.bin.MACOS/README.md +5 -5
  7. data/glfw-3.3.9.bin.MACOS/docs/html/build_8dox.html +81 -81
  8. data/glfw-3.3.9.bin.MACOS/docs/html/build_guide.html +199 -199
  9. data/glfw-3.3.9.bin.MACOS/docs/html/compat_8dox.html +81 -81
  10. data/glfw-3.3.9.bin.MACOS/docs/html/compat_guide.html +153 -153
  11. data/glfw-3.3.9.bin.MACOS/docs/html/compile_8dox.html +81 -81
  12. data/glfw-3.3.9.bin.MACOS/docs/html/compile_guide.html +223 -223
  13. data/glfw-3.3.9.bin.MACOS/docs/html/context_8dox.html +81 -81
  14. data/glfw-3.3.9.bin.MACOS/docs/html/context_guide.html +259 -259
  15. data/glfw-3.3.9.bin.MACOS/docs/html/deprecated.html +88 -88
  16. data/glfw-3.3.9.bin.MACOS/docs/html/dir_08423ce7729c4554356a7de7171ba263.html +85 -85
  17. data/glfw-3.3.9.bin.MACOS/docs/html/dir_2dcebcdf14b42e92a6ed85c61bda6b9d.html +93 -93
  18. data/glfw-3.3.9.bin.MACOS/docs/html/dir_62ce056722ee97c199075aa1d6eca309.html +95 -95
  19. data/glfw-3.3.9.bin.MACOS/docs/html/dir_dddf4cf62655095a666cf715de3a31a2.html +91 -91
  20. data/glfw-3.3.9.bin.MACOS/docs/html/doc.svg +12 -12
  21. data/glfw-3.3.9.bin.MACOS/docs/html/docd.svg +12 -12
  22. data/glfw-3.3.9.bin.MACOS/docs/html/doxygen.css +1685 -1685
  23. data/glfw-3.3.9.bin.MACOS/docs/html/doxygen.svg +28 -28
  24. data/glfw-3.3.9.bin.MACOS/docs/html/dynsections.js +192 -192
  25. data/glfw-3.3.9.bin.MACOS/docs/html/extra.css +1 -1
  26. data/glfw-3.3.9.bin.MACOS/docs/html/files.html +91 -91
  27. data/glfw-3.3.9.bin.MACOS/docs/html/folderclosed.svg +11 -11
  28. data/glfw-3.3.9.bin.MACOS/docs/html/folderclosedd.svg +11 -11
  29. data/glfw-3.3.9.bin.MACOS/docs/html/folderopen.svg +17 -17
  30. data/glfw-3.3.9.bin.MACOS/docs/html/folderopend.svg +12 -12
  31. data/glfw-3.3.9.bin.MACOS/docs/html/glfw3_8h.html +1661 -1661
  32. data/glfw-3.3.9.bin.MACOS/docs/html/glfw3_8h_source.html +1175 -1175
  33. data/glfw-3.3.9.bin.MACOS/docs/html/glfw3native_8h.html +167 -167
  34. data/glfw-3.3.9.bin.MACOS/docs/html/glfw3native_8h_source.html +303 -303
  35. data/glfw-3.3.9.bin.MACOS/docs/html/group__buttons.html +282 -282
  36. data/glfw-3.3.9.bin.MACOS/docs/html/group__context.html +304 -304
  37. data/glfw-3.3.9.bin.MACOS/docs/html/group__errors.html +304 -304
  38. data/glfw-3.3.9.bin.MACOS/docs/html/group__gamepad__axes.html +202 -202
  39. data/glfw-3.3.9.bin.MACOS/docs/html/group__gamepad__buttons.html +410 -410
  40. data/glfw-3.3.9.bin.MACOS/docs/html/group__hat__state.html +234 -234
  41. data/glfw-3.3.9.bin.MACOS/docs/html/group__init.html +570 -570
  42. data/glfw-3.3.9.bin.MACOS/docs/html/group__input.html +2255 -2255
  43. data/glfw-3.3.9.bin.MACOS/docs/html/group__joysticks.html +362 -362
  44. data/glfw-3.3.9.bin.MACOS/docs/html/group__keys.html +2034 -2034
  45. data/glfw-3.3.9.bin.MACOS/docs/html/group__mods.html +198 -198
  46. data/glfw-3.3.9.bin.MACOS/docs/html/group__monitor.html +848 -848
  47. data/glfw-3.3.9.bin.MACOS/docs/html/group__native.html +812 -812
  48. data/glfw-3.3.9.bin.MACOS/docs/html/group__shapes.html +198 -198
  49. data/glfw-3.3.9.bin.MACOS/docs/html/group__vulkan.html +359 -359
  50. data/glfw-3.3.9.bin.MACOS/docs/html/group__window.html +3434 -3434
  51. data/glfw-3.3.9.bin.MACOS/docs/html/index.html +100 -100
  52. data/glfw-3.3.9.bin.MACOS/docs/html/input_8dox.html +81 -81
  53. data/glfw-3.3.9.bin.MACOS/docs/html/input_guide.html +570 -570
  54. data/glfw-3.3.9.bin.MACOS/docs/html/internal_8dox.html +81 -81
  55. data/glfw-3.3.9.bin.MACOS/docs/html/internals_guide.html +132 -132
  56. data/glfw-3.3.9.bin.MACOS/docs/html/intro_8dox.html +81 -81
  57. data/glfw-3.3.9.bin.MACOS/docs/html/intro_guide.html +351 -351
  58. data/glfw-3.3.9.bin.MACOS/docs/html/jquery.js +33 -33
  59. data/glfw-3.3.9.bin.MACOS/docs/html/main_8dox.html +81 -81
  60. data/glfw-3.3.9.bin.MACOS/docs/html/menu.js +136 -136
  61. data/glfw-3.3.9.bin.MACOS/docs/html/menudata.js +29 -29
  62. data/glfw-3.3.9.bin.MACOS/docs/html/minus.svg +8 -8
  63. data/glfw-3.3.9.bin.MACOS/docs/html/minusd.svg +8 -8
  64. data/glfw-3.3.9.bin.MACOS/docs/html/monitor_8dox.html +81 -81
  65. data/glfw-3.3.9.bin.MACOS/docs/html/monitor_guide.html +229 -229
  66. data/glfw-3.3.9.bin.MACOS/docs/html/moving_8dox.html +81 -81
  67. data/glfw-3.3.9.bin.MACOS/docs/html/moving_guide.html +374 -374
  68. data/glfw-3.3.9.bin.MACOS/docs/html/news.html +634 -634
  69. data/glfw-3.3.9.bin.MACOS/docs/html/news_8dox.html +81 -81
  70. data/glfw-3.3.9.bin.MACOS/docs/html/pages.html +99 -99
  71. data/glfw-3.3.9.bin.MACOS/docs/html/plus.svg +9 -9
  72. data/glfw-3.3.9.bin.MACOS/docs/html/plusd.svg +9 -9
  73. data/glfw-3.3.9.bin.MACOS/docs/html/quick_8dox.html +81 -81
  74. data/glfw-3.3.9.bin.MACOS/docs/html/quick_guide.html +397 -397
  75. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_0.js +5 -5
  76. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_1.js +4 -4
  77. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_10.js +65 -65
  78. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_11.js +26 -26
  79. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_12.js +44 -44
  80. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_13.js +34 -34
  81. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_14.js +12 -12
  82. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_15.js +52 -52
  83. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_16.js +69 -69
  84. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_17.js +51 -51
  85. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_18.js +14 -14
  86. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_19.js +36 -36
  87. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_1a.js +98 -98
  88. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_1b.js +12 -12
  89. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_2.js +6 -6
  90. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_3.js +9 -9
  91. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_4.js +57 -57
  92. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_5.js +22 -22
  93. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_6.js +103 -103
  94. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_7.js +23 -23
  95. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_8.js +35 -35
  96. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_9.js +63 -63
  97. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_a.js +505 -505
  98. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_b.js +24 -24
  99. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_c.js +50 -50
  100. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_d.js +17 -17
  101. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_e.js +12 -12
  102. data/glfw-3.3.9.bin.MACOS/docs/html/search/all_f.js +35 -35
  103. data/glfw-3.3.9.bin.MACOS/docs/html/search/classes_0.js +7 -7
  104. data/glfw-3.3.9.bin.MACOS/docs/html/search/close.svg +18 -18
  105. data/glfw-3.3.9.bin.MACOS/docs/html/search/defines_0.js +34 -34
  106. data/glfw-3.3.9.bin.MACOS/docs/html/search/files_0.js +4 -4
  107. data/glfw-3.3.9.bin.MACOS/docs/html/search/files_1.js +6 -6
  108. data/glfw-3.3.9.bin.MACOS/docs/html/search/files_2.js +5 -5
  109. data/glfw-3.3.9.bin.MACOS/docs/html/search/files_3.js +6 -6
  110. data/glfw-3.3.9.bin.MACOS/docs/html/search/files_4.js +6 -6
  111. data/glfw-3.3.9.bin.MACOS/docs/html/search/files_5.js +4 -4
  112. data/glfw-3.3.9.bin.MACOS/docs/html/search/files_6.js +4 -4
  113. data/glfw-3.3.9.bin.MACOS/docs/html/search/files_7.js +4 -4
  114. data/glfw-3.3.9.bin.MACOS/docs/html/search/files_8.js +4 -4
  115. data/glfw-3.3.9.bin.MACOS/docs/html/search/functions_0.js +146 -146
  116. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_0.js +6 -6
  117. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_1.js +4 -4
  118. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_10.js +4 -4
  119. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_2.js +6 -6
  120. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_3.js +5 -5
  121. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_4.js +4 -4
  122. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_5.js +5 -5
  123. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_6.js +4 -4
  124. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_7.js +5 -5
  125. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_8.js +5 -5
  126. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_9.js +6 -6
  127. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_a.js +6 -6
  128. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_b.js +4 -4
  129. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_c.js +4 -4
  130. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_d.js +7 -7
  131. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_e.js +4 -4
  132. data/glfw-3.3.9.bin.MACOS/docs/html/search/groups_f.js +5 -5
  133. data/glfw-3.3.9.bin.MACOS/docs/html/search/mag.svg +24 -24
  134. data/glfw-3.3.9.bin.MACOS/docs/html/search/mag_d.svg +24 -24
  135. data/glfw-3.3.9.bin.MACOS/docs/html/search/mag_sel.svg +31 -31
  136. data/glfw-3.3.9.bin.MACOS/docs/html/search/mag_seld.svg +31 -31
  137. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_0.js +4 -4
  138. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_1.js +4 -4
  139. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_10.js +4 -4
  140. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_2.js +5 -5
  141. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_3.js +4 -4
  142. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_4.js +6 -6
  143. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_5.js +4 -4
  144. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_6.js +4 -4
  145. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_7.js +7 -7
  146. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_8.js +6 -6
  147. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_9.js +4 -4
  148. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_a.js +5 -5
  149. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_b.js +5 -5
  150. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_c.js +4 -4
  151. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_d.js +6 -6
  152. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_e.js +6 -6
  153. data/glfw-3.3.9.bin.MACOS/docs/html/search/pages_f.js +4 -4
  154. data/glfw-3.3.9.bin.MACOS/docs/html/search/search.css +291 -291
  155. data/glfw-3.3.9.bin.MACOS/docs/html/search/search.js +840 -840
  156. data/glfw-3.3.9.bin.MACOS/docs/html/search/searchdata.js +39 -39
  157. data/glfw-3.3.9.bin.MACOS/docs/html/search/typedefs_0.js +32 -32
  158. data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_0.js +4 -4
  159. data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_1.js +6 -6
  160. data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_2.js +5 -5
  161. data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_3.js +4 -4
  162. data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_4.js +4 -4
  163. data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_5.js +6 -6
  164. data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_6.js +4 -4
  165. data/glfw-3.3.9.bin.MACOS/docs/html/search/variables_7.js +4 -4
  166. data/glfw-3.3.9.bin.MACOS/docs/html/spaces.svg +877 -877
  167. data/glfw-3.3.9.bin.MACOS/docs/html/struct_g_l_f_wgamepadstate.html +134 -134
  168. data/glfw-3.3.9.bin.MACOS/docs/html/struct_g_l_f_wgammaramp.html +170 -170
  169. data/glfw-3.3.9.bin.MACOS/docs/html/struct_g_l_f_wimage.html +151 -151
  170. data/glfw-3.3.9.bin.MACOS/docs/html/struct_g_l_f_wvidmode.html +204 -204
  171. data/glfw-3.3.9.bin.MACOS/docs/html/vulkan_8dox.html +81 -81
  172. data/glfw-3.3.9.bin.MACOS/docs/html/vulkan_guide.html +196 -196
  173. data/glfw-3.3.9.bin.MACOS/docs/html/window_8dox.html +81 -81
  174. data/glfw-3.3.9.bin.MACOS/docs/html/window_guide.html +763 -763
  175. data/glfw-3.3.9.bin.MACOS/include/GLFW/glfw3.h +5932 -5932
  176. data/glfw-3.3.9.bin.MACOS/include/GLFW/glfw3native.h +634 -634
  177. data/glfw-3.3.9.bin.MACOS/lib-arm64/libglfw.3.dylib +0 -0
  178. data/glfw-3.3.9.bin.MACOS/lib-universal/libglfw.3.dylib +0 -0
  179. data/glfw-3.3.9.bin.MACOS/lib-x86_64/libglfw.3.dylib +0 -0
  180. data/lib/engine/autoloader.rb +11 -11
  181. data/lib/engine/camera.rb +12 -12
  182. data/lib/engine/component.rb +63 -63
  183. data/lib/engine/components/audio_source.rb +41 -41
  184. data/lib/engine/components/direction_light.rb +22 -22
  185. data/lib/engine/components/font_renderer.rb +134 -134
  186. data/lib/engine/components/mesh_renderer.rb +31 -31
  187. data/lib/engine/components/orthographic_camera.rb +54 -54
  188. data/lib/engine/components/perspective_camera.rb +53 -53
  189. data/lib/engine/components/point_light.rb +23 -23
  190. data/lib/engine/components/sprite_renderer.rb +141 -141
  191. data/lib/engine/components/ui_font_renderer.rb +140 -140
  192. data/lib/engine/components/ui_sprite_clickbox.rb +62 -0
  193. data/lib/engine/components/ui_sprite_renderer.rb +101 -101
  194. data/lib/engine/compute_shader.rb +93 -0
  195. data/lib/engine/cursor.rb +43 -43
  196. data/lib/engine/debugging.rb +41 -41
  197. data/lib/engine/engine.rb +131 -139
  198. data/lib/engine/font.rb +74 -74
  199. data/lib/engine/game_object.rb +234 -218
  200. data/lib/engine/importers/font_importer.rb +69 -69
  201. data/lib/engine/importers/obj_file.rb +244 -244
  202. data/lib/engine/importers/obj_importer.rb +33 -33
  203. data/lib/engine/input.rb +105 -61
  204. data/lib/engine/material.rb +79 -79
  205. data/lib/engine/mesh.rb +43 -43
  206. data/lib/engine/path.rb +92 -92
  207. data/lib/engine/physics/collision.rb +12 -12
  208. data/lib/engine/physics/components/cube_collider.rb +6 -6
  209. data/lib/engine/physics/components/rigidbody.rb +103 -103
  210. data/lib/engine/physics/components/sphere_collider.rb +93 -93
  211. data/lib/engine/physics/physics_resolver.rb +37 -37
  212. data/lib/engine/polygon_mesh.rb +45 -45
  213. data/lib/engine/quaternion.rb +234 -228
  214. data/lib/engine/rendering/instance_renderer.rb +153 -153
  215. data/lib/engine/rendering/render_pipeline.rb +35 -35
  216. data/lib/engine/screenshoter.rb +34 -34
  217. data/lib/engine/shader.rb +119 -91
  218. data/lib/engine/shaders/colour_frag.glsl +8 -8
  219. data/lib/engine/shaders/colour_vertex.glsl +13 -13
  220. data/lib/engine/shaders/mesh_frag.glsl +102 -102
  221. data/lib/engine/shaders/mesh_vertex.glsl +25 -25
  222. data/lib/engine/shaders/skybox_frag.glsl +12 -12
  223. data/lib/engine/shaders/skybox_vert.glsl +14 -14
  224. data/lib/engine/shaders/sprite_frag.glsl +17 -17
  225. data/lib/engine/shaders/sprite_vertex.glsl +15 -15
  226. data/lib/engine/shaders/text_frag.glsl +15 -15
  227. data/lib/engine/shaders/text_vertex.glsl +31 -31
  228. data/lib/engine/shaders/ui_sprite_frag.glsl +15 -15
  229. data/lib/engine/shaders/ui_sprite_vertex.glsl +15 -15
  230. data/lib/engine/shaders/vertex_lit_frag.glsl +89 -89
  231. data/lib/engine/shaders/vertex_lit_vertex.glsl +28 -28
  232. data/lib/engine/tangent_calculator.rb +42 -42
  233. data/lib/engine/texture.rb +53 -53
  234. data/lib/engine/video_mode.rb +37 -37
  235. data/lib/engine/window.rb +126 -126
  236. data/lib/ruby_rpg.rb +58 -56
  237. metadata +5 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b56f66eb45701f903472f4d948d42e1a67a9bf051c59e0515ee8df1195503d7e
4
- data.tar.gz: 35e50569d84181202098fd7425025ef73bdc54d0d7eae16bef0ad0acbe1fb6fb
3
+ metadata.gz: 4bf6428039e6cf606b86344e25807802ee16033bee9da9403800b9e77918378f
4
+ data.tar.gz: 2c7494066cec52f3cf40d2cd4573a9bf2e98337bdb3430ed35384ad17a474645
5
5
  SHA512:
6
- metadata.gz: '08ec8719dae3c6788e4aa692059706ed9635b540974164339c4a5887dc0a0a420b48d8b7abc4022f87b899b8e2c02674d060107ec8c3dad06dcd6431add8f433'
7
- data.tar.gz: a65cadf65c339c7b656c825dfa1ea6365e6fb2c94f090396b3e11c4e515d78b45819447bd186ebfb79424ed5fc25689d66cb4ed4a59b76c7e0ad7b5d943a187d
6
+ metadata.gz: 86cddbf4c6f174178fd232ae2f6dde6020657cbfb27e83c10a65eefbd90dd671cb50f07a7216e1e71e8f96761d4fcb973a0997a2175c67167771dae91697f8dd
7
+ data.tar.gz: 23420656b2170c3e54b08f1b8674fa58907e52f7fcd77128e005d00713f07cc4fa44b3b4d1dd4ec51b425fb0cedbc7fd61314dd98a52370cb4878462e9c8ed86
data/README.md CHANGED
@@ -1,21 +1,21 @@
1
- # Welcome to ruby_rpg!
2
-
3
- `ruby_rpg` is an OpenGL based game engine written in Ruby.
4
- It is designed to be easy to use and easy to extend.
5
- It is still in the early stages of development, but it is already capable of rendering both 2D and 3D graphics.
6
-
7
- ## Installation
8
- You can find full instructions on th [wiki](https://github.com/rubyrpg/ruby_rpg/wiki/Installation).
9
-
10
- ## Usage
11
- You can find docs and guides on the [wiki](https://github.com/rubyrpg/ruby_rpg/wiki).
12
- For a basic example to get you up off the ground take a look at [hello_ruby_rpg](https://github.com/rubyrpg/hello_ruby_rpg).
13
- For some more complex examples you can take a look in the samples folder of this repo.
14
-
15
- ## Contributing
16
- 1. Fork it
17
- 2. Create your feature branch (`git checkout -b my-new-feature`)
18
- 3. Commit your changes (`git commit -am 'Add some feature'`)
19
- 4. Push to the branch (`git push origin my-new-feature`)
20
- 5. Create new Pull Request
21
- 6. I'll get to reviewing it as soon as I can!
1
+ # Welcome to ruby_rpg!
2
+
3
+ `ruby_rpg` is an OpenGL based game engine written in Ruby.
4
+ It is designed to be easy to use and easy to extend.
5
+ It is still in the early stages of development, but it is already capable of rendering both 2D and 3D graphics.
6
+
7
+ ## Installation
8
+ You can find full instructions on th [wiki](https://github.com/rubyrpg/ruby_rpg/wiki/Installation).
9
+
10
+ ## Usage
11
+ You can find docs and guides on the [wiki](https://github.com/rubyrpg/ruby_rpg/wiki).
12
+ For a basic example to get you up off the ground take a look at [hello_ruby_rpg](https://github.com/rubyrpg/hello_ruby_rpg).
13
+ For some more complex examples you can take a look in the samples folder of this repo.
14
+
15
+ ## Contributing
16
+ 1. Fork it
17
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
18
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
19
+ 4. Push to the branch (`git push origin my-new-feature`)
20
+ 5. Create new Pull Request
21
+ 6. I'll get to reviewing it as soon as I can!
data/bin/build.bash CHANGED
@@ -1,13 +1,13 @@
1
- #!/bin/bash
2
-
3
- input_file=$1
4
- output_file=$2
5
-
6
- export BUILDING=true
7
-
8
- parent_path=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P )
9
- glfw_path=$parent_path/../glfw-3.4.bin.WIN64
10
-
11
- ocran $input_file \
12
- **/*.png **/*.obj **/*.glsl **/*.vertex_data **/*.index_data **/*.json **/*.csv $glfw_path/**/* src/**/*.rb \
13
- --output $output_file
1
+ #!/bin/bash
2
+
3
+ input_file=$1
4
+ output_file=$2
5
+
6
+ export BUILDING=true
7
+
8
+ parent_path=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P )
9
+ glfw_path=$parent_path/../glfw-3.4.bin.WIN64
10
+
11
+ ocran $input_file \
12
+ **/*.png **/*.obj **/*.glsl **/*.vertex_data **/*.index_data **/*.json **/*.csv $glfw_path/**/* src/**/*.rb \
13
+ --output $output_file
data/bin/import CHANGED
@@ -1,44 +1,44 @@
1
- #!/usr/bin/env ruby
2
-
3
- # frozen_string_literal: true
4
-
5
- require_relative '../lib/engine/importers/font_importer'
6
- require_relative '../lib/engine/importers/obj_importer'
7
- require_relative '../lib/engine/importers/obj_file'
8
- require_relative '../lib/engine/path'
9
- require_relative '../lib/engine/tangent_calculator'
10
-
11
- require 'fileutils'
12
- require "rmagick"
13
- require "matrix"
14
-
15
- assets_path = ARGV[0]
16
-
17
- puts "importing assets from #{assets_path}"
18
- FileUtils.mkdir_p(File.join(assets_path, '_imported'))
19
-
20
- fonts = Dir.glob("#{assets_path}/**/*.ttf")
21
- puts "found #{fonts.size} fonts"
22
- fonts.each do |font|
23
- puts "importing #{font}"
24
- destination_image = (font.delete_prefix(assets_path)).gsub(/\.ttf$/, '.png')
25
- destination_font_metrics = (font.delete_prefix(assets_path)).gsub(/\.ttf$/, '.json')
26
-
27
- destination_path = File.join(assets_path, '_imported', destination_image)
28
- destination_font_metrics_file = File.join(assets_path, '_imported', destination_font_metrics)
29
-
30
- puts " -> #{destination_path}, #{destination_font_metrics_file}"
31
- Engine::FontImporter.new(font, destination_path, destination_font_metrics_file).import
32
- end
33
-
34
- obj_files = Dir.glob("#{assets_path}/**/*.obj")
35
- puts "found #{obj_files.size} obj files"
36
- obj_files.each do |obj_file|
37
- puts "importing #{obj_file}"
38
- destination_vertex = (obj_file.delete_prefix(assets_path)).gsub(/\.obj$/, '.vertex_data')
39
- destination_index = (obj_file.delete_prefix(assets_path)).gsub(/\.obj$/, '.index_data')
40
- destination_vertex_path = File.join(assets_path, '_imported', destination_vertex)
41
- destination_index_path = File.join(assets_path, '_imported', destination_index)
42
- puts " -> #{destination_vertex_path}, #{destination_index_path}"
43
- Engine::ObjImporter.new(obj_file.gsub(".obj", ""), destination_vertex_path, destination_index_path).import
44
- end
1
+ #!/usr/bin/env ruby
2
+
3
+ # frozen_string_literal: true
4
+
5
+ require_relative '../lib/engine/importers/font_importer'
6
+ require_relative '../lib/engine/importers/obj_importer'
7
+ require_relative '../lib/engine/importers/obj_file'
8
+ require_relative '../lib/engine/path'
9
+ require_relative '../lib/engine/tangent_calculator'
10
+
11
+ require 'fileutils'
12
+ require "rmagick"
13
+ require "matrix"
14
+
15
+ assets_path = ARGV[0]
16
+
17
+ puts "importing assets from #{assets_path}"
18
+ FileUtils.mkdir_p(File.join(assets_path, '_imported'))
19
+
20
+ fonts = Dir.glob("#{assets_path}/**/*.ttf")
21
+ puts "found #{fonts.size} fonts"
22
+ fonts.each do |font|
23
+ puts "importing #{font}"
24
+ destination_image = (font.delete_prefix(assets_path)).gsub(/\.ttf$/, '.png')
25
+ destination_font_metrics = (font.delete_prefix(assets_path)).gsub(/\.ttf$/, '.json')
26
+
27
+ destination_path = File.join(assets_path, '_imported', destination_image)
28
+ destination_font_metrics_file = File.join(assets_path, '_imported', destination_font_metrics)
29
+
30
+ puts " -> #{destination_path}, #{destination_font_metrics_file}"
31
+ Engine::FontImporter.new(font, destination_path, destination_font_metrics_file).import
32
+ end
33
+
34
+ obj_files = Dir.glob("#{assets_path}/**/*.obj")
35
+ puts "found #{obj_files.size} obj files"
36
+ obj_files.each do |obj_file|
37
+ puts "importing #{obj_file}"
38
+ destination_vertex = (obj_file.delete_prefix(assets_path)).gsub(/\.obj$/, '.vertex_data')
39
+ destination_index = (obj_file.delete_prefix(assets_path)).gsub(/\.obj$/, '.index_data')
40
+ destination_vertex_path = File.join(assets_path, '_imported', destination_vertex)
41
+ destination_index_path = File.join(assets_path, '_imported', destination_index)
42
+ puts " -> #{destination_vertex_path}, #{destination_index_path}"
43
+ Engine::ObjImporter.new(obj_file.gsub(".obj", ""), destination_vertex_path, destination_index_path).import
44
+ end
@@ -1,23 +1,23 @@
1
- Copyright (c) 2002-2006 Marcus Geelnard
2
-
3
- Copyright (c) 2006-2019 Camilla Löwy
4
-
5
- This software is provided 'as-is', without any express or implied
6
- warranty. In no event will the authors be held liable for any damages
7
- arising from the use of this software.
8
-
9
- Permission is granted to anyone to use this software for any purpose,
10
- including commercial applications, and to alter it and redistribute it
11
- freely, subject to the following restrictions:
12
-
13
- 1. The origin of this software must not be misrepresented; you must not
14
- claim that you wrote the original software. If you use this software
15
- in a product, an acknowledgment in the product documentation would
16
- be appreciated but is not required.
17
-
18
- 2. Altered source versions must be plainly marked as such, and must not
19
- be misrepresented as being the original software.
20
-
21
- 3. This notice may not be removed or altered from any source
22
- distribution.
23
-
1
+ Copyright (c) 2002-2006 Marcus Geelnard
2
+
3
+ Copyright (c) 2006-2019 Camilla Löwy
4
+
5
+ This software is provided 'as-is', without any express or implied
6
+ warranty. In no event will the authors be held liable for any damages
7
+ arising from the use of this software.
8
+
9
+ Permission is granted to anyone to use this software for any purpose,
10
+ including commercial applications, and to alter it and redistribute it
11
+ freely, subject to the following restrictions:
12
+
13
+ 1. The origin of this software must not be misrepresented; you must not
14
+ claim that you wrote the original software. If you use this software
15
+ in a product, an acknowledgment in the product documentation would
16
+ be appreciated but is not required.
17
+
18
+ 2. Altered source versions must be plainly marked as such, and must not
19
+ be misrepresented as being the original software.
20
+
21
+ 3. This notice may not be removed or altered from any source
22
+ distribution.
23
+
@@ -1,5 +1,5 @@
1
- # GLFW binaries for macOS
2
-
3
- This archive contains documentation, headers and pre-compiled static and dynamic
4
- libraries for GLFW 3.3.9, targeting macOS 10.8 and later. Both Intel
5
- (x86\_64), Apple Silicon (arm64) and Universal binaries are provided.
1
+ # GLFW binaries for macOS
2
+
3
+ This archive contains documentation, headers and pre-compiled static and dynamic
4
+ libraries for GLFW 3.3.9, targeting macOS 10.8 and later. Both Intel
5
+ (x86\_64), Apple Silicon (arm64) and Universal binaries are provided.
@@ -1,81 +1,81 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <meta http-equiv="X-UA-Compatible" content="IE=9"/>
7
- <meta name="generator" content="Doxygen 1.9.8"/>
8
- <title>GLFW: build.dox File Reference</title>
9
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
10
- <script type="text/javascript" src="jquery.js"></script>
11
- <script type="text/javascript" src="dynsections.js"></script>
12
- <link href="search/search.css" rel="stylesheet" type="text/css"/>
13
- <script type="text/javascript" src="search/searchdata.js"></script>
14
- <script type="text/javascript" src="search/search.js"></script>
15
- <link href="doxygen.css" rel="stylesheet" type="text/css" />
16
- <link href="extra.css" rel="stylesheet" type="text/css"/>
17
- </head>
18
- <body>
19
- <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
20
- <div id="titlearea">
21
- <div class="glfwheader">
22
- <a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
23
- <ul class="glfwnavbar">
24
- <li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
25
- <li><a href="https://www.glfw.org/download.html">Download</a></li>
26
- <li><a href="https://www.glfw.org/community.html">Community</a></li>
27
- </ul>
28
- </div>
29
- </div>
30
- <!-- end header part -->
31
- <!-- Generated by Doxygen 1.9.8 -->
32
- <script type="text/javascript">
33
- /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
34
- var searchBox = new SearchBox("searchBox", "search/",'.html');
35
- /* @license-end */
36
- </script>
37
- <script type="text/javascript" src="menudata.js"></script>
38
- <script type="text/javascript" src="menu.js"></script>
39
- <script type="text/javascript">
40
- /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
41
- $(function() {
42
- initMenu('',true,false,'search.php','Search');
43
- $(document).ready(function() { init_search(); });
44
- });
45
- /* @license-end */
46
- </script>
47
- <div id="main-nav"></div>
48
- <!-- window showing the filter options -->
49
- <div id="MSearchSelectWindow"
50
- onmouseover="return searchBox.OnSearchSelectShow()"
51
- onmouseout="return searchBox.OnSearchSelectHide()"
52
- onkeydown="return searchBox.OnSearchSelectKey(event)">
53
- </div>
54
-
55
- <!-- iframe showing the search results (closed by default) -->
56
- <div id="MSearchResultsWindow">
57
- <div id="MSearchResults">
58
- <div class="SRPage">
59
- <div id="SRIndex">
60
- <div id="SRResults"></div>
61
- <div class="SRStatus" id="Loading">Loading...</div>
62
- <div class="SRStatus" id="Searching">Searching...</div>
63
- <div class="SRStatus" id="NoMatches">No Matches</div>
64
- </div>
65
- </div>
66
- </div>
67
- </div>
68
-
69
- </div><!-- top -->
70
- <div class="header">
71
- <div class="headertitle"><div class="title">build.dox File Reference</div></div>
72
- </div><!--header-->
73
- <div class="contents">
74
- </div><!-- contents -->
75
- <address class="footer">
76
- <p>
77
- Last update on Thu Dec 14 2023 for GLFW 3.3.9
78
- </p>
79
- </address>
80
- </body>
81
- </html>
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <meta http-equiv="X-UA-Compatible" content="IE=9"/>
7
+ <meta name="generator" content="Doxygen 1.9.8"/>
8
+ <title>GLFW: build.dox File Reference</title>
9
+ <link href="tabs.css" rel="stylesheet" type="text/css"/>
10
+ <script type="text/javascript" src="jquery.js"></script>
11
+ <script type="text/javascript" src="dynsections.js"></script>
12
+ <link href="search/search.css" rel="stylesheet" type="text/css"/>
13
+ <script type="text/javascript" src="search/searchdata.js"></script>
14
+ <script type="text/javascript" src="search/search.js"></script>
15
+ <link href="doxygen.css" rel="stylesheet" type="text/css" />
16
+ <link href="extra.css" rel="stylesheet" type="text/css"/>
17
+ </head>
18
+ <body>
19
+ <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
20
+ <div id="titlearea">
21
+ <div class="glfwheader">
22
+ <a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
23
+ <ul class="glfwnavbar">
24
+ <li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
25
+ <li><a href="https://www.glfw.org/download.html">Download</a></li>
26
+ <li><a href="https://www.glfw.org/community.html">Community</a></li>
27
+ </ul>
28
+ </div>
29
+ </div>
30
+ <!-- end header part -->
31
+ <!-- Generated by Doxygen 1.9.8 -->
32
+ <script type="text/javascript">
33
+ /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
34
+ var searchBox = new SearchBox("searchBox", "search/",'.html');
35
+ /* @license-end */
36
+ </script>
37
+ <script type="text/javascript" src="menudata.js"></script>
38
+ <script type="text/javascript" src="menu.js"></script>
39
+ <script type="text/javascript">
40
+ /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
41
+ $(function() {
42
+ initMenu('',true,false,'search.php','Search');
43
+ $(document).ready(function() { init_search(); });
44
+ });
45
+ /* @license-end */
46
+ </script>
47
+ <div id="main-nav"></div>
48
+ <!-- window showing the filter options -->
49
+ <div id="MSearchSelectWindow"
50
+ onmouseover="return searchBox.OnSearchSelectShow()"
51
+ onmouseout="return searchBox.OnSearchSelectHide()"
52
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
53
+ </div>
54
+
55
+ <!-- iframe showing the search results (closed by default) -->
56
+ <div id="MSearchResultsWindow">
57
+ <div id="MSearchResults">
58
+ <div class="SRPage">
59
+ <div id="SRIndex">
60
+ <div id="SRResults"></div>
61
+ <div class="SRStatus" id="Loading">Loading...</div>
62
+ <div class="SRStatus" id="Searching">Searching...</div>
63
+ <div class="SRStatus" id="NoMatches">No Matches</div>
64
+ </div>
65
+ </div>
66
+ </div>
67
+ </div>
68
+
69
+ </div><!-- top -->
70
+ <div class="header">
71
+ <div class="headertitle"><div class="title">build.dox File Reference</div></div>
72
+ </div><!--header-->
73
+ <div class="contents">
74
+ </div><!-- contents -->
75
+ <address class="footer">
76
+ <p>
77
+ Last update on Thu Dec 14 2023 for GLFW 3.3.9
78
+ </p>
79
+ </address>
80
+ </body>
81
+ </html>