ruby2d 0.12.1 → 1.0.0

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 (620) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.md +7 -0
  3. data/README.md +141 -0
  4. data/USAGE.md +2435 -0
  5. data/assets/Rakefile +637 -0
  6. data/assets/build_support/CMakeLists.txt +94 -0
  7. data/assets/build_support/mruby/build_config.rb +34 -0
  8. data/assets/build_support/mruby/build_config_wasm.rb +30 -0
  9. data/assets/build_support/sdl_test.c +174 -0
  10. data/assets/deps.yaml +16 -0
  11. data/assets/platform/include/SDL3/SDL.h +91 -0
  12. data/assets/platform/include/SDL3/SDL_assert.h +705 -0
  13. data/assets/platform/include/SDL3/SDL_asyncio.h +550 -0
  14. data/assets/platform/include/SDL3/SDL_atomic.h +692 -0
  15. data/assets/platform/include/SDL3/SDL_audio.h +2370 -0
  16. data/assets/platform/include/SDL3/SDL_begin_code.h +553 -0
  17. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_bits.h +47 -27
  18. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_blendmode.h +59 -55
  19. data/assets/platform/include/SDL3/SDL_camera.h +535 -0
  20. data/assets/platform/include/SDL3/SDL_clipboard.h +331 -0
  21. data/assets/{include/SDL2/close_code.h → platform/include/SDL3/SDL_close_code.h} +9 -8
  22. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_copying.h +3 -1
  23. data/assets/platform/include/SDL3/SDL_cpuinfo.h +374 -0
  24. data/assets/platform/include/SDL3/SDL_dialog.h +343 -0
  25. data/assets/platform/include/SDL3/SDL_dlopennote.h +234 -0
  26. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_egl.h +11 -8
  27. data/assets/platform/include/SDL3/SDL_endian.h +645 -0
  28. data/assets/platform/include/SDL3/SDL_error.h +226 -0
  29. data/assets/platform/include/SDL3/SDL_events.h +1645 -0
  30. data/assets/platform/include/SDL3/SDL_filesystem.h +537 -0
  31. data/assets/platform/include/SDL3/SDL_gamepad.h +1656 -0
  32. data/assets/platform/include/SDL3/SDL_gpu.h +4608 -0
  33. data/assets/platform/include/SDL3/SDL_guid.h +106 -0
  34. data/assets/platform/include/SDL3/SDL_haptic.h +1461 -0
  35. data/assets/platform/include/SDL3/SDL_hidapi.h +571 -0
  36. data/assets/platform/include/SDL3/SDL_hints.h +5001 -0
  37. data/assets/platform/include/SDL3/SDL_init.h +507 -0
  38. data/assets/platform/include/SDL3/SDL_intrin.h +410 -0
  39. data/assets/platform/include/SDL3/SDL_iostream.h +1379 -0
  40. data/assets/platform/include/SDL3/SDL_joystick.h +1385 -0
  41. data/assets/platform/include/SDL3/SDL_keyboard.h +608 -0
  42. data/assets/platform/include/SDL3/SDL_keycode.h +347 -0
  43. data/assets/platform/include/SDL3/SDL_loadso.h +145 -0
  44. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_locale.h +40 -24
  45. data/assets/platform/include/SDL3/SDL_log.h +541 -0
  46. data/assets/platform/include/SDL3/SDL_main.h +704 -0
  47. data/assets/platform/include/SDL3/SDL_main_impl.h +151 -0
  48. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_messagebox.h +85 -48
  49. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_metal.h +29 -29
  50. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_misc.h +13 -12
  51. data/assets/platform/include/SDL3/SDL_mouse.h +813 -0
  52. data/assets/platform/include/SDL3/SDL_mutex.h +1117 -0
  53. data/assets/platform/include/SDL3/SDL_oldnames.h +1339 -0
  54. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_opengl.h +1247 -278
  55. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_opengl_glext.h +5 -1
  56. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_opengles.h +6 -7
  57. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_opengles2.h +10 -11
  58. data/assets/platform/include/SDL3/SDL_pen.h +198 -0
  59. data/assets/platform/include/SDL3/SDL_pixels.h +1441 -0
  60. data/assets/{include/SDL2/SDL_test_log.h → platform/include/SDL3/SDL_platform.h} +25 -26
  61. data/assets/platform/include/SDL3/SDL_platform_defines.h +497 -0
  62. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_power.h +40 -20
  63. data/assets/platform/include/SDL3/SDL_process.h +441 -0
  64. data/assets/platform/include/SDL3/SDL_properties.h +572 -0
  65. data/assets/platform/include/SDL3/SDL_rect.h +528 -0
  66. data/assets/platform/include/SDL3/SDL_render.h +3028 -0
  67. data/assets/platform/include/SDL3/SDL_revision.h +59 -0
  68. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_scancode.h +59 -68
  69. data/assets/platform/include/SDL3/SDL_sensor.h +321 -0
  70. data/assets/platform/include/SDL3/SDL_stdinc.h +6186 -0
  71. data/assets/platform/include/SDL3/SDL_storage.h +686 -0
  72. data/assets/platform/include/SDL3/SDL_surface.h +1769 -0
  73. data/assets/platform/include/SDL3/SDL_system.h +840 -0
  74. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_test.h +16 -22
  75. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_test_assert.h +27 -34
  76. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_test_common.h +109 -52
  77. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_test_compare.h +22 -14
  78. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_test_crc32.h +27 -30
  79. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_test_font.h +50 -49
  80. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_test_fuzzer.h +64 -79
  81. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_test_harness.h +47 -30
  82. data/assets/platform/include/SDL3/SDL_test_log.h +83 -0
  83. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_test_md5.h +21 -28
  84. data/assets/{include/SDL2 → platform/include/SDL3}/SDL_test_memory.h +19 -16
  85. data/assets/platform/include/SDL3/SDL_thread.h +602 -0
  86. data/assets/platform/include/SDL3/SDL_time.h +249 -0
  87. data/assets/platform/include/SDL3/SDL_timer.h +454 -0
  88. data/assets/platform/include/SDL3/SDL_touch.h +184 -0
  89. data/assets/platform/include/SDL3/SDL_tray.h +544 -0
  90. data/assets/platform/include/SDL3/SDL_version.h +198 -0
  91. data/assets/platform/include/SDL3/SDL_video.h +3497 -0
  92. data/assets/platform/include/SDL3/SDL_vulkan.h +287 -0
  93. data/assets/platform/include/SDL3_image/SDL_image.h +3328 -0
  94. data/assets/platform/include/SDL3_mixer/SDL_mixer.h +3369 -0
  95. data/assets/platform/include/SDL3_ttf/SDL_textengine.h +181 -0
  96. data/assets/platform/include/SDL3_ttf/SDL_ttf.h +2833 -0
  97. data/assets/{include → platform/include}/mrbconf.h +42 -31
  98. data/assets/{include → platform/include}/mruby/array.h +3 -4
  99. data/assets/{include → platform/include}/mruby/boxing_nan.h +10 -0
  100. data/assets/platform/include/mruby/boxing_no.h +59 -0
  101. data/assets/{include → platform/include}/mruby/boxing_word.h +72 -26
  102. data/assets/platform/include/mruby/class.h +157 -0
  103. data/assets/{include → platform/include}/mruby/common.h +30 -1
  104. data/assets/{include → platform/include}/mruby/compile.h +52 -74
  105. data/assets/{include → platform/include}/mruby/data.h +2 -2
  106. data/assets/{include → platform/include}/mruby/debug.h +12 -5
  107. data/assets/{include → platform/include}/mruby/dump.h +7 -9
  108. data/assets/{include → platform/include}/mruby/endian.h +1 -1
  109. data/assets/platform/include/mruby/error.h +173 -0
  110. data/assets/platform/include/mruby/gc.h +79 -0
  111. data/assets/{include → platform/include}/mruby/hash.h +1 -7
  112. data/assets/platform/include/mruby/internal.h +282 -0
  113. data/assets/platform/include/mruby/irep.h +143 -0
  114. data/assets/{include → platform/include}/mruby/istruct.h +1 -1
  115. data/assets/platform/include/mruby/khash.h +455 -0
  116. data/assets/platform/include/mruby/mempool.h +19 -0
  117. data/assets/{include → platform/include}/mruby/numeric.h +7 -10
  118. data/assets/platform/include/mruby/object.h +51 -0
  119. data/assets/{include → platform/include}/mruby/opcode.h +5 -5
  120. data/assets/{include → platform/include}/mruby/ops.h +19 -6
  121. data/assets/platform/include/mruby/presym/id.h +1447 -0
  122. data/assets/{include → platform/include}/mruby/presym/scanning.h +10 -7
  123. data/assets/platform/include/mruby/presym/table.h +2893 -0
  124. data/assets/platform/include/mruby/presym.h +65 -0
  125. data/assets/platform/include/mruby/proc.h +184 -0
  126. data/assets/{include → platform/include}/mruby/range.h +0 -2
  127. data/assets/{include → platform/include}/mruby/string.h +33 -53
  128. data/assets/platform/include/mruby/throw.h +81 -0
  129. data/assets/{include → platform/include}/mruby/value.h +64 -29
  130. data/assets/{include → platform/include}/mruby/variable.h +6 -23
  131. data/assets/{include → platform/include}/mruby/version.h +7 -7
  132. data/assets/{include → platform/include}/mruby.h +238 -116
  133. data/assets/platform/macos-arm64/bin/mrbc +0 -0
  134. data/assets/platform/macos-arm64/lib/libSDL3.a +0 -0
  135. data/assets/platform/macos-arm64/lib/libSDL3_image.a +0 -0
  136. data/assets/platform/macos-arm64/lib/libSDL3_mixer.a +0 -0
  137. data/assets/platform/macos-arm64/lib/libSDL3_ttf.a +0 -0
  138. data/assets/platform/macos-arm64/lib/libmruby.a +0 -0
  139. data/assets/platform/wasm/lib/libFLAC.a +0 -0
  140. data/assets/platform/wasm/lib/libSDL3.a +0 -0
  141. data/assets/platform/wasm/lib/libSDL3_image.a +0 -0
  142. data/assets/platform/wasm/lib/libSDL3_mixer.a +0 -0
  143. data/assets/platform/wasm/lib/libSDL3_ttf.a +0 -0
  144. data/assets/platform/wasm/lib/libfreetype.a +0 -0
  145. data/assets/platform/wasm/lib/libharfbuzz.a +0 -0
  146. data/assets/platform/wasm/lib/libmruby.a +0 -0
  147. data/assets/platform/wasm/lib/libogg.a +0 -0
  148. data/assets/platform/wasm/lib/libplutosvg.a +0 -0
  149. data/assets/platform/wasm/lib/libplutovg.a +0 -0
  150. data/assets/platform/wasm/lib/libpng.a +0 -0
  151. data/assets/platform/wasm/lib/libpng16.a +0 -0
  152. data/assets/platform/wasm/lib/libvorbis.a +0 -0
  153. data/assets/platform/wasm/lib/libvorbisfile.a +0 -0
  154. data/assets/platform/wasm/lib/libzlibstatic.a +0 -0
  155. data/assets/platform/windows-arm64-mingw-ucrt/bin/mrbc.exe +0 -0
  156. data/assets/platform/windows-arm64-mingw-ucrt/lib/libSDL3.a +0 -0
  157. data/assets/platform/windows-arm64-mingw-ucrt/lib/libSDL3_image.a +0 -0
  158. data/assets/platform/windows-arm64-mingw-ucrt/lib/libSDL3_mixer.a +0 -0
  159. data/assets/platform/windows-arm64-mingw-ucrt/lib/libSDL3_ttf.a +0 -0
  160. data/assets/platform/windows-arm64-mingw-ucrt/lib/libmruby.a +0 -0
  161. data/assets/platform/windows-x86_64-mingw-ucrt/bin/mrbc.exe +0 -0
  162. data/assets/platform/windows-x86_64-mingw-ucrt/lib/libSDL3.a +0 -0
  163. data/assets/platform/windows-x86_64-mingw-ucrt/lib/libSDL3_image.a +0 -0
  164. data/assets/platform/windows-x86_64-mingw-ucrt/lib/libSDL3_mixer.a +0 -0
  165. data/assets/platform/windows-x86_64-mingw-ucrt/lib/libSDL3_ttf.a +0 -0
  166. data/assets/platform/windows-x86_64-mingw-ucrt/lib/libmruby.a +0 -0
  167. data/assets/resources/fonts/outfit/OFL.txt +93 -0
  168. data/assets/resources/fonts/outfit/outfit.ttf +0 -0
  169. data/assets/resources/fonts/roboto_mono/OFL.txt +91 -0
  170. data/assets/resources/fonts/roboto_mono/roboto_mono.ttf +0 -0
  171. data/assets/resources/icons/icon.icns +0 -0
  172. data/assets/resources/icons/icon.png +0 -0
  173. data/assets/resources/spritesheets/License.txt +28 -0
  174. data/assets/resources/spritesheets/spritesheet-backgrounds.png +0 -0
  175. data/assets/resources/spritesheets/spritesheet-backgrounds.xml +16 -0
  176. data/assets/resources/spritesheets/spritesheet-characters.png +0 -0
  177. data/assets/resources/spritesheets/spritesheet-characters.xml +47 -0
  178. data/assets/resources/spritesheets/spritesheet-enemies.png +0 -0
  179. data/assets/resources/spritesheets/spritesheet-enemies.xml +62 -0
  180. data/assets/resources/spritesheets/spritesheet-tiles.png +0 -0
  181. data/assets/resources/spritesheets/spritesheet-tiles.xml +316 -0
  182. data/assets/{wasm → resources/web}/template.html +1 -1
  183. data/assets/target.rb +131 -0
  184. data/bin/ruby2d +281 -82
  185. data/examples/astar.rb +269 -0
  186. data/examples/asteroids.rb +403 -0
  187. data/examples/bezier_editor.rb +96 -0
  188. data/examples/boids.rb +191 -0
  189. data/examples/bouncing_balls.rb +119 -0
  190. data/examples/breakout.rb +186 -0
  191. data/examples/constellations.rb +100 -0
  192. data/examples/dashboard.rb +133 -0
  193. data/examples/double_pendulum.rb +254 -0
  194. data/examples/falling_sand.rb +291 -0
  195. data/examples/fireworks.rb +110 -0
  196. data/examples/fluid_dynamics.rb +340 -0
  197. data/examples/fourier_epicycles.rb +142 -0
  198. data/examples/fractal_tree.rb +326 -0
  199. data/examples/game_of_life.rb +148 -0
  200. data/examples/gamepads.rb +333 -0
  201. data/examples/hill_driver.rb +613 -0
  202. data/examples/logo_animation.rb +251 -0
  203. data/examples/lorenz_attractor.rb +115 -0
  204. data/examples/mandelbrot.rb +207 -0
  205. data/examples/marching_squares.rb +200 -0
  206. data/examples/maze.rb +323 -0
  207. data/examples/nbody.rb +338 -0
  208. data/examples/outrun.rb +391 -0
  209. data/examples/pixel_paint.rb +313 -0
  210. data/examples/platformer.rb +335 -0
  211. data/examples/ray_casting_maze.rb +175 -0
  212. data/examples/shadow_casting.rb +151 -0
  213. data/examples/shape_recognizer.rb +908 -0
  214. data/examples/snake.rb +144 -0
  215. data/examples/sprite_sheets.rb +246 -0
  216. data/examples/swarm.rb +206 -0
  217. data/examples/tsp_annealing.rb +104 -0
  218. data/examples/ui_controls.rb +163 -0
  219. data/examples/wireframe_3d.rb +139 -0
  220. data/ext/ruby2d/audio.c +324 -0
  221. data/ext/ruby2d/canvas.c +1715 -494
  222. data/ext/ruby2d/ext.c +541 -0
  223. data/ext/ruby2d/extconf.rb +122 -145
  224. data/ext/ruby2d/font.c +566 -20
  225. data/ext/ruby2d/fps.c +92 -0
  226. data/ext/ruby2d/image.c +466 -41
  227. data/ext/ruby2d/ruby2d.c +374 -1890
  228. data/ext/ruby2d/ruby2d.h +840 -460
  229. data/ext/ruby2d/shapes.c +931 -101
  230. data/ext/ruby2d/text.c +586 -21
  231. data/ext/ruby2d/window.c +1693 -283
  232. data/lib/ruby2d/atlas_parser.rb +194 -0
  233. data/lib/ruby2d/audio.rb +73 -0
  234. data/lib/ruby2d/benchmark.rb +259 -0
  235. data/lib/ruby2d/bitmap_text.rb +155 -0
  236. data/lib/ruby2d/button.rb +402 -0
  237. data/lib/ruby2d/canvas.rb +703 -279
  238. data/lib/ruby2d/circle.rb +206 -29
  239. data/lib/ruby2d/cli/browser.rb +314 -0
  240. data/lib/ruby2d/cli/build.rb +471 -257
  241. data/lib/ruby2d/cli/colorize.rb +7 -5
  242. data/lib/ruby2d/cli/examples.rb +127 -0
  243. data/lib/ruby2d/cli/launch.rb +24 -39
  244. data/lib/ruby2d/cli/lib_files.rb +48 -0
  245. data/lib/ruby2d/cli/messages.rb +40 -0
  246. data/lib/ruby2d/cli/setup.rb +273 -0
  247. data/lib/ruby2d/cli/static_server.rb +160 -0
  248. data/lib/ruby2d/cli/usage.rb +255 -0
  249. data/lib/ruby2d/color.rb +191 -69
  250. data/lib/ruby2d/core.rb +37 -19
  251. data/lib/ruby2d/deps_help.rb +89 -0
  252. data/lib/ruby2d/dsl.rb +51 -12
  253. data/lib/ruby2d/ellipse.rb +228 -0
  254. data/lib/ruby2d/exceptions.rb +0 -2
  255. data/lib/ruby2d/font.rb +34 -74
  256. data/lib/ruby2d/gamepad.rb +323 -0
  257. data/lib/ruby2d/gem_paths.rb +19 -0
  258. data/lib/ruby2d/image.rb +155 -52
  259. data/lib/ruby2d/interactive.rb +103 -0
  260. data/lib/ruby2d/json_parser.rb +268 -0
  261. data/lib/ruby2d/line.rb +194 -85
  262. data/lib/ruby2d/mruby_compat.rb +12 -0
  263. data/lib/ruby2d/polygon.rb +297 -0
  264. data/lib/ruby2d/polyline.rb +368 -0
  265. data/lib/ruby2d/quad.rb +358 -94
  266. data/lib/ruby2d/rectangle.rb +77 -19
  267. data/lib/ruby2d/renderable.rb +411 -11
  268. data/lib/ruby2d/sprite.rb +471 -180
  269. data/lib/ruby2d/sprite_sheet.rb +64 -0
  270. data/lib/ruby2d/square.rb +29 -17
  271. data/lib/ruby2d/text.rb +196 -65
  272. data/lib/ruby2d/tileset.rb +139 -81
  273. data/lib/ruby2d/triangle.rb +324 -89
  274. data/lib/ruby2d/version.rb +1 -3
  275. data/lib/ruby2d/vertices.rb +62 -85
  276. data/lib/ruby2d/warnings.rb +29 -0
  277. data/lib/ruby2d/window/class_methods.rb +218 -0
  278. data/lib/ruby2d/window/gamepad_events.rb +141 -0
  279. data/lib/ruby2d/window/key_events.rb +74 -0
  280. data/lib/ruby2d/window/mouse_events.rb +171 -0
  281. data/lib/ruby2d/window/object_events.rb +168 -0
  282. data/lib/ruby2d/window.rb +632 -585
  283. data/lib/ruby2d.rb +14 -19
  284. metadata +275 -443
  285. data/assets/app.icns +0 -0
  286. data/assets/include/GL/glew.h +0 -26427
  287. data/assets/include/GLES2/gl2.h +0 -656
  288. data/assets/include/GLES2/gl2ext.h +0 -3949
  289. data/assets/include/GLES2/gl2ext_angle.h +0 -701
  290. data/assets/include/GLES2/gl2platform.h +0 -27
  291. data/assets/include/GLES3/gl3.h +0 -1192
  292. data/assets/include/GLES3/gl31.h +0 -1507
  293. data/assets/include/GLES3/gl32.h +0 -1808
  294. data/assets/include/GLES3/gl3platform.h +0 -27
  295. data/assets/include/KHR/khrplatform.h +0 -290
  296. data/assets/include/SDL2/SDL.h +0 -233
  297. data/assets/include/SDL2/SDL_assert.h +0 -326
  298. data/assets/include/SDL2/SDL_atomic.h +0 -415
  299. data/assets/include/SDL2/SDL_audio.h +0 -1500
  300. data/assets/include/SDL2/SDL_clipboard.h +0 -141
  301. data/assets/include/SDL2/SDL_config.h +0 -61
  302. data/assets/include/SDL2/SDL_config_android.h +0 -194
  303. data/assets/include/SDL2/SDL_config_emscripten.h +0 -218
  304. data/assets/include/SDL2/SDL_config_iphoneos.h +0 -217
  305. data/assets/include/SDL2/SDL_config_macosx.h +0 -277
  306. data/assets/include/SDL2/SDL_config_minimal.h +0 -95
  307. data/assets/include/SDL2/SDL_config_ngage.h +0 -89
  308. data/assets/include/SDL2/SDL_config_os2.h +0 -207
  309. data/assets/include/SDL2/SDL_config_pandora.h +0 -141
  310. data/assets/include/SDL2/SDL_config_windows.h +0 -331
  311. data/assets/include/SDL2/SDL_config_wingdk.h +0 -253
  312. data/assets/include/SDL2/SDL_config_winrt.h +0 -220
  313. data/assets/include/SDL2/SDL_config_xbox.h +0 -235
  314. data/assets/include/SDL2/SDL_cpuinfo.h +0 -594
  315. data/assets/include/SDL2/SDL_endian.h +0 -348
  316. data/assets/include/SDL2/SDL_error.h +0 -163
  317. data/assets/include/SDL2/SDL_events.h +0 -1166
  318. data/assets/include/SDL2/SDL_filesystem.h +0 -149
  319. data/assets/include/SDL2/SDL_gamecontroller.h +0 -1074
  320. data/assets/include/SDL2/SDL_gesture.h +0 -117
  321. data/assets/include/SDL2/SDL_guid.h +0 -100
  322. data/assets/include/SDL2/SDL_haptic.h +0 -1341
  323. data/assets/include/SDL2/SDL_hidapi.h +0 -451
  324. data/assets/include/SDL2/SDL_hints.h +0 -2569
  325. data/assets/include/SDL2/SDL_image.h +0 -2173
  326. data/assets/include/SDL2/SDL_joystick.h +0 -1066
  327. data/assets/include/SDL2/SDL_keyboard.h +0 -353
  328. data/assets/include/SDL2/SDL_keycode.h +0 -358
  329. data/assets/include/SDL2/SDL_loadso.h +0 -115
  330. data/assets/include/SDL2/SDL_log.h +0 -404
  331. data/assets/include/SDL2/SDL_main.h +0 -275
  332. data/assets/include/SDL2/SDL_mixer.h +0 -2784
  333. data/assets/include/SDL2/SDL_mouse.h +0 -465
  334. data/assets/include/SDL2/SDL_mutex.h +0 -471
  335. data/assets/include/SDL2/SDL_name.h +0 -33
  336. data/assets/include/SDL2/SDL_pixels.h +0 -644
  337. data/assets/include/SDL2/SDL_platform.h +0 -261
  338. data/assets/include/SDL2/SDL_quit.h +0 -58
  339. data/assets/include/SDL2/SDL_rect.h +0 -376
  340. data/assets/include/SDL2/SDL_render.h +0 -1919
  341. data/assets/include/SDL2/SDL_revision.h +0 -6
  342. data/assets/include/SDL2/SDL_rwops.h +0 -841
  343. data/assets/include/SDL2/SDL_sensor.h +0 -322
  344. data/assets/include/SDL2/SDL_shape.h +0 -155
  345. data/assets/include/SDL2/SDL_stdinc.h +0 -830
  346. data/assets/include/SDL2/SDL_surface.h +0 -997
  347. data/assets/include/SDL2/SDL_system.h +0 -623
  348. data/assets/include/SDL2/SDL_syswm.h +0 -386
  349. data/assets/include/SDL2/SDL_test_images.h +0 -78
  350. data/assets/include/SDL2/SDL_test_random.h +0 -115
  351. data/assets/include/SDL2/SDL_thread.h +0 -464
  352. data/assets/include/SDL2/SDL_timer.h +0 -222
  353. data/assets/include/SDL2/SDL_touch.h +0 -150
  354. data/assets/include/SDL2/SDL_ttf.h +0 -2316
  355. data/assets/include/SDL2/SDL_types.h +0 -29
  356. data/assets/include/SDL2/SDL_version.h +0 -204
  357. data/assets/include/SDL2/SDL_video.h +0 -2150
  358. data/assets/include/SDL2/SDL_vulkan.h +0 -215
  359. data/assets/include/SDL2/begin_code.h +0 -187
  360. data/assets/include/mruby/boxing_no.h +0 -58
  361. data/assets/include/mruby/class.h +0 -108
  362. data/assets/include/mruby/error.h +0 -147
  363. data/assets/include/mruby/gc.h +0 -94
  364. data/assets/include/mruby/irep.h +0 -147
  365. data/assets/include/mruby/khash.h +0 -284
  366. data/assets/include/mruby/object.h +0 -43
  367. data/assets/include/mruby/presym/disable.h +0 -70
  368. data/assets/include/mruby/presym/enable.h +0 -37
  369. data/assets/include/mruby/presym.h +0 -40
  370. data/assets/include/mruby/proc.h +0 -211
  371. data/assets/include/mruby/throw.h +0 -66
  372. data/assets/macos/universal/bin/mrbc +0 -0
  373. data/assets/macos/universal/lib/libFLAC.a +0 -0
  374. data/assets/macos/universal/lib/libSDL2.a +0 -0
  375. data/assets/macos/universal/lib/libSDL2_image.a +0 -0
  376. data/assets/macos/universal/lib/libSDL2_mixer.a +0 -0
  377. data/assets/macos/universal/lib/libSDL2_ttf.a +0 -0
  378. data/assets/macos/universal/lib/libavif.a +0 -0
  379. data/assets/macos/universal/lib/libbrotlicommon-static.a +0 -0
  380. data/assets/macos/universal/lib/libbrotlidec-static.a +0 -0
  381. data/assets/macos/universal/lib/libfreetype.a +0 -0
  382. data/assets/macos/universal/lib/libgraphite2.a +0 -0
  383. data/assets/macos/universal/lib/libharfbuzz.a +0 -0
  384. data/assets/macos/universal/lib/libhwy.a +0 -0
  385. data/assets/macos/universal/lib/libjpeg.a +0 -0
  386. data/assets/macos/universal/lib/libjxl.a +0 -0
  387. data/assets/macos/universal/lib/libmodplug.a +0 -0
  388. data/assets/macos/universal/lib/libmpg123.a +0 -0
  389. data/assets/macos/universal/lib/libmruby.a +0 -0
  390. data/assets/macos/universal/lib/libogg.a +0 -0
  391. data/assets/macos/universal/lib/libpng.a +0 -0
  392. data/assets/macos/universal/lib/libtiff.a +0 -0
  393. data/assets/macos/universal/lib/libvorbis.a +0 -0
  394. data/assets/macos/universal/lib/libvorbisfile.a +0 -0
  395. data/assets/macos/universal/lib/libwebp.a +0 -0
  396. data/assets/macos/universal/lib/libzstd.a +0 -0
  397. data/assets/test_media/README.md +0 -3
  398. data/assets/test_media/bitstream_vera/COPYRIGHT.txt +0 -124
  399. data/assets/test_media/bitstream_vera/vera.ttf +0 -0
  400. data/assets/test_media/boom.png +0 -0
  401. data/assets/test_media/coin.png +0 -0
  402. data/assets/test_media/colors.png +0 -0
  403. data/assets/test_media/controller.png +0 -0
  404. data/assets/test_media/dial.wav +0 -0
  405. data/assets/test_media/hero.png +0 -0
  406. data/assets/test_media/image.bmp +0 -0
  407. data/assets/test_media/image.jpg +0 -0
  408. data/assets/test_media/image.png +0 -0
  409. data/assets/test_media/music.flac +0 -0
  410. data/assets/test_media/music.mp3 +0 -0
  411. data/assets/test_media/music.ogg +0 -0
  412. data/assets/test_media/music.wav +0 -0
  413. data/assets/test_media/originals/boom.pxm +0 -0
  414. data/assets/test_media/originals/coin.pxm +0 -0
  415. data/assets/test_media/originals/controller.sketch +0 -0
  416. data/assets/test_media/originals/hero.pxm +0 -0
  417. data/assets/test_media/originals/image.pxm +0 -0
  418. data/assets/test_media/originals/music.caf +0 -0
  419. data/assets/test_media/originals/texture_atlas.pxm +0 -0
  420. data/assets/test_media/rondo_alla_turka.ogg +0 -0
  421. data/assets/test_media/sound.flac +0 -0
  422. data/assets/test_media/sound.mp3 +0 -0
  423. data/assets/test_media/sound.ogg +0 -0
  424. data/assets/test_media/sound.wav +0 -0
  425. data/assets/test_media/sprite_sheet.png +0 -0
  426. data/assets/test_media/texture_atlas.png +0 -0
  427. data/assets/wasm/libmruby.a +0 -0
  428. data/assets/windows/mingw-w64-ucrt-x86_64/bin/mrbc.exe +0 -0
  429. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libFLAC.a +0 -0
  430. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libLerc.a +0 -0
  431. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libSDL2.a +0 -0
  432. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libSDL2_image.a +0 -0
  433. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libSDL2_mixer.a +0 -0
  434. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libSDL2_ttf.a +0 -0
  435. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libbrotlicommon.a +0 -0
  436. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libbrotlidec.a +0 -0
  437. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libbz2.a +0 -0
  438. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libdeflate.a +0 -0
  439. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libfreetype.a +0 -0
  440. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libglew32.a +0 -0
  441. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libgraphite2.a +0 -0
  442. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libharfbuzz.a +0 -0
  443. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libhwy.a +0 -0
  444. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libjbig.a +0 -0
  445. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libjpeg.a +0 -0
  446. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libjxl.a +0 -0
  447. data/assets/windows/mingw-w64-ucrt-x86_64/lib/liblzma.a +0 -0
  448. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libmodplug.a +0 -0
  449. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libmpg123.a +0 -0
  450. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libmruby.a +0 -0
  451. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libogg.a +0 -0
  452. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libopus.a +0 -0
  453. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libopusfile.a +0 -0
  454. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libpng.a +0 -0
  455. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libsndfile.a +0 -0
  456. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libssp.a +0 -1
  457. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libstdc++.a +0 -0
  458. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libtiff.a +0 -0
  459. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libvorbis.a +0 -0
  460. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libvorbisfile.a +0 -0
  461. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libwebp.a +0 -0
  462. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libz.a +0 -0
  463. data/assets/windows/mingw-w64-ucrt-x86_64/lib/libzstd.a +0 -0
  464. data/assets/windows/mingw-w64-x86_64/bin/mrbc.exe +0 -0
  465. data/assets/windows/mingw-w64-x86_64/lib/libFLAC.a +0 -0
  466. data/assets/windows/mingw-w64-x86_64/lib/libLerc.a +0 -0
  467. data/assets/windows/mingw-w64-x86_64/lib/libSDL2.a +0 -0
  468. data/assets/windows/mingw-w64-x86_64/lib/libSDL2_image.a +0 -0
  469. data/assets/windows/mingw-w64-x86_64/lib/libSDL2_mixer.a +0 -0
  470. data/assets/windows/mingw-w64-x86_64/lib/libSDL2_ttf.a +0 -0
  471. data/assets/windows/mingw-w64-x86_64/lib/libbrotlicommon.a +0 -0
  472. data/assets/windows/mingw-w64-x86_64/lib/libbrotlidec.a +0 -0
  473. data/assets/windows/mingw-w64-x86_64/lib/libbz2.a +0 -0
  474. data/assets/windows/mingw-w64-x86_64/lib/libdeflate.a +0 -0
  475. data/assets/windows/mingw-w64-x86_64/lib/libfreetype.a +0 -0
  476. data/assets/windows/mingw-w64-x86_64/lib/libglew32.a +0 -0
  477. data/assets/windows/mingw-w64-x86_64/lib/libgraphite2.a +0 -0
  478. data/assets/windows/mingw-w64-x86_64/lib/libharfbuzz.a +0 -0
  479. data/assets/windows/mingw-w64-x86_64/lib/libhwy.a +0 -0
  480. data/assets/windows/mingw-w64-x86_64/lib/libjbig.a +0 -0
  481. data/assets/windows/mingw-w64-x86_64/lib/libjpeg.a +0 -0
  482. data/assets/windows/mingw-w64-x86_64/lib/libjxl.a +0 -0
  483. data/assets/windows/mingw-w64-x86_64/lib/liblzma.a +0 -0
  484. data/assets/windows/mingw-w64-x86_64/lib/libmodplug.a +0 -0
  485. data/assets/windows/mingw-w64-x86_64/lib/libmpg123.a +0 -0
  486. data/assets/windows/mingw-w64-x86_64/lib/libmruby.a +0 -0
  487. data/assets/windows/mingw-w64-x86_64/lib/libogg.a +0 -0
  488. data/assets/windows/mingw-w64-x86_64/lib/libopus.a +0 -0
  489. data/assets/windows/mingw-w64-x86_64/lib/libopusfile.a +0 -0
  490. data/assets/windows/mingw-w64-x86_64/lib/libpng.a +0 -0
  491. data/assets/windows/mingw-w64-x86_64/lib/libsndfile.a +0 -0
  492. data/assets/windows/mingw-w64-x86_64/lib/libssp.a +0 -1
  493. data/assets/windows/mingw-w64-x86_64/lib/libstdc++.a +0 -0
  494. data/assets/windows/mingw-w64-x86_64/lib/libtiff.a +0 -0
  495. data/assets/windows/mingw-w64-x86_64/lib/libvorbis.a +0 -0
  496. data/assets/windows/mingw-w64-x86_64/lib/libvorbisfile.a +0 -0
  497. data/assets/windows/mingw-w64-x86_64/lib/libwebp.a +0 -0
  498. data/assets/windows/mingw-w64-x86_64/lib/libz.a +0 -0
  499. data/assets/windows/mingw-w64-x86_64/lib/libzstd.a +0 -0
  500. data/assets/xcode/ios/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -98
  501. data/assets/xcode/ios/Assets.xcassets/Contents.json +0 -6
  502. data/assets/xcode/ios/Base.lproj/LaunchScreen.storyboard +0 -27
  503. data/assets/xcode/ios/Info.plist +0 -43
  504. data/assets/xcode/ios/MRuby.framework/Headers/mrbconf.h +0 -143
  505. data/assets/xcode/ios/MRuby.framework/Headers/mruby/array.h +0 -280
  506. data/assets/xcode/ios/MRuby.framework/Headers/mruby/boxing_nan.h +0 -102
  507. data/assets/xcode/ios/MRuby.framework/Headers/mruby/boxing_no.h +0 -56
  508. data/assets/xcode/ios/MRuby.framework/Headers/mruby/boxing_word.h +0 -144
  509. data/assets/xcode/ios/MRuby.framework/Headers/mruby/class.h +0 -97
  510. data/assets/xcode/ios/MRuby.framework/Headers/mruby/common.h +0 -77
  511. data/assets/xcode/ios/MRuby.framework/Headers/mruby/compile.h +0 -195
  512. data/assets/xcode/ios/MRuby.framework/Headers/mruby/data.h +0 -75
  513. data/assets/xcode/ios/MRuby.framework/Headers/mruby/debug.h +0 -67
  514. data/assets/xcode/ios/MRuby.framework/Headers/mruby/dump.h +0 -196
  515. data/assets/xcode/ios/MRuby.framework/Headers/mruby/error.h +0 -75
  516. data/assets/xcode/ios/MRuby.framework/Headers/mruby/gc.h +0 -91
  517. data/assets/xcode/ios/MRuby.framework/Headers/mruby/hash.h +0 -215
  518. data/assets/xcode/ios/MRuby.framework/Headers/mruby/irep.h +0 -75
  519. data/assets/xcode/ios/MRuby.framework/Headers/mruby/istruct.h +0 -47
  520. data/assets/xcode/ios/MRuby.framework/Headers/mruby/khash.h +0 -274
  521. data/assets/xcode/ios/MRuby.framework/Headers/mruby/numeric.h +0 -161
  522. data/assets/xcode/ios/MRuby.framework/Headers/mruby/object.h +0 -44
  523. data/assets/xcode/ios/MRuby.framework/Headers/mruby/opcode.h +0 -69
  524. data/assets/xcode/ios/MRuby.framework/Headers/mruby/ops.h +0 -117
  525. data/assets/xcode/ios/MRuby.framework/Headers/mruby/proc.h +0 -131
  526. data/assets/xcode/ios/MRuby.framework/Headers/mruby/range.h +0 -49
  527. data/assets/xcode/ios/MRuby.framework/Headers/mruby/re.h +0 -16
  528. data/assets/xcode/ios/MRuby.framework/Headers/mruby/string.h +0 -444
  529. data/assets/xcode/ios/MRuby.framework/Headers/mruby/throw.h +0 -55
  530. data/assets/xcode/ios/MRuby.framework/Headers/mruby/value.h +0 -309
  531. data/assets/xcode/ios/MRuby.framework/Headers/mruby/variable.h +0 -136
  532. data/assets/xcode/ios/MRuby.framework/Headers/mruby/version.h +0 -110
  533. data/assets/xcode/ios/MRuby.framework/Headers/mruby.h +0 -1282
  534. data/assets/xcode/ios/MRuby.framework/Info.plist +0 -20
  535. data/assets/xcode/ios/MRuby.framework/MRuby +0 -0
  536. data/assets/xcode/ios/MyApp.xcodeproj/project.pbxproj +0 -368
  537. data/assets/xcode/ios/MyApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  538. data/assets/xcode/ios/MyApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  539. data/assets/xcode/ios/MyApp.xcodeproj/project.xcworkspace/xcshareddata/MyApp.xcscmblueprint +0 -30
  540. data/assets/xcode/ios/main.c +0 -1
  541. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Content.imageset/Contents.json +0 -16
  542. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json +0 -6
  543. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Contents.json +0 -17
  544. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Content.imageset/Contents.json +0 -16
  545. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json +0 -6
  546. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json +0 -16
  547. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json +0 -6
  548. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Content.imageset/Contents.json +0 -16
  549. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json +0 -6
  550. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Contents.json +0 -17
  551. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Content.imageset/Contents.json +0 -16
  552. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json +0 -6
  553. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Content.imageset/Contents.json +0 -16
  554. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json +0 -6
  555. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json +0 -32
  556. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image Wide.imageset/Contents.json +0 -16
  557. data/assets/xcode/tvos/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Top Shelf Image.imageset/Contents.json +0 -16
  558. data/assets/xcode/tvos/Assets.xcassets/Contents.json +0 -6
  559. data/assets/xcode/tvos/Assets.xcassets/LaunchImage.launchimage/Contents.json +0 -22
  560. data/assets/xcode/tvos/Info.plist +0 -30
  561. data/assets/xcode/tvos/MRuby.framework/Headers/mrbconf.h +0 -143
  562. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/array.h +0 -280
  563. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/boxing_nan.h +0 -102
  564. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/boxing_no.h +0 -56
  565. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/boxing_word.h +0 -144
  566. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/class.h +0 -97
  567. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/common.h +0 -77
  568. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/compile.h +0 -195
  569. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/data.h +0 -75
  570. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/debug.h +0 -67
  571. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/dump.h +0 -196
  572. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/error.h +0 -75
  573. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/gc.h +0 -91
  574. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/hash.h +0 -215
  575. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/irep.h +0 -75
  576. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/istruct.h +0 -47
  577. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/khash.h +0 -274
  578. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/numeric.h +0 -161
  579. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/object.h +0 -44
  580. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/opcode.h +0 -69
  581. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/ops.h +0 -117
  582. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/proc.h +0 -131
  583. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/range.h +0 -49
  584. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/re.h +0 -16
  585. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/string.h +0 -444
  586. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/throw.h +0 -55
  587. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/value.h +0 -309
  588. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/variable.h +0 -136
  589. data/assets/xcode/tvos/MRuby.framework/Headers/mruby/version.h +0 -110
  590. data/assets/xcode/tvos/MRuby.framework/Headers/mruby.h +0 -1282
  591. data/assets/xcode/tvos/MRuby.framework/Info.plist +0 -20
  592. data/assets/xcode/tvos/MRuby.framework/MRuby +0 -0
  593. data/assets/xcode/tvos/MyApp.xcodeproj/project.pbxproj +0 -350
  594. data/assets/xcode/tvos/MyApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  595. data/assets/xcode/tvos/MyApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  596. data/assets/xcode/tvos/MyApp.xcodeproj/project.xcworkspace/xcshareddata/MyApp.xcscmblueprint +0 -30
  597. data/assets/xcode/tvos/main.c +0 -1
  598. data/ext/ruby2d/common.c +0 -185
  599. data/ext/ruby2d/controllers.c +0 -110
  600. data/ext/ruby2d/gl.c +0 -398
  601. data/ext/ruby2d/gl2.c +0 -86
  602. data/ext/ruby2d/gl3.c +0 -304
  603. data/ext/ruby2d/gles.c +0 -302
  604. data/ext/ruby2d/input.c +0 -48
  605. data/ext/ruby2d/music.c +0 -127
  606. data/ext/ruby2d/sound.c +0 -132
  607. data/lib/ruby2d/cli/console.rb +0 -65
  608. data/lib/ruby2d/cli/enable_console.rb +0 -7
  609. data/lib/ruby2d/cli/platform.rb +0 -17
  610. data/lib/ruby2d/music.rb +0 -77
  611. data/lib/ruby2d/pixel.rb +0 -18
  612. data/lib/ruby2d/pixmap.rb +0 -39
  613. data/lib/ruby2d/pixmap_atlas.rb +0 -56
  614. data/lib/ruby2d/sound.rb +0 -61
  615. data/lib/ruby2d/texture.rb +0 -38
  616. /data/assets/{include/SDL2 → platform/include/SDL3}/SDL_opengles2_gl2.h +0 -0
  617. /data/assets/{include/SDL2 → platform/include/SDL3}/SDL_opengles2_gl2ext.h +0 -0
  618. /data/assets/{include/SDL2 → platform/include/SDL3}/SDL_opengles2_gl2platform.h +0 -0
  619. /data/assets/{include/SDL2 → platform/include/SDL3}/SDL_opengles2_khrplatform.h +0 -0
  620. /data/assets/{include → platform/include}/mruby/re.h +0 -0
@@ -0,0 +1,316 @@
1
+ <TextureAtlas imagePath="spritesheet-tiles.png">
2
+ <SubTexture name="block_blue" x="0" y="0" width="128" height="128"/>
3
+ <SubTexture name="block_coin" x="129" y="0" width="128" height="128"/>
4
+ <SubTexture name="block_coin_active" x="258" y="0" width="128" height="128"/>
5
+ <SubTexture name="block_empty" x="387" y="0" width="128" height="128"/>
6
+ <SubTexture name="block_empty_warning" x="516" y="0" width="128" height="128"/>
7
+ <SubTexture name="block_exclamation" x="645" y="0" width="128" height="128"/>
8
+ <SubTexture name="block_exclamation_active" x="774" y="0" width="128" height="128"/>
9
+ <SubTexture name="block_green" x="903" y="0" width="128" height="128"/>
10
+ <SubTexture name="block_plank" x="1032" y="0" width="128" height="128"/>
11
+ <SubTexture name="block_planks" x="1161" y="0" width="128" height="128"/>
12
+ <SubTexture name="block_red" x="1290" y="0" width="128" height="128"/>
13
+ <SubTexture name="block_spikes" x="1419" y="0" width="128" height="128"/>
14
+ <SubTexture name="block_strong_coin" x="1548" y="0" width="128" height="128"/>
15
+ <SubTexture name="block_strong_coin_active" x="1677" y="0" width="128" height="128"/>
16
+ <SubTexture name="block_strong_danger" x="1806" y="0" width="128" height="128"/>
17
+ <SubTexture name="block_strong_danger_active" x="1935" y="0" width="128" height="128"/>
18
+ <SubTexture name="block_strong_empty" x="2064" y="0" width="128" height="128"/>
19
+ <SubTexture name="block_strong_empty_active" x="2193" y="0" width="128" height="128"/>
20
+ <SubTexture name="block_strong_exclamation" x="0" y="129" width="128" height="128"/>
21
+ <SubTexture name="block_strong_exclamation_active" x="129" y="129" width="128" height="128"/>
22
+ <SubTexture name="block_yellow" x="258" y="129" width="128" height="128"/>
23
+ <SubTexture name="bomb" x="387" y="129" width="128" height="128"/>
24
+ <SubTexture name="bomb_active" x="516" y="129" width="128" height="128"/>
25
+ <SubTexture name="brick_brown" x="645" y="129" width="128" height="128"/>
26
+ <SubTexture name="brick_brown_diagonal" x="774" y="129" width="128" height="128"/>
27
+ <SubTexture name="brick_grey" x="903" y="129" width="128" height="128"/>
28
+ <SubTexture name="brick_grey_diagonal" x="1032" y="129" width="128" height="128"/>
29
+ <SubTexture name="bricks_brown" x="1161" y="129" width="128" height="128"/>
30
+ <SubTexture name="bricks_grey" x="1290" y="129" width="128" height="128"/>
31
+ <SubTexture name="bridge" x="1419" y="129" width="128" height="128"/>
32
+ <SubTexture name="bridge_logs" x="1548" y="129" width="128" height="128"/>
33
+ <SubTexture name="bush" x="1677" y="129" width="128" height="128"/>
34
+ <SubTexture name="cactus" x="1806" y="129" width="128" height="128"/>
35
+ <SubTexture name="chain" x="1935" y="129" width="128" height="128"/>
36
+ <SubTexture name="coin_bronze" x="2064" y="129" width="128" height="128"/>
37
+ <SubTexture name="coin_bronze_side" x="2193" y="129" width="128" height="128"/>
38
+ <SubTexture name="coin_gold" x="0" y="258" width="128" height="128"/>
39
+ <SubTexture name="coin_gold_side" x="129" y="258" width="128" height="128"/>
40
+ <SubTexture name="coin_silver" x="258" y="258" width="128" height="128"/>
41
+ <SubTexture name="coin_silver_side" x="387" y="258" width="128" height="128"/>
42
+ <SubTexture name="conveyor" x="516" y="258" width="128" height="128"/>
43
+ <SubTexture name="door_closed" x="645" y="258" width="128" height="128"/>
44
+ <SubTexture name="door_closed_top" x="774" y="258" width="128" height="128"/>
45
+ <SubTexture name="door_open" x="903" y="258" width="128" height="128"/>
46
+ <SubTexture name="door_open_top" x="1032" y="258" width="128" height="128"/>
47
+ <SubTexture name="fence" x="1161" y="258" width="128" height="128"/>
48
+ <SubTexture name="fence_broken" x="1290" y="258" width="128" height="128"/>
49
+ <SubTexture name="fireball" x="1419" y="258" width="128" height="128"/>
50
+ <SubTexture name="flag_blue_a" x="1548" y="258" width="128" height="128"/>
51
+ <SubTexture name="flag_blue_b" x="1677" y="258" width="128" height="128"/>
52
+ <SubTexture name="flag_green_a" x="1806" y="258" width="128" height="128"/>
53
+ <SubTexture name="flag_green_b" x="1935" y="258" width="128" height="128"/>
54
+ <SubTexture name="flag_off" x="2064" y="258" width="128" height="128"/>
55
+ <SubTexture name="flag_red_a" x="2193" y="258" width="128" height="128"/>
56
+ <SubTexture name="flag_red_b" x="0" y="387" width="128" height="128"/>
57
+ <SubTexture name="flag_yellow_a" x="129" y="387" width="128" height="128"/>
58
+ <SubTexture name="flag_yellow_b" x="258" y="387" width="128" height="128"/>
59
+ <SubTexture name="gem_blue" x="387" y="387" width="128" height="128"/>
60
+ <SubTexture name="gem_green" x="516" y="387" width="128" height="128"/>
61
+ <SubTexture name="gem_red" x="645" y="387" width="128" height="128"/>
62
+ <SubTexture name="gem_yellow" x="774" y="387" width="128" height="128"/>
63
+ <SubTexture name="grass" x="903" y="387" width="128" height="128"/>
64
+ <SubTexture name="grass_purple" x="1032" y="387" width="128" height="128"/>
65
+ <SubTexture name="heart" x="1161" y="387" width="128" height="128"/>
66
+ <SubTexture name="hill" x="1290" y="387" width="128" height="128"/>
67
+ <SubTexture name="hill_top" x="1419" y="387" width="128" height="128"/>
68
+ <SubTexture name="hill_top_smile" x="1548" y="387" width="128" height="128"/>
69
+ <SubTexture name="hud_character_0" x="1677" y="387" width="128" height="128"/>
70
+ <SubTexture name="hud_character_1" x="1806" y="387" width="128" height="128"/>
71
+ <SubTexture name="hud_character_2" x="1935" y="387" width="128" height="128"/>
72
+ <SubTexture name="hud_character_3" x="2064" y="387" width="128" height="128"/>
73
+ <SubTexture name="hud_character_4" x="2193" y="387" width="128" height="128"/>
74
+ <SubTexture name="hud_character_5" x="0" y="516" width="128" height="128"/>
75
+ <SubTexture name="hud_character_6" x="129" y="516" width="128" height="128"/>
76
+ <SubTexture name="hud_character_7" x="258" y="516" width="128" height="128"/>
77
+ <SubTexture name="hud_character_8" x="387" y="516" width="128" height="128"/>
78
+ <SubTexture name="hud_character_9" x="516" y="516" width="128" height="128"/>
79
+ <SubTexture name="hud_character_multiply" x="645" y="516" width="128" height="128"/>
80
+ <SubTexture name="hud_character_percent" x="774" y="516" width="128" height="128"/>
81
+ <SubTexture name="hud_coin" x="903" y="516" width="128" height="128"/>
82
+ <SubTexture name="hud_heart" x="1032" y="516" width="128" height="128"/>
83
+ <SubTexture name="hud_heart_empty" x="1161" y="516" width="128" height="128"/>
84
+ <SubTexture name="hud_heart_half" x="1290" y="516" width="128" height="128"/>
85
+ <SubTexture name="hud_key_blue" x="1419" y="516" width="128" height="128"/>
86
+ <SubTexture name="hud_key_green" x="1548" y="516" width="128" height="128"/>
87
+ <SubTexture name="hud_key_red" x="1677" y="516" width="128" height="128"/>
88
+ <SubTexture name="hud_key_yellow" x="1806" y="516" width="128" height="128"/>
89
+ <SubTexture name="hud_player_beige" x="1935" y="516" width="128" height="128"/>
90
+ <SubTexture name="hud_player_green" x="2064" y="516" width="128" height="128"/>
91
+ <SubTexture name="hud_player_helmet_beige" x="2193" y="516" width="128" height="128"/>
92
+ <SubTexture name="hud_player_helmet_green" x="0" y="645" width="128" height="128"/>
93
+ <SubTexture name="hud_player_helmet_pink" x="129" y="645" width="128" height="128"/>
94
+ <SubTexture name="hud_player_helmet_purple" x="258" y="645" width="128" height="128"/>
95
+ <SubTexture name="hud_player_helmet_yellow" x="387" y="645" width="128" height="128"/>
96
+ <SubTexture name="hud_player_pink" x="516" y="645" width="128" height="128"/>
97
+ <SubTexture name="hud_player_purple" x="645" y="645" width="128" height="128"/>
98
+ <SubTexture name="hud_player_yellow" x="774" y="645" width="128" height="128"/>
99
+ <SubTexture name="key_blue" x="903" y="645" width="128" height="128"/>
100
+ <SubTexture name="key_green" x="1032" y="645" width="128" height="128"/>
101
+ <SubTexture name="key_red" x="1161" y="645" width="128" height="128"/>
102
+ <SubTexture name="key_yellow" x="1290" y="645" width="128" height="128"/>
103
+ <SubTexture name="ladder_bottom" x="1419" y="645" width="128" height="128"/>
104
+ <SubTexture name="ladder_middle" x="1548" y="645" width="128" height="128"/>
105
+ <SubTexture name="ladder_top" x="1677" y="645" width="128" height="128"/>
106
+ <SubTexture name="lava" x="1806" y="645" width="128" height="128"/>
107
+ <SubTexture name="lava_top" x="1935" y="645" width="128" height="128"/>
108
+ <SubTexture name="lava_top_low" x="2064" y="645" width="128" height="128"/>
109
+ <SubTexture name="lever" x="2193" y="645" width="128" height="128"/>
110
+ <SubTexture name="lever_left" x="0" y="774" width="128" height="128"/>
111
+ <SubTexture name="lever_right" x="129" y="774" width="128" height="128"/>
112
+ <SubTexture name="lock_blue" x="258" y="774" width="128" height="128"/>
113
+ <SubTexture name="lock_green" x="387" y="774" width="128" height="128"/>
114
+ <SubTexture name="lock_red" x="516" y="774" width="128" height="128"/>
115
+ <SubTexture name="lock_yellow" x="645" y="774" width="128" height="128"/>
116
+ <SubTexture name="mushroom_brown" x="774" y="774" width="128" height="128"/>
117
+ <SubTexture name="mushroom_red" x="903" y="774" width="128" height="128"/>
118
+ <SubTexture name="ramp" x="1032" y="774" width="128" height="128"/>
119
+ <SubTexture name="rock" x="1161" y="774" width="128" height="128"/>
120
+ <SubTexture name="rop_attached" x="1290" y="774" width="128" height="128"/>
121
+ <SubTexture name="rope" x="1419" y="774" width="128" height="128"/>
122
+ <SubTexture name="saw" x="1548" y="774" width="128" height="128"/>
123
+ <SubTexture name="sign" x="1677" y="774" width="128" height="128"/>
124
+ <SubTexture name="sign_exit" x="1806" y="774" width="128" height="128"/>
125
+ <SubTexture name="sign_left" x="1935" y="774" width="128" height="128"/>
126
+ <SubTexture name="sign_right" x="2064" y="774" width="128" height="128"/>
127
+ <SubTexture name="snow" x="2193" y="774" width="128" height="128"/>
128
+ <SubTexture name="spikes" x="0" y="903" width="128" height="128"/>
129
+ <SubTexture name="spring" x="129" y="903" width="128" height="128"/>
130
+ <SubTexture name="spring_out" x="258" y="903" width="128" height="128"/>
131
+ <SubTexture name="star" x="387" y="903" width="128" height="128"/>
132
+ <SubTexture name="switch_blue" x="516" y="903" width="128" height="128"/>
133
+ <SubTexture name="switch_blue_pressed" x="645" y="903" width="128" height="128"/>
134
+ <SubTexture name="switch_green" x="774" y="903" width="128" height="128"/>
135
+ <SubTexture name="switch_green_pressed" x="903" y="903" width="128" height="128"/>
136
+ <SubTexture name="switch_red" x="1032" y="903" width="128" height="128"/>
137
+ <SubTexture name="switch_red_pressed" x="1161" y="903" width="128" height="128"/>
138
+ <SubTexture name="switch_yellow" x="1290" y="903" width="128" height="128"/>
139
+ <SubTexture name="switch_yellow_pressed" x="1419" y="903" width="128" height="128"/>
140
+ <SubTexture name="terrain_dirt_block" x="1548" y="903" width="128" height="128"/>
141
+ <SubTexture name="terrain_dirt_block_bottom" x="1677" y="903" width="128" height="128"/>
142
+ <SubTexture name="terrain_dirt_block_bottom_left" x="1806" y="903" width="128" height="128"/>
143
+ <SubTexture name="terrain_dirt_block_bottom_right" x="1935" y="903" width="128" height="128"/>
144
+ <SubTexture name="terrain_dirt_block_center" x="2064" y="903" width="128" height="128"/>
145
+ <SubTexture name="terrain_dirt_block_left" x="2193" y="903" width="128" height="128"/>
146
+ <SubTexture name="terrain_dirt_block_right" x="0" y="1032" width="128" height="128"/>
147
+ <SubTexture name="terrain_dirt_block_top" x="129" y="1032" width="128" height="128"/>
148
+ <SubTexture name="terrain_dirt_block_top_left" x="258" y="1032" width="128" height="128"/>
149
+ <SubTexture name="terrain_dirt_block_top_right" x="387" y="1032" width="128" height="128"/>
150
+ <SubTexture name="terrain_dirt_cloud" x="516" y="1032" width="128" height="128"/>
151
+ <SubTexture name="terrain_dirt_cloud_background" x="645" y="1032" width="128" height="128"/>
152
+ <SubTexture name="terrain_dirt_cloud_left" x="774" y="1032" width="128" height="128"/>
153
+ <SubTexture name="terrain_dirt_cloud_middle" x="903" y="1032" width="128" height="128"/>
154
+ <SubTexture name="terrain_dirt_cloud_right" x="1032" y="1032" width="128" height="128"/>
155
+ <SubTexture name="terrain_dirt_horizontal_left" x="1161" y="1032" width="128" height="128"/>
156
+ <SubTexture name="terrain_dirt_horizontal_middle" x="1290" y="1032" width="128" height="128"/>
157
+ <SubTexture name="terrain_dirt_horizontal_overhang_left" x="1419" y="1032" width="128" height="128"/>
158
+ <SubTexture name="terrain_dirt_horizontal_overhang_right" x="1548" y="1032" width="128" height="128"/>
159
+ <SubTexture name="terrain_dirt_horizontal_right" x="1677" y="1032" width="128" height="128"/>
160
+ <SubTexture name="terrain_dirt_ramp_long_a" x="1806" y="1032" width="128" height="128"/>
161
+ <SubTexture name="terrain_dirt_ramp_long_b" x="1935" y="1032" width="128" height="128"/>
162
+ <SubTexture name="terrain_dirt_ramp_long_c" x="2064" y="1032" width="128" height="128"/>
163
+ <SubTexture name="terrain_dirt_ramp_short_a" x="2193" y="1032" width="128" height="128"/>
164
+ <SubTexture name="terrain_dirt_ramp_short_b" x="0" y="1161" width="128" height="128"/>
165
+ <SubTexture name="terrain_dirt_vertical_bottom" x="129" y="1161" width="128" height="128"/>
166
+ <SubTexture name="terrain_dirt_vertical_middle" x="258" y="1161" width="128" height="128"/>
167
+ <SubTexture name="terrain_dirt_vertical_top" x="387" y="1161" width="128" height="128"/>
168
+ <SubTexture name="terrain_grass_block" x="516" y="1161" width="128" height="128"/>
169
+ <SubTexture name="terrain_grass_block_bottom" x="645" y="1161" width="128" height="128"/>
170
+ <SubTexture name="terrain_grass_block_bottom_left" x="774" y="1161" width="128" height="128"/>
171
+ <SubTexture name="terrain_grass_block_bottom_right" x="903" y="1161" width="128" height="128"/>
172
+ <SubTexture name="terrain_grass_block_center" x="1032" y="1161" width="128" height="128"/>
173
+ <SubTexture name="terrain_grass_block_left" x="1161" y="1161" width="128" height="128"/>
174
+ <SubTexture name="terrain_grass_block_right" x="1290" y="1161" width="128" height="128"/>
175
+ <SubTexture name="terrain_grass_block_top" x="1419" y="1161" width="128" height="128"/>
176
+ <SubTexture name="terrain_grass_block_top_left" x="1548" y="1161" width="128" height="128"/>
177
+ <SubTexture name="terrain_grass_block_top_right" x="1677" y="1161" width="128" height="128"/>
178
+ <SubTexture name="terrain_grass_cloud" x="1806" y="1161" width="128" height="128"/>
179
+ <SubTexture name="terrain_grass_cloud_background" x="1935" y="1161" width="128" height="128"/>
180
+ <SubTexture name="terrain_grass_cloud_left" x="2064" y="1161" width="128" height="128"/>
181
+ <SubTexture name="terrain_grass_cloud_middle" x="2193" y="1161" width="128" height="128"/>
182
+ <SubTexture name="terrain_grass_cloud_right" x="0" y="1290" width="128" height="128"/>
183
+ <SubTexture name="terrain_grass_horizontal_left" x="129" y="1290" width="128" height="128"/>
184
+ <SubTexture name="terrain_grass_horizontal_middle" x="258" y="1290" width="128" height="128"/>
185
+ <SubTexture name="terrain_grass_horizontal_overhang_left" x="387" y="1290" width="128" height="128"/>
186
+ <SubTexture name="terrain_grass_horizontal_overhang_right" x="516" y="1290" width="128" height="128"/>
187
+ <SubTexture name="terrain_grass_horizontal_right" x="645" y="1290" width="128" height="128"/>
188
+ <SubTexture name="terrain_grass_ramp_long_a" x="774" y="1290" width="128" height="128"/>
189
+ <SubTexture name="terrain_grass_ramp_long_b" x="903" y="1290" width="128" height="128"/>
190
+ <SubTexture name="terrain_grass_ramp_long_c" x="1032" y="1290" width="128" height="128"/>
191
+ <SubTexture name="terrain_grass_ramp_short_a" x="1161" y="1290" width="128" height="128"/>
192
+ <SubTexture name="terrain_grass_ramp_short_b" x="1290" y="1290" width="128" height="128"/>
193
+ <SubTexture name="terrain_grass_vertical_bottom" x="1419" y="1290" width="128" height="128"/>
194
+ <SubTexture name="terrain_grass_vertical_middle" x="1548" y="1290" width="128" height="128"/>
195
+ <SubTexture name="terrain_grass_vertical_top" x="1677" y="1290" width="128" height="128"/>
196
+ <SubTexture name="terrain_purple_block" x="1806" y="1290" width="128" height="128"/>
197
+ <SubTexture name="terrain_purple_block_bottom" x="1935" y="1290" width="128" height="128"/>
198
+ <SubTexture name="terrain_purple_block_bottom_left" x="2064" y="1290" width="128" height="128"/>
199
+ <SubTexture name="terrain_purple_block_bottom_right" x="2193" y="1290" width="128" height="128"/>
200
+ <SubTexture name="terrain_purple_block_center" x="0" y="1419" width="128" height="128"/>
201
+ <SubTexture name="terrain_purple_block_left" x="129" y="1419" width="128" height="128"/>
202
+ <SubTexture name="terrain_purple_block_right" x="258" y="1419" width="128" height="128"/>
203
+ <SubTexture name="terrain_purple_block_top" x="387" y="1419" width="128" height="128"/>
204
+ <SubTexture name="terrain_purple_block_top_left" x="516" y="1419" width="128" height="128"/>
205
+ <SubTexture name="terrain_purple_block_top_right" x="645" y="1419" width="128" height="128"/>
206
+ <SubTexture name="terrain_purple_cloud" x="774" y="1419" width="128" height="128"/>
207
+ <SubTexture name="terrain_purple_cloud_background" x="903" y="1419" width="128" height="128"/>
208
+ <SubTexture name="terrain_purple_cloud_left" x="1032" y="1419" width="128" height="128"/>
209
+ <SubTexture name="terrain_purple_cloud_middle" x="1161" y="1419" width="128" height="128"/>
210
+ <SubTexture name="terrain_purple_cloud_right" x="1290" y="1419" width="128" height="128"/>
211
+ <SubTexture name="terrain_purple_horizontal_left" x="1419" y="1419" width="128" height="128"/>
212
+ <SubTexture name="terrain_purple_horizontal_middle" x="1548" y="1419" width="128" height="128"/>
213
+ <SubTexture name="terrain_purple_horizontal_overhang_left" x="1677" y="1419" width="128" height="128"/>
214
+ <SubTexture name="terrain_purple_horizontal_overhang_right" x="1806" y="1419" width="128" height="128"/>
215
+ <SubTexture name="terrain_purple_horizontal_right" x="1935" y="1419" width="128" height="128"/>
216
+ <SubTexture name="terrain_purple_ramp_long_a" x="2064" y="1419" width="128" height="128"/>
217
+ <SubTexture name="terrain_purple_ramp_long_b" x="2193" y="1419" width="128" height="128"/>
218
+ <SubTexture name="terrain_purple_ramp_long_c" x="0" y="1548" width="128" height="128"/>
219
+ <SubTexture name="terrain_purple_ramp_short_a" x="129" y="1548" width="128" height="128"/>
220
+ <SubTexture name="terrain_purple_ramp_short_b" x="258" y="1548" width="128" height="128"/>
221
+ <SubTexture name="terrain_purple_vertical_bottom" x="387" y="1548" width="128" height="128"/>
222
+ <SubTexture name="terrain_purple_vertical_middle" x="516" y="1548" width="128" height="128"/>
223
+ <SubTexture name="terrain_purple_vertical_top" x="645" y="1548" width="128" height="128"/>
224
+ <SubTexture name="terrain_sand_block" x="774" y="1548" width="128" height="128"/>
225
+ <SubTexture name="terrain_sand_block_bottom" x="903" y="1548" width="128" height="128"/>
226
+ <SubTexture name="terrain_sand_block_bottom_left" x="1032" y="1548" width="128" height="128"/>
227
+ <SubTexture name="terrain_sand_block_bottom_right" x="1161" y="1548" width="128" height="128"/>
228
+ <SubTexture name="terrain_sand_block_center" x="1290" y="1548" width="128" height="128"/>
229
+ <SubTexture name="terrain_sand_block_left" x="1419" y="1548" width="128" height="128"/>
230
+ <SubTexture name="terrain_sand_block_right" x="1548" y="1548" width="128" height="128"/>
231
+ <SubTexture name="terrain_sand_block_top" x="1677" y="1548" width="128" height="128"/>
232
+ <SubTexture name="terrain_sand_block_top_left" x="1806" y="1548" width="128" height="128"/>
233
+ <SubTexture name="terrain_sand_block_top_right" x="1935" y="1548" width="128" height="128"/>
234
+ <SubTexture name="terrain_sand_cloud" x="2064" y="1548" width="128" height="128"/>
235
+ <SubTexture name="terrain_sand_cloud_background" x="2193" y="1548" width="128" height="128"/>
236
+ <SubTexture name="terrain_sand_cloud_left" x="0" y="1677" width="128" height="128"/>
237
+ <SubTexture name="terrain_sand_cloud_middle" x="129" y="1677" width="128" height="128"/>
238
+ <SubTexture name="terrain_sand_cloud_right" x="258" y="1677" width="128" height="128"/>
239
+ <SubTexture name="terrain_sand_horizontal_left" x="387" y="1677" width="128" height="128"/>
240
+ <SubTexture name="terrain_sand_horizontal_middle" x="516" y="1677" width="128" height="128"/>
241
+ <SubTexture name="terrain_sand_horizontal_overhang_left" x="645" y="1677" width="128" height="128"/>
242
+ <SubTexture name="terrain_sand_horizontal_overhang_right" x="774" y="1677" width="128" height="128"/>
243
+ <SubTexture name="terrain_sand_horizontal_right" x="903" y="1677" width="128" height="128"/>
244
+ <SubTexture name="terrain_sand_ramp_long_a" x="1032" y="1677" width="128" height="128"/>
245
+ <SubTexture name="terrain_sand_ramp_long_b" x="1161" y="1677" width="128" height="128"/>
246
+ <SubTexture name="terrain_sand_ramp_long_c" x="1290" y="1677" width="128" height="128"/>
247
+ <SubTexture name="terrain_sand_ramp_short_a" x="1419" y="1677" width="128" height="128"/>
248
+ <SubTexture name="terrain_sand_ramp_short_b" x="1548" y="1677" width="128" height="128"/>
249
+ <SubTexture name="terrain_sand_vertical_bottom" x="1677" y="1677" width="128" height="128"/>
250
+ <SubTexture name="terrain_sand_vertical_middle" x="1806" y="1677" width="128" height="128"/>
251
+ <SubTexture name="terrain_sand_vertical_top" x="1935" y="1677" width="128" height="128"/>
252
+ <SubTexture name="terrain_snow_block" x="2064" y="1677" width="128" height="128"/>
253
+ <SubTexture name="terrain_snow_block_bottom" x="2193" y="1677" width="128" height="128"/>
254
+ <SubTexture name="terrain_snow_block_bottom_left" x="0" y="1806" width="128" height="128"/>
255
+ <SubTexture name="terrain_snow_block_bottom_right" x="129" y="1806" width="128" height="128"/>
256
+ <SubTexture name="terrain_snow_block_center" x="258" y="1806" width="128" height="128"/>
257
+ <SubTexture name="terrain_snow_block_left" x="387" y="1806" width="128" height="128"/>
258
+ <SubTexture name="terrain_snow_block_right" x="516" y="1806" width="128" height="128"/>
259
+ <SubTexture name="terrain_snow_block_top" x="645" y="1806" width="128" height="128"/>
260
+ <SubTexture name="terrain_snow_block_top_left" x="774" y="1806" width="128" height="128"/>
261
+ <SubTexture name="terrain_snow_block_top_right" x="903" y="1806" width="128" height="128"/>
262
+ <SubTexture name="terrain_snow_cloud" x="1032" y="1806" width="128" height="128"/>
263
+ <SubTexture name="terrain_snow_cloud_background" x="1161" y="1806" width="128" height="128"/>
264
+ <SubTexture name="terrain_snow_cloud_left" x="1290" y="1806" width="128" height="128"/>
265
+ <SubTexture name="terrain_snow_cloud_middle" x="1419" y="1806" width="128" height="128"/>
266
+ <SubTexture name="terrain_snow_cloud_right" x="1548" y="1806" width="128" height="128"/>
267
+ <SubTexture name="terrain_snow_horizontal_left" x="1677" y="1806" width="128" height="128"/>
268
+ <SubTexture name="terrain_snow_horizontal_middle" x="1806" y="1806" width="128" height="128"/>
269
+ <SubTexture name="terrain_snow_horizontal_overhang_left" x="1935" y="1806" width="128" height="128"/>
270
+ <SubTexture name="terrain_snow_horizontal_overhang_right" x="2064" y="1806" width="128" height="128"/>
271
+ <SubTexture name="terrain_snow_horizontal_right" x="2193" y="1806" width="128" height="128"/>
272
+ <SubTexture name="terrain_snow_ramp_long_a" x="0" y="1935" width="128" height="128"/>
273
+ <SubTexture name="terrain_snow_ramp_long_b" x="129" y="1935" width="128" height="128"/>
274
+ <SubTexture name="terrain_snow_ramp_long_c" x="258" y="1935" width="128" height="128"/>
275
+ <SubTexture name="terrain_snow_ramp_short_a" x="387" y="1935" width="128" height="128"/>
276
+ <SubTexture name="terrain_snow_ramp_short_b" x="516" y="1935" width="128" height="128"/>
277
+ <SubTexture name="terrain_snow_vertical_bottom" x="645" y="1935" width="128" height="128"/>
278
+ <SubTexture name="terrain_snow_vertical_middle" x="774" y="1935" width="128" height="128"/>
279
+ <SubTexture name="terrain_snow_vertical_top" x="903" y="1935" width="128" height="128"/>
280
+ <SubTexture name="terrain_stone_block" x="1032" y="1935" width="128" height="128"/>
281
+ <SubTexture name="terrain_stone_block_bottom" x="1161" y="1935" width="128" height="128"/>
282
+ <SubTexture name="terrain_stone_block_bottom_left" x="1290" y="1935" width="128" height="128"/>
283
+ <SubTexture name="terrain_stone_block_bottom_right" x="1419" y="1935" width="128" height="128"/>
284
+ <SubTexture name="terrain_stone_block_center" x="1548" y="1935" width="128" height="128"/>
285
+ <SubTexture name="terrain_stone_block_left" x="1677" y="1935" width="128" height="128"/>
286
+ <SubTexture name="terrain_stone_block_right" x="1806" y="1935" width="128" height="128"/>
287
+ <SubTexture name="terrain_stone_block_top" x="1935" y="1935" width="128" height="128"/>
288
+ <SubTexture name="terrain_stone_block_top_left" x="2064" y="1935" width="128" height="128"/>
289
+ <SubTexture name="terrain_stone_block_top_right" x="2193" y="1935" width="128" height="128"/>
290
+ <SubTexture name="terrain_stone_cloud" x="0" y="2064" width="128" height="128"/>
291
+ <SubTexture name="terrain_stone_cloud_background" x="129" y="2064" width="128" height="128"/>
292
+ <SubTexture name="terrain_stone_cloud_left" x="258" y="2064" width="128" height="128"/>
293
+ <SubTexture name="terrain_stone_cloud_middle" x="387" y="2064" width="128" height="128"/>
294
+ <SubTexture name="terrain_stone_cloud_right" x="516" y="2064" width="128" height="128"/>
295
+ <SubTexture name="terrain_stone_horizontal_left" x="645" y="2064" width="128" height="128"/>
296
+ <SubTexture name="terrain_stone_horizontal_middle" x="774" y="2064" width="128" height="128"/>
297
+ <SubTexture name="terrain_stone_horizontal_overhang_left" x="903" y="2064" width="128" height="128"/>
298
+ <SubTexture name="terrain_stone_horizontal_overhang_right" x="1032" y="2064" width="128" height="128"/>
299
+ <SubTexture name="terrain_stone_horizontal_right" x="1161" y="2064" width="128" height="128"/>
300
+ <SubTexture name="terrain_stone_ramp_long_a" x="1290" y="2064" width="128" height="128"/>
301
+ <SubTexture name="terrain_stone_ramp_long_b" x="1419" y="2064" width="128" height="128"/>
302
+ <SubTexture name="terrain_stone_ramp_long_c" x="1548" y="2064" width="128" height="128"/>
303
+ <SubTexture name="terrain_stone_ramp_short_a" x="1677" y="2064" width="128" height="128"/>
304
+ <SubTexture name="terrain_stone_ramp_short_b" x="1806" y="2064" width="128" height="128"/>
305
+ <SubTexture name="terrain_stone_vertical_bottom" x="1935" y="2064" width="128" height="128"/>
306
+ <SubTexture name="terrain_stone_vertical_middle" x="2064" y="2064" width="128" height="128"/>
307
+ <SubTexture name="terrain_stone_vertical_top" x="2193" y="2064" width="128" height="128"/>
308
+ <SubTexture name="torch_off" x="0" y="2193" width="128" height="128"/>
309
+ <SubTexture name="torch_on_a" x="129" y="2193" width="128" height="128"/>
310
+ <SubTexture name="torch_on_b" x="258" y="2193" width="128" height="128"/>
311
+ <SubTexture name="water" x="387" y="2193" width="128" height="128"/>
312
+ <SubTexture name="water_top" x="516" y="2193" width="128" height="128"/>
313
+ <SubTexture name="water_top_low" x="645" y="2193" width="128" height="128"/>
314
+ <SubTexture name="weight" x="774" y="2193" width="128" height="128"/>
315
+ <SubTexture name="window" x="903" y="2193" width="128" height="128"/>
316
+ </TextureAtlas>
@@ -38,7 +38,7 @@
38
38
  <h1>Ruby 2D</h1>
39
39
  <p>This is a sample HTML template, but you can create your own!</p>
40
40
  <hr>
41
- <canvas id="canvas" oncontextmenu=".preventDefault()"></canvas>
41
+ <canvas id="canvas" oncontextmenu="event.preventDefault()"></canvas>
42
42
  <h2 style="margin-bottom: 0;">Output</h2>
43
43
  <p style="margin: 4px 0 8px 0">Open the JavaScript console in developer tools for more detail.</p>
44
44
  <textarea id="output"></textarea>
data/assets/target.rb ADDED
@@ -0,0 +1,131 @@
1
+ require 'rbconfig'
2
+
3
+ module AssetsTarget
4
+ module_function
5
+
6
+ # Normalize OS into folder names
7
+ def host_os
8
+ host = RbConfig::CONFIG['host_os'].downcase
9
+
10
+ return 'windows' if host.include?('mswin') || host.include?('mingw') || host.include?('cygwin')
11
+ return 'macos' if host.include?('darwin')
12
+ return 'linux' if host.include?('linux')
13
+ return 'bsd' if host.match?(/freebsd|openbsd|netbsd|dragonfly/)
14
+
15
+ raise "Unsupported host OS: #{host.inspect}"
16
+ end
17
+
18
+ # Normalize CPU arch into folder names
19
+ def host_arch
20
+ cpu = RbConfig::CONFIG['host_cpu'].downcase
21
+
22
+ case cpu
23
+ when 'x86_64', 'amd64', 'x64'
24
+ 'x86_64'
25
+ when 'aarch64', 'arm64'
26
+ 'arm64'
27
+ else
28
+ if host_os != 'windows'
29
+ uname = `uname -m 2>/dev/null`.strip.downcase
30
+ return 'arm64' if ['arm64', 'aarch64'].include?(uname)
31
+ return 'x86_64' if ['x86_64', 'amd64'].include?(uname)
32
+ end
33
+
34
+ raise "Unsupported host CPU: #{cpu.inspect}"
35
+ end
36
+ end
37
+
38
+ # Toolchain is deterministic from host OS:
39
+ # - windows => mingw-ucrt (MSYS2 UCRT)
40
+ # - macos => nil
41
+ # - linux => nil (expand as needed)
42
+ # - bsd => nil
43
+ def host_toolchain
44
+ case host_os
45
+ when 'windows' then 'mingw-ucrt'
46
+ when 'macos' then nil
47
+ when 'linux' then nil
48
+ when 'bsd' then nil
49
+ end
50
+ end
51
+
52
+ # Allow overrides via env vars:
53
+ # RUBY2D_ASSETS_OS=windows RUBY2D_ASSETS_ARCH=arm64 RUBY2D_ASSETS_TOOLCHAIN=mingw-ucrt
54
+ def resolved_target
55
+ os = ENV['RUBY2D_ASSETS_OS'] || host_os
56
+ arch = ENV['RUBY2D_ASSETS_ARCH'] || host_arch
57
+ toolchain = ENV.key?('RUBY2D_ASSETS_TOOLCHAIN') ? ENV['RUBY2D_ASSETS_TOOLCHAIN'] : host_toolchain
58
+
59
+ [os, arch, toolchain]
60
+ end
61
+
62
+ # Canonical target ID string, e.g. "macos-arm64" or "windows-x86_64-mingw-ucrt"
63
+ def target_id
64
+ os, arch, toolchain = resolved_target
65
+ toolchain && !toolchain.empty? ? "#{os}-#{arch}-#{toolchain}" : "#{os}-#{arch}"
66
+ end
67
+
68
+ # Where library builds read and write. Defaults to this gem's own `assets/`
69
+ # dir — both the dev repo and the bundled gem build in place there. Setting
70
+ # RUBY2D_ASSETS_ROOT redirects it; `ruby2d setup` points it at `cache_root`
71
+ # so a `gem install`ed user can build libs without touching the (possibly
72
+ # read-only) gem dir.
73
+ def default_root
74
+ override = ENV['RUBY2D_ASSETS_ROOT']
75
+ override && !override.empty? ? override : __dir__
76
+ end
77
+
78
+ # Per-user cache root for libraries built by `ruby2d setup`, outside the gem.
79
+ # Honors RUBY2D_ASSETS_ROOT (so `setup` and the build agree), else a
80
+ # platform-native cache location. Reported to the user by `setup`.
81
+ def cache_root
82
+ override = ENV['RUBY2D_ASSETS_ROOT']
83
+ return override if override && !override.empty?
84
+
85
+ case host_os
86
+ when 'windows'
87
+ base = ENV['LOCALAPPDATA']
88
+ base = File.join(Dir.home, 'AppData', 'Local') if base.nil? || base.empty?
89
+ File.join(base, 'ruby2d')
90
+ when 'macos'
91
+ File.join(Dir.home, 'Library', 'Caches', 'ruby2d')
92
+ else # linux, bsd
93
+ base = ENV['XDG_CACHE_HOME']
94
+ base = File.join(Dir.home, '.cache') if base.nil? || base.empty?
95
+ File.join(base, 'ruby2d')
96
+ end
97
+ end
98
+
99
+ # platform/{target_id} — where compiled libs and binaries live
100
+ def platform_dir(root: default_root)
101
+ File.join(root, 'platform', target_id)
102
+ end
103
+
104
+ # platform/include — SDL3 + mruby headers, shared across targets (not per-id)
105
+ def include_dir(root: default_root)
106
+ File.join(root, 'platform', 'include')
107
+ end
108
+
109
+ # platform/wasm — pre-built WASM (Emscripten) libraries. WASM is a single
110
+ # cross-compile target with no host binaries, so it gets a flat `wasm` dir
111
+ # (mirroring build/wasm) rather than an {os}-{arch} id, and only a lib/ under
112
+ # it. Headers are shared via include_dir, same as the native targets.
113
+ def wasm_platform_dir(root: default_root)
114
+ File.join(root, 'platform', 'wasm')
115
+ end
116
+
117
+ # build/{target_id} — intermediate cmake build artifacts
118
+ def build_dir(root: default_root)
119
+ File.join(root, 'build', target_id)
120
+ end
121
+
122
+ # build/wasm — intermediate build artifacts for the WASM target
123
+ def wasm_build_dir(root: default_root)
124
+ File.join(root, 'build', 'wasm')
125
+ end
126
+
127
+ # sources/ — where dependency source repos are cloned
128
+ def sources_dir(root: default_root)
129
+ File.join(root, 'sources')
130
+ end
131
+ end