koffi 0.9.4 → 0.9.7

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 (823) hide show
  1. package/LICENSE.txt +661 -0
  2. package/README.md +50 -8
  3. package/package.json +24 -6
  4. package/src/call.hh +2 -1
  5. package/src/call_arm32.cc +498 -0
  6. package/src/call_arm32_fwd.S +108 -0
  7. package/src/call_arm64.cc +57 -57
  8. package/src/call_arm64_fwd.S +24 -29
  9. package/src/call_x64_sysv.cc +29 -43
  10. package/src/call_x64_win.cc +37 -40
  11. package/src/call_x86.cc +46 -59
  12. package/src/ffi.cc +29 -27
  13. package/src/ffi.hh +19 -12
  14. package/src/util.cc +58 -24
  15. package/src/util.hh +103 -19
  16. package/test/qemu/.gitkeep +0 -0
  17. package/test/registry/machines.json +112 -0
  18. package/test/registry/sha256sum.txt +21 -0
  19. package/test/test.js +493 -0
  20. package/vendor/dragonbox/CMakeLists.txt +122 -122
  21. package/vendor/dragonbox/LICENSE-Apache2-LLVM +218 -218
  22. package/vendor/dragonbox/LICENSE-Boost +23 -23
  23. package/vendor/dragonbox/README.md +277 -277
  24. package/vendor/dragonbox/cmake/dragonboxConfig.cmake +1 -1
  25. package/vendor/dragonbox/include/dragonbox/dragonbox.h +6 -2
  26. package/vendor/dragonbox/include/dragonbox/dragonbox_to_chars.h +108 -108
  27. package/vendor/dragonbox/other_files/Dragonbox.pdf +0 -0
  28. package/vendor/dragonbox/other_files/unknown_win64_vc2019.html +539 -539
  29. package/vendor/dragonbox/source/dragonbox_to_chars.cpp +303 -303
  30. package/vendor/dragonbox/subproject/3rdparty/grisu_exact/CMakeLists.txt +23 -23
  31. package/vendor/dragonbox/subproject/3rdparty/grisu_exact/fp_to_chars.cpp +238 -238
  32. package/vendor/dragonbox/subproject/3rdparty/grisu_exact/fp_to_chars.h +95 -95
  33. package/vendor/dragonbox/subproject/3rdparty/grisu_exact/grisu_exact.h +2666 -2666
  34. package/vendor/dragonbox/subproject/3rdparty/ryu/CMakeLists.txt +16 -16
  35. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/common.h +114 -114
  36. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/d2s.c +509 -509
  37. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/d2s_full_table.h +367 -367
  38. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/d2s_intrinsics.h +357 -357
  39. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/digit_table.h +35 -35
  40. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/f2s.c +345 -345
  41. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/f2s_full_table.h +55 -55
  42. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/f2s_intrinsics.h +128 -128
  43. package/vendor/dragonbox/subproject/3rdparty/ryu/ryu/ryu.h +46 -46
  44. package/vendor/dragonbox/subproject/3rdparty/schubfach/CMakeLists.txt +21 -21
  45. package/vendor/dragonbox/subproject/3rdparty/schubfach/schubfach_32.cc +699 -699
  46. package/vendor/dragonbox/subproject/3rdparty/schubfach/schubfach_32.h +31 -31
  47. package/vendor/dragonbox/subproject/3rdparty/schubfach/schubfach_64.cc +1354 -1354
  48. package/vendor/dragonbox/subproject/3rdparty/schubfach/schubfach_64.h +31 -31
  49. package/vendor/dragonbox/subproject/3rdparty/shaded_plots/example_shaded_plots.m +68 -68
  50. package/vendor/dragonbox/subproject/3rdparty/shaded_plots/license.txt +25 -25
  51. package/vendor/dragonbox/subproject/3rdparty/shaded_plots/plot_distribution.m +92 -92
  52. package/vendor/dragonbox/subproject/3rdparty/shaded_plots/plot_distribution_prctile.m +121 -121
  53. package/vendor/dragonbox/subproject/3rdparty/shaded_plots/plot_histogram_shaded.m +99 -99
  54. package/vendor/dragonbox/subproject/3rdparty/shaded_plots/plot_shaded.m +93 -93
  55. package/vendor/dragonbox/subproject/benchmark/CMakeLists.txt +64 -64
  56. package/vendor/dragonbox/subproject/benchmark/include/benchmark.h +40 -40
  57. package/vendor/dragonbox/subproject/benchmark/matlab/plot_benchmarks.m +21 -21
  58. package/vendor/dragonbox/subproject/benchmark/matlab/plot_digit_benchmark.m +78 -78
  59. package/vendor/dragonbox/subproject/benchmark/matlab/plot_uniform_benchmark.m +95 -95
  60. package/vendor/dragonbox/subproject/benchmark/source/benchmark.cpp +237 -237
  61. package/vendor/dragonbox/subproject/benchmark/source/dragonbox.cpp +30 -30
  62. package/vendor/dragonbox/subproject/benchmark/source/grisu_exact.cpp +36 -36
  63. package/vendor/dragonbox/subproject/benchmark/source/ryu.cpp +27 -27
  64. package/vendor/dragonbox/subproject/benchmark/source/schubfach.cpp +31 -31
  65. package/vendor/dragonbox/subproject/common/CMakeLists.txt +41 -41
  66. package/vendor/dragonbox/subproject/common/include/best_rational_approx.h +96 -96
  67. package/vendor/dragonbox/subproject/common/include/big_uint.h +217 -217
  68. package/vendor/dragonbox/subproject/common/include/continued_fractions.h +173 -173
  69. package/vendor/dragonbox/subproject/common/include/good_rational_approx.h +266 -266
  70. package/vendor/dragonbox/subproject/common/include/random_float.h +182 -182
  71. package/vendor/dragonbox/subproject/common/include/rational_continued_fractions.h +56 -56
  72. package/vendor/dragonbox/subproject/common/source/big_uint.cpp +601 -601
  73. package/vendor/dragonbox/subproject/meta/CMakeLists.txt +40 -40
  74. package/vendor/dragonbox/subproject/meta/results/binary32_generated_cache.txt +81 -81
  75. package/vendor/dragonbox/subproject/meta/results/binary64_compressed_cache_error_table.txt +9 -9
  76. package/vendor/dragonbox/subproject/meta/results/binary64_generated_cache.txt +622 -622
  77. package/vendor/dragonbox/subproject/meta/source/generate_cache.cpp +126 -126
  78. package/vendor/dragonbox/subproject/meta/source/live_test.cpp +81 -81
  79. package/vendor/dragonbox/subproject/meta/source/perf_test.cpp +104 -104
  80. package/vendor/dragonbox/subproject/meta/source/sandbox.cpp +20 -20
  81. package/vendor/dragonbox/subproject/test/CMakeLists.txt +69 -69
  82. package/vendor/dragonbox/subproject/test/results/plot_required_bits.m +17 -17
  83. package/vendor/dragonbox/subproject/test/source/test_all_shorter_interval_cases.cpp +88 -88
  84. package/vendor/dragonbox/subproject/test/source/uniform_random_test.cpp +95 -95
  85. package/vendor/dragonbox/subproject/test/source/verify_cache_precision.cpp +337 -337
  86. package/vendor/dragonbox/subproject/test/source/verify_compressed_cache.cpp +154 -154
  87. package/vendor/dragonbox/subproject/test/source/verify_fast_multiplication.cpp +168 -168
  88. package/vendor/dragonbox/subproject/test/source/verify_log_computation.cpp +251 -251
  89. package/vendor/dragonbox/subproject/test/source/verify_magic_division.cpp +113 -113
  90. package/vendor/libcc/libcc.cc +36 -18
  91. package/vendor/libcc/libcc.hh +23 -1
  92. package/vendor/raylib/BINDINGS.md +123 -0
  93. package/vendor/raylib/CHANGELOG +1495 -0
  94. package/vendor/raylib/CMakeLists.txt +33 -0
  95. package/vendor/raylib/CMakeOptions.txt +87 -0
  96. package/vendor/raylib/CONTRIBUTING.md +76 -0
  97. package/vendor/raylib/CONTRIBUTORS.md +63 -0
  98. package/vendor/raylib/CONVENTIONS.md +95 -0
  99. package/vendor/raylib/HISTORY.md +364 -0
  100. package/vendor/raylib/LICENSE +16 -0
  101. package/vendor/raylib/README.md +141 -0
  102. package/vendor/raylib/ROADMAP.md +76 -0
  103. package/vendor/raylib/SPONSORS.md +68 -0
  104. package/vendor/raylib/cmake/AddIfFlagCompiles.cmake +12 -0
  105. package/vendor/raylib/cmake/BuildOptions.cmake +18 -0
  106. package/vendor/raylib/cmake/CompileDefinitions.cmake +110 -0
  107. package/vendor/raylib/cmake/CompilerFlags.cmake +79 -0
  108. package/vendor/raylib/cmake/EnumOption.cmake +9 -0
  109. package/vendor/raylib/cmake/GlfwImport.cmake +34 -0
  110. package/vendor/raylib/cmake/InstallConfigurations.cmake +29 -0
  111. package/vendor/raylib/cmake/JoinPaths.cmake +26 -0
  112. package/vendor/raylib/cmake/LibraryConfigurations.cmake +108 -0
  113. package/vendor/raylib/cmake/LibraryPathToLinkerFlags.cmake +24 -0
  114. package/vendor/raylib/cmake/PackConfigurations.cmake +13 -0
  115. package/vendor/raylib/cmake/PopulateConfigVariablesLocally.cmake +11 -0
  116. package/vendor/raylib/cmake/raylib-config-version.cmake +21 -0
  117. package/vendor/raylib/cmake/raylib-config.cmake +76 -0
  118. package/vendor/raylib/examples/CMakeLists.txt +139 -0
  119. package/vendor/raylib/examples/Makefile +565 -0
  120. package/vendor/raylib/examples/Makefile.Android +405 -0
  121. package/vendor/raylib/examples/Makefile.Web +1053 -0
  122. package/vendor/raylib/examples/README.md +203 -0
  123. package/vendor/raylib/examples/audio/audio_module_playing.c +146 -0
  124. package/vendor/raylib/examples/audio/audio_module_playing.png +0 -0
  125. package/vendor/raylib/examples/audio/audio_multichannel_sound.c +73 -0
  126. package/vendor/raylib/examples/audio/audio_multichannel_sound.png +0 -0
  127. package/vendor/raylib/examples/audio/audio_music_stream.c +93 -0
  128. package/vendor/raylib/examples/audio/audio_music_stream.png +0 -0
  129. package/vendor/raylib/examples/audio/audio_raw_stream.c +167 -0
  130. package/vendor/raylib/examples/audio/audio_raw_stream.png +0 -0
  131. package/vendor/raylib/examples/audio/audio_sound_loading.c +64 -0
  132. package/vendor/raylib/examples/audio/audio_sound_loading.png +0 -0
  133. package/vendor/raylib/examples/audio/resources/LICENSE.md +10 -0
  134. package/vendor/raylib/examples/audio/resources/coin.wav +0 -0
  135. package/vendor/raylib/examples/audio/resources/country.mp3 +0 -0
  136. package/vendor/raylib/examples/audio/resources/mini1111.xm +0 -0
  137. package/vendor/raylib/examples/audio/resources/sound.wav +0 -0
  138. package/vendor/raylib/examples/audio/resources/spring.wav +0 -0
  139. package/vendor/raylib/examples/audio/resources/target.flac +0 -0
  140. package/vendor/raylib/examples/audio/resources/target.ogg +0 -0
  141. package/vendor/raylib/examples/audio/resources/weird.wav +0 -0
  142. package/vendor/raylib/examples/build.zig +86 -0
  143. package/vendor/raylib/examples/core/core_2d_camera.c +132 -0
  144. package/vendor/raylib/examples/core/core_2d_camera.png +0 -0
  145. package/vendor/raylib/examples/core/core_2d_camera_platformer.c +293 -0
  146. package/vendor/raylib/examples/core/core_2d_camera_platformer.png +0 -0
  147. package/vendor/raylib/examples/core/core_2d_camera_smooth_pixelperfect.png +0 -0
  148. package/vendor/raylib/examples/core/core_3d_camera_first_person.c +97 -0
  149. package/vendor/raylib/examples/core/core_3d_camera_first_person.png +0 -0
  150. package/vendor/raylib/examples/core/core_3d_camera_free.c +83 -0
  151. package/vendor/raylib/examples/core/core_3d_camera_free.png +0 -0
  152. package/vendor/raylib/examples/core/core_3d_camera_mode.c +73 -0
  153. package/vendor/raylib/examples/core/core_3d_camera_mode.png +0 -0
  154. package/vendor/raylib/examples/core/core_3d_picking.c +107 -0
  155. package/vendor/raylib/examples/core/core_3d_picking.png +0 -0
  156. package/vendor/raylib/examples/core/core_basic_screen_manager.c +150 -0
  157. package/vendor/raylib/examples/core/core_basic_screen_manager.png +0 -0
  158. package/vendor/raylib/examples/core/core_basic_window.c +62 -0
  159. package/vendor/raylib/examples/core/core_basic_window.png +0 -0
  160. package/vendor/raylib/examples/core/core_basic_window_web.c +85 -0
  161. package/vendor/raylib/examples/core/core_custom_frame_control.c +125 -0
  162. package/vendor/raylib/examples/core/core_custom_frame_control.png +0 -0
  163. package/vendor/raylib/examples/core/core_custom_logging.c +84 -0
  164. package/vendor/raylib/examples/core/core_custom_logging.png +0 -0
  165. package/vendor/raylib/examples/core/core_drop_files.c +76 -0
  166. package/vendor/raylib/examples/core/core_drop_files.png +0 -0
  167. package/vendor/raylib/examples/core/core_input_gamepad.c +195 -0
  168. package/vendor/raylib/examples/core/core_input_gamepad.png +0 -0
  169. package/vendor/raylib/examples/core/core_input_gestures.c +115 -0
  170. package/vendor/raylib/examples/core/core_input_gestures.png +0 -0
  171. package/vendor/raylib/examples/core/core_input_keys.c +59 -0
  172. package/vendor/raylib/examples/core/core_input_keys.png +0 -0
  173. package/vendor/raylib/examples/core/core_input_mouse.c +65 -0
  174. package/vendor/raylib/examples/core/core_input_mouse.png +0 -0
  175. package/vendor/raylib/examples/core/core_input_mouse_wheel.c +58 -0
  176. package/vendor/raylib/examples/core/core_input_mouse_wheel.png +0 -0
  177. package/vendor/raylib/examples/core/core_input_multitouch.c +70 -0
  178. package/vendor/raylib/examples/core/core_input_multitouch.png +0 -0
  179. package/vendor/raylib/examples/core/core_loading_thread.c +147 -0
  180. package/vendor/raylib/examples/core/core_loading_thread.png +0 -0
  181. package/vendor/raylib/examples/core/core_quat_conversion.c +132 -0
  182. package/vendor/raylib/examples/core/core_quat_conversion.png +0 -0
  183. package/vendor/raylib/examples/core/core_random_values.c +67 -0
  184. package/vendor/raylib/examples/core/core_random_values.png +0 -0
  185. package/vendor/raylib/examples/core/core_scissor_test.c +71 -0
  186. package/vendor/raylib/examples/core/core_scissor_test.png +0 -0
  187. package/vendor/raylib/examples/core/core_smooth_pixelperfect.c +117 -0
  188. package/vendor/raylib/examples/core/core_smooth_pixelperfect.png +0 -0
  189. package/vendor/raylib/examples/core/core_split_screen.c +155 -0
  190. package/vendor/raylib/examples/core/core_split_screen.png +0 -0
  191. package/vendor/raylib/examples/core/core_storage_values.c +87 -0
  192. package/vendor/raylib/examples/core/core_storage_values.png +0 -0
  193. package/vendor/raylib/examples/core/core_vr_simulator.c +143 -0
  194. package/vendor/raylib/examples/core/core_vr_simulator.png +0 -0
  195. package/vendor/raylib/examples/core/core_window_flags.c +191 -0
  196. package/vendor/raylib/examples/core/core_window_flags.png +0 -0
  197. package/vendor/raylib/examples/core/core_window_letterbox.c +112 -0
  198. package/vendor/raylib/examples/core/core_window_letterbox.png +0 -0
  199. package/vendor/raylib/examples/core/core_world_screen.c +78 -0
  200. package/vendor/raylib/examples/core/core_world_screen.png +0 -0
  201. package/vendor/raylib/examples/core/resources/LICENSE.md +4 -0
  202. package/vendor/raylib/examples/core/resources/distortion100.fs +52 -0
  203. package/vendor/raylib/examples/core/resources/distortion330.fs +53 -0
  204. package/vendor/raylib/examples/core/resources/ps3.png +0 -0
  205. package/vendor/raylib/examples/core/resources/xbox.png +0 -0
  206. package/vendor/raylib/examples/examples_template.c +100 -0
  207. package/vendor/raylib/examples/models/models_animation.c +114 -0
  208. package/vendor/raylib/examples/models/models_animation.png +0 -0
  209. package/vendor/raylib/examples/models/models_billboard.c +75 -0
  210. package/vendor/raylib/examples/models/models_billboard.png +0 -0
  211. package/vendor/raylib/examples/models/models_box_collisions.c +121 -0
  212. package/vendor/raylib/examples/models/models_box_collisions.png +0 -0
  213. package/vendor/raylib/examples/models/models_cubicmap.c +87 -0
  214. package/vendor/raylib/examples/models/models_cubicmap.png +0 -0
  215. package/vendor/raylib/examples/models/models_first_person_maze.c +122 -0
  216. package/vendor/raylib/examples/models/models_first_person_maze.png +0 -0
  217. package/vendor/raylib/examples/models/models_geometric_shapes.c +80 -0
  218. package/vendor/raylib/examples/models/models_geometric_shapes.png +0 -0
  219. package/vendor/raylib/examples/models/models_heightmap.c +82 -0
  220. package/vendor/raylib/examples/models/models_heightmap.png +0 -0
  221. package/vendor/raylib/examples/models/models_loading.c +146 -0
  222. package/vendor/raylib/examples/models/models_loading.png +0 -0
  223. package/vendor/raylib/examples/models/models_loading_gltf.c +105 -0
  224. package/vendor/raylib/examples/models/models_loading_gltf.png +0 -0
  225. package/vendor/raylib/examples/models/models_loading_vox.c +130 -0
  226. package/vendor/raylib/examples/models/models_loading_vox.png +0 -0
  227. package/vendor/raylib/examples/models/models_mesh_generation.c +179 -0
  228. package/vendor/raylib/examples/models/models_mesh_generation.png +0 -0
  229. package/vendor/raylib/examples/models/models_mesh_picking.c +223 -0
  230. package/vendor/raylib/examples/models/models_mesh_picking.png +0 -0
  231. package/vendor/raylib/examples/models/models_orthographic_projection.c +99 -0
  232. package/vendor/raylib/examples/models/models_orthographic_projection.png +0 -0
  233. package/vendor/raylib/examples/models/models_rlgl_solar_system.c +172 -0
  234. package/vendor/raylib/examples/models/models_rlgl_solar_system.png +0 -0
  235. package/vendor/raylib/examples/models/models_skybox.c +262 -0
  236. package/vendor/raylib/examples/models/models_skybox.png +0 -0
  237. package/vendor/raylib/examples/models/models_waving_cubes.c +112 -0
  238. package/vendor/raylib/examples/models/models_waving_cubes.png +0 -0
  239. package/vendor/raylib/examples/models/models_yaw_pitch_roll.c +117 -0
  240. package/vendor/raylib/examples/models/models_yaw_pitch_roll.png +0 -0
  241. package/vendor/raylib/examples/models/resources/LICENSE.md +23 -0
  242. package/vendor/raylib/examples/models/resources/billboard.png +0 -0
  243. package/vendor/raylib/examples/models/resources/cubicmap.png +0 -0
  244. package/vendor/raylib/examples/models/resources/cubicmap_atlas.png +0 -0
  245. package/vendor/raylib/examples/models/resources/dresden_square_1k.hdr +0 -0
  246. package/vendor/raylib/examples/models/resources/dresden_square_2k.hdr +0 -0
  247. package/vendor/raylib/examples/models/resources/heightmap.png +0 -0
  248. package/vendor/raylib/examples/models/resources/models/gltf/AnimatedMorphCube.glb +0 -0
  249. package/vendor/raylib/examples/models/resources/models/gltf/AnimatedTriangle.gltf +118 -0
  250. package/vendor/raylib/examples/models/resources/models/gltf/BoxAnimated.glb +0 -0
  251. package/vendor/raylib/examples/models/resources/models/gltf/LICENSE +23 -0
  252. package/vendor/raylib/examples/models/resources/models/gltf/girl.glb +0 -0
  253. package/vendor/raylib/examples/models/resources/models/gltf/raylib_32x32.glb +0 -0
  254. package/vendor/raylib/examples/models/resources/models/gltf/rigged_figure.glb +0 -0
  255. package/vendor/raylib/examples/models/resources/models/gltf/vertex_colored_object.glb +0 -0
  256. package/vendor/raylib/examples/models/resources/models/iqm/guy.blend +0 -0
  257. package/vendor/raylib/examples/models/resources/models/iqm/guy.iqm +0 -0
  258. package/vendor/raylib/examples/models/resources/models/iqm/guyanim.iqm +0 -0
  259. package/vendor/raylib/examples/models/resources/models/iqm/guytex.png +0 -0
  260. package/vendor/raylib/examples/models/resources/models/iqm/vertex_colored_object.iqm +0 -0
  261. package/vendor/raylib/examples/models/resources/models/obj/bridge.obj +1725 -0
  262. package/vendor/raylib/examples/models/resources/models/obj/bridge_diffuse.png +0 -0
  263. package/vendor/raylib/examples/models/resources/models/obj/castle.obj +12919 -0
  264. package/vendor/raylib/examples/models/resources/models/obj/castle_diffuse.png +0 -0
  265. package/vendor/raylib/examples/models/resources/models/obj/cube.obj +68 -0
  266. package/vendor/raylib/examples/models/resources/models/obj/cube_diffuse.png +0 -0
  267. package/vendor/raylib/examples/models/resources/models/obj/house.obj +4564 -0
  268. package/vendor/raylib/examples/models/resources/models/obj/house_diffuse.png +0 -0
  269. package/vendor/raylib/examples/models/resources/models/obj/market.obj +7301 -0
  270. package/vendor/raylib/examples/models/resources/models/obj/market_diffuse.png +0 -0
  271. package/vendor/raylib/examples/models/resources/models/obj/plane.obj +10858 -0
  272. package/vendor/raylib/examples/models/resources/models/obj/plane_diffuse.png +0 -0
  273. package/vendor/raylib/examples/models/resources/models/obj/turret.obj +1888 -0
  274. package/vendor/raylib/examples/models/resources/models/obj/turret_diffuse.png +0 -0
  275. package/vendor/raylib/examples/models/resources/models/obj/well.obj +1030 -0
  276. package/vendor/raylib/examples/models/resources/models/obj/well_diffuse.png +0 -0
  277. package/vendor/raylib/examples/models/resources/models/vox/LICENSE +9 -0
  278. package/vendor/raylib/examples/models/resources/models/vox/chr_knight.vox +0 -0
  279. package/vendor/raylib/examples/models/resources/models/vox/chr_sword.vox +0 -0
  280. package/vendor/raylib/examples/models/resources/models/vox/monu9.vox +0 -0
  281. package/vendor/raylib/examples/models/resources/shaders/glsl100/cubemap.fs +29 -0
  282. package/vendor/raylib/examples/models/resources/shaders/glsl100/cubemap.vs +20 -0
  283. package/vendor/raylib/examples/models/resources/shaders/glsl100/skybox.fs +31 -0
  284. package/vendor/raylib/examples/models/resources/shaders/glsl100/skybox.vs +24 -0
  285. package/vendor/raylib/examples/models/resources/shaders/glsl330/cubemap.fs +30 -0
  286. package/vendor/raylib/examples/models/resources/shaders/glsl330/cubemap.vs +20 -0
  287. package/vendor/raylib/examples/models/resources/shaders/glsl330/skybox.fs +30 -0
  288. package/vendor/raylib/examples/models/resources/shaders/glsl330/skybox.vs +24 -0
  289. package/vendor/raylib/examples/models/resources/skybox.png +0 -0
  290. package/vendor/raylib/examples/models/rlights.h +183 -0
  291. package/vendor/raylib/examples/others/easings.h +263 -0
  292. package/vendor/raylib/examples/others/easings_testbed.c +227 -0
  293. package/vendor/raylib/examples/others/embedded_files_loading.c +103 -0
  294. package/vendor/raylib/examples/others/external/include/GLFW/glfw3.h +5538 -0
  295. package/vendor/raylib/examples/others/external/include/GLFW/glfw3native.h +572 -0
  296. package/vendor/raylib/examples/others/external/include/glad.h +5466 -0
  297. package/vendor/raylib/examples/others/external/lib/libglfw3.a +0 -0
  298. package/vendor/raylib/examples/others/raudio_standalone.c +152 -0
  299. package/vendor/raylib/examples/others/raylib_opengl_interop.c +152 -0
  300. package/vendor/raylib/examples/others/raylib_opengl_interop.png +0 -0
  301. package/vendor/raylib/examples/others/resources/audio/country.mp3 +0 -0
  302. package/vendor/raylib/examples/others/resources/audio/target.ogg +0 -0
  303. package/vendor/raylib/examples/others/resources/audio/weird.wav +0 -0
  304. package/vendor/raylib/examples/others/resources/audio_data.h +4893 -0
  305. package/vendor/raylib/examples/others/resources/image_data.h +9848 -0
  306. package/vendor/raylib/examples/others/resources/shaders/glsl100/point_particle.fs +16 -0
  307. package/vendor/raylib/examples/others/resources/shaders/glsl100/point_particle.vs +24 -0
  308. package/vendor/raylib/examples/others/resources/shaders/glsl330/point_particle.fs +17 -0
  309. package/vendor/raylib/examples/others/resources/shaders/glsl330/point_particle.vs +24 -0
  310. package/vendor/raylib/examples/others/resources/shaders/glsl430/gol.glsl +41 -0
  311. package/vendor/raylib/examples/others/resources/shaders/glsl430/gol_render.glsl +29 -0
  312. package/vendor/raylib/examples/others/resources/shaders/glsl430/gol_transfert.glsl +51 -0
  313. package/vendor/raylib/examples/others/rlgl_compute_shader.c +173 -0
  314. package/vendor/raylib/examples/others/rlgl_standalone.c +469 -0
  315. package/vendor/raylib/examples/physics/physics_demo.c +128 -0
  316. package/vendor/raylib/examples/physics/physics_demo.png +0 -0
  317. package/vendor/raylib/examples/physics/physics_friction.c +142 -0
  318. package/vendor/raylib/examples/physics/physics_friction.png +0 -0
  319. package/vendor/raylib/examples/physics/physics_movement.c +128 -0
  320. package/vendor/raylib/examples/physics/physics_movement.png +0 -0
  321. package/vendor/raylib/examples/physics/physics_restitution.c +129 -0
  322. package/vendor/raylib/examples/physics/physics_restitution.png +0 -0
  323. package/vendor/raylib/examples/physics/physics_shatter.c +111 -0
  324. package/vendor/raylib/examples/physics/physics_shatter.png +0 -0
  325. package/vendor/raylib/examples/raylib_compile_execute.bat +32 -0
  326. package/vendor/raylib/examples/raylib_makefile_example.bat +27 -0
  327. package/vendor/raylib/examples/shaders/resources/LICENSE.md +11 -0
  328. package/vendor/raylib/examples/shaders/resources/fudesumi.png +0 -0
  329. package/vendor/raylib/examples/shaders/resources/mask.png +0 -0
  330. package/vendor/raylib/examples/shaders/resources/models/barracks.obj +22251 -0
  331. package/vendor/raylib/examples/shaders/resources/models/barracks_diffuse.png +0 -0
  332. package/vendor/raylib/examples/shaders/resources/models/church.obj +5116 -0
  333. package/vendor/raylib/examples/shaders/resources/models/church_diffuse.png +0 -0
  334. package/vendor/raylib/examples/shaders/resources/models/watermill.obj +5316 -0
  335. package/vendor/raylib/examples/shaders/resources/models/watermill_diffuse.png +0 -0
  336. package/vendor/raylib/examples/shaders/resources/plasma.png +0 -0
  337. package/vendor/raylib/examples/shaders/resources/raysan.png +0 -0
  338. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/base.fs +23 -0
  339. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/base.vs +26 -0
  340. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/base_lighting.vs +59 -0
  341. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/base_lighting_instanced.vs +36 -0
  342. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/bloom.fs +39 -0
  343. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/blur.fs +34 -0
  344. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/color_mix.fs +26 -0
  345. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/cross_hatching.fs +47 -0
  346. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/cross_stitching.fs +57 -0
  347. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/cubes_panning.fs +60 -0
  348. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/depth.fs +26 -0
  349. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/distortion.fs +54 -0
  350. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/dream_vision.fs +37 -0
  351. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/eratosthenes.fs +60 -0
  352. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/fisheye.fs +43 -0
  353. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/fog.fs +94 -0
  354. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/grayscale.fs +25 -0
  355. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/julia_set.fs +83 -0
  356. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/lighting.fs +81 -0
  357. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/mask.fs +24 -0
  358. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/outline.fs +34 -0
  359. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/palette_switch.fs +41 -0
  360. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/pixelizer.fs +32 -0
  361. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/posterization.fs +29 -0
  362. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/predator.fs +31 -0
  363. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/raymarching.fs +431 -0
  364. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/reload.fs +39 -0
  365. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/scanlines.fs +44 -0
  366. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/sobel.fs +40 -0
  367. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/spotlight.fs +77 -0
  368. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/swirl.fs +46 -0
  369. package/vendor/raylib/examples/shaders/resources/shaders/glsl100/wave.fs +36 -0
  370. package/vendor/raylib/examples/shaders/resources/shaders/glsl120/base.fs +22 -0
  371. package/vendor/raylib/examples/shaders/resources/shaders/glsl120/base.vs +26 -0
  372. package/vendor/raylib/examples/shaders/resources/shaders/glsl120/base_lighting.vs +59 -0
  373. package/vendor/raylib/examples/shaders/resources/shaders/glsl120/bloom.fs +37 -0
  374. package/vendor/raylib/examples/shaders/resources/shaders/glsl120/blur.fs +32 -0
  375. package/vendor/raylib/examples/shaders/resources/shaders/glsl120/cross_hatching.fs +45 -0
  376. package/vendor/raylib/examples/shaders/resources/shaders/glsl120/cross_stitching.fs +55 -0
  377. package/vendor/raylib/examples/shaders/resources/shaders/glsl120/distortion.fs +52 -0
  378. package/vendor/raylib/examples/shaders/resources/shaders/glsl120/dream_vision.fs +35 -0
  379. package/vendor/raylib/examples/shaders/resources/shaders/glsl120/fisheye.fs +41 -0
  380. package/vendor/raylib/examples/shaders/resources/shaders/glsl120/fog.fs +92 -0
  381. package/vendor/raylib/examples/shaders/resources/shaders/glsl120/grayscale.fs +23 -0
  382. package/vendor/raylib/examples/shaders/resources/shaders/glsl120/palette_switch.fs +27 -0
  383. package/vendor/raylib/examples/shaders/resources/shaders/glsl120/pixelizer.fs +30 -0
  384. package/vendor/raylib/examples/shaders/resources/shaders/glsl120/posterization.fs +27 -0
  385. package/vendor/raylib/examples/shaders/resources/shaders/glsl120/predator.fs +29 -0
  386. package/vendor/raylib/examples/shaders/resources/shaders/glsl120/scanlines.fs +42 -0
  387. package/vendor/raylib/examples/shaders/resources/shaders/glsl120/sobel.fs +38 -0
  388. package/vendor/raylib/examples/shaders/resources/shaders/glsl120/swirl.fs +44 -0
  389. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/base.fs +25 -0
  390. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/base.vs +26 -0
  391. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/base_lighting.vs +32 -0
  392. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/base_lighting_instanced.vs +36 -0
  393. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/bloom.fs +40 -0
  394. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/blur.fs +35 -0
  395. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/color_mix.fs +27 -0
  396. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/cross_hatching.fs +48 -0
  397. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/cross_stitching.fs +59 -0
  398. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/cubes_panning.fs +61 -0
  399. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/depth.fs +27 -0
  400. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/distortion.fs +56 -0
  401. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/dream_vision.fs +34 -0
  402. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/eratosthenes.fs +59 -0
  403. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/fisheye.fs +40 -0
  404. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/fog.fs +95 -0
  405. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/grayscale.fs +26 -0
  406. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/julia_set.fs +81 -0
  407. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/lighting.fs +82 -0
  408. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/mask.fs +22 -0
  409. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/outline.fs +35 -0
  410. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/overdraw.fs +26 -0
  411. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/palette_switch.fs +30 -0
  412. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/pixelizer.fs +33 -0
  413. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/posterization.fs +31 -0
  414. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/predator.fs +32 -0
  415. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/raymarching.fs +430 -0
  416. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/reload.fs +40 -0
  417. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/scanlines.fs +49 -0
  418. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/sobel.fs +41 -0
  419. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/spotlight.fs +65 -0
  420. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/swirl.fs +47 -0
  421. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/wave.fs +37 -0
  422. package/vendor/raylib/examples/shaders/resources/space.png +0 -0
  423. package/vendor/raylib/examples/shaders/resources/texel_checker.png +0 -0
  424. package/vendor/raylib/examples/shaders/rlights.h +183 -0
  425. package/vendor/raylib/examples/shaders/shaders_basic_lighting.c +152 -0
  426. package/vendor/raylib/examples/shaders/shaders_basic_lighting.png +0 -0
  427. package/vendor/raylib/examples/shaders/shaders_custom_uniform.c +127 -0
  428. package/vendor/raylib/examples/shaders/shaders_custom_uniform.png +0 -0
  429. package/vendor/raylib/examples/shaders/shaders_eratosthenes.c +92 -0
  430. package/vendor/raylib/examples/shaders/shaders_eratosthenes.png +0 -0
  431. package/vendor/raylib/examples/shaders/shaders_fog.c +160 -0
  432. package/vendor/raylib/examples/shaders/shaders_fog.png +0 -0
  433. package/vendor/raylib/examples/shaders/shaders_hot_reloading.c +130 -0
  434. package/vendor/raylib/examples/shaders/shaders_hot_reloading.png +0 -0
  435. package/vendor/raylib/examples/shaders/shaders_julia_set.c +191 -0
  436. package/vendor/raylib/examples/shaders/shaders_julia_set.png +0 -0
  437. package/vendor/raylib/examples/shaders/shaders_mesh_instancing.c +224 -0
  438. package/vendor/raylib/examples/shaders/shaders_mesh_instancing.png +0 -0
  439. package/vendor/raylib/examples/shaders/shaders_model_shader.c +103 -0
  440. package/vendor/raylib/examples/shaders/shaders_model_shader.png +0 -0
  441. package/vendor/raylib/examples/shaders/shaders_multi_sample2d.c +105 -0
  442. package/vendor/raylib/examples/shaders/shaders_multi_sample2d.png +0 -0
  443. package/vendor/raylib/examples/shaders/shaders_palette_switch.c +147 -0
  444. package/vendor/raylib/examples/shaders/shaders_palette_switch.png +0 -0
  445. package/vendor/raylib/examples/shaders/shaders_postprocessing.c +170 -0
  446. package/vendor/raylib/examples/shaders/shaders_postprocessing.png +0 -0
  447. package/vendor/raylib/examples/shaders/shaders_raymarching.c +113 -0
  448. package/vendor/raylib/examples/shaders/shaders_raymarching.png +0 -0
  449. package/vendor/raylib/examples/shaders/shaders_shapes_textures.c +116 -0
  450. package/vendor/raylib/examples/shaders/shaders_shapes_textures.png +0 -0
  451. package/vendor/raylib/examples/shaders/shaders_simple_mask.c +144 -0
  452. package/vendor/raylib/examples/shaders/shaders_simple_mask.png +0 -0
  453. package/vendor/raylib/examples/shaders/shaders_spotlight.c +254 -0
  454. package/vendor/raylib/examples/shaders/shaders_spotlight.png +0 -0
  455. package/vendor/raylib/examples/shaders/shaders_texture_drawing.c +80 -0
  456. package/vendor/raylib/examples/shaders/shaders_texture_drawing.png +0 -0
  457. package/vendor/raylib/examples/shaders/shaders_texture_outline.c +97 -0
  458. package/vendor/raylib/examples/shaders/shaders_texture_outline.png +0 -0
  459. package/vendor/raylib/examples/shaders/shaders_texture_waves.c +110 -0
  460. package/vendor/raylib/examples/shaders/shaders_texture_waves.png +0 -0
  461. package/vendor/raylib/examples/shapes/shapes_basic_shapes.c +78 -0
  462. package/vendor/raylib/examples/shapes/shapes_basic_shapes.png +0 -0
  463. package/vendor/raylib/examples/shapes/shapes_bouncing_ball.c +76 -0
  464. package/vendor/raylib/examples/shapes/shapes_bouncing_ball.png +0 -0
  465. package/vendor/raylib/examples/shapes/shapes_collision_area.c +108 -0
  466. package/vendor/raylib/examples/shapes/shapes_collision_area.png +0 -0
  467. package/vendor/raylib/examples/shapes/shapes_colors_palette.c +99 -0
  468. package/vendor/raylib/examples/shapes/shapes_colors_palette.png +0 -0
  469. package/vendor/raylib/examples/shapes/shapes_draw_circle_sector.c +83 -0
  470. package/vendor/raylib/examples/shapes/shapes_draw_circle_sector.png +0 -0
  471. package/vendor/raylib/examples/shapes/shapes_draw_rectangle_rounded.c +89 -0
  472. package/vendor/raylib/examples/shapes/shapes_draw_rectangle_rounded.png +0 -0
  473. package/vendor/raylib/examples/shapes/shapes_draw_ring.c +96 -0
  474. package/vendor/raylib/examples/shapes/shapes_draw_ring.png +0 -0
  475. package/vendor/raylib/examples/shapes/shapes_easings_ball_anim.c +110 -0
  476. package/vendor/raylib/examples/shapes/shapes_easings_ball_anim.png +0 -0
  477. package/vendor/raylib/examples/shapes/shapes_easings_box_anim.c +136 -0
  478. package/vendor/raylib/examples/shapes/shapes_easings_box_anim.png +0 -0
  479. package/vendor/raylib/examples/shapes/shapes_easings_rectangle_array.c +118 -0
  480. package/vendor/raylib/examples/shapes/shapes_easings_rectangle_array.png +0 -0
  481. package/vendor/raylib/examples/shapes/shapes_following_eyes.c +104 -0
  482. package/vendor/raylib/examples/shapes/shapes_following_eyes.png +0 -0
  483. package/vendor/raylib/examples/shapes/shapes_lines_bezier.c +59 -0
  484. package/vendor/raylib/examples/shapes/shapes_lines_bezier.png +0 -0
  485. package/vendor/raylib/examples/shapes/shapes_logo_raylib.c +56 -0
  486. package/vendor/raylib/examples/shapes/shapes_logo_raylib.png +0 -0
  487. package/vendor/raylib/examples/shapes/shapes_logo_raylib_anim.c +160 -0
  488. package/vendor/raylib/examples/shapes/shapes_logo_raylib_anim.png +0 -0
  489. package/vendor/raylib/examples/shapes/shapes_rectangle_scaling.c +94 -0
  490. package/vendor/raylib/examples/shapes/shapes_rectangle_scaling.png +0 -0
  491. package/vendor/raylib/examples/text/resources/KAISG.ttf +0 -0
  492. package/vendor/raylib/examples/text/resources/LICENSE.md +20 -0
  493. package/vendor/raylib/examples/text/resources/anonymous_pro_bold.ttf +0 -0
  494. package/vendor/raylib/examples/text/resources/custom_alagard.png +0 -0
  495. package/vendor/raylib/examples/text/resources/custom_jupiter_crash.png +0 -0
  496. package/vendor/raylib/examples/text/resources/custom_mecha.png +0 -0
  497. package/vendor/raylib/examples/text/resources/dejavu.fnt +1115 -0
  498. package/vendor/raylib/examples/text/resources/dejavu.png +0 -0
  499. package/vendor/raylib/examples/text/resources/fonts/alagard.png +0 -0
  500. package/vendor/raylib/examples/text/resources/fonts/alpha_beta.png +0 -0
  501. package/vendor/raylib/examples/text/resources/fonts/jupiter_crash.png +0 -0
  502. package/vendor/raylib/examples/text/resources/fonts/mecha.png +0 -0
  503. package/vendor/raylib/examples/text/resources/fonts/pixantiqua.png +0 -0
  504. package/vendor/raylib/examples/text/resources/fonts/pixelplay.png +0 -0
  505. package/vendor/raylib/examples/text/resources/fonts/romulus.png +0 -0
  506. package/vendor/raylib/examples/text/resources/fonts/setback.png +0 -0
  507. package/vendor/raylib/examples/text/resources/noto_cjk.fnt +580 -0
  508. package/vendor/raylib/examples/text/resources/noto_cjk.png +0 -0
  509. package/vendor/raylib/examples/text/resources/pixantiqua.fnt +188 -0
  510. package/vendor/raylib/examples/text/resources/pixantiqua.png +0 -0
  511. package/vendor/raylib/examples/text/resources/pixantiqua.ttf +0 -0
  512. package/vendor/raylib/examples/text/resources/shaders/glsl100/alpha_discard.fs +20 -0
  513. package/vendor/raylib/examples/text/resources/shaders/glsl100/sdf.fs +25 -0
  514. package/vendor/raylib/examples/text/resources/shaders/glsl330/alpha_discard.fs +19 -0
  515. package/vendor/raylib/examples/text/resources/shaders/glsl330/sdf.fs +26 -0
  516. package/vendor/raylib/examples/text/resources/symbola.fnt +191 -0
  517. package/vendor/raylib/examples/text/resources/symbola.png +0 -0
  518. package/vendor/raylib/examples/text/text_draw_3d.c +739 -0
  519. package/vendor/raylib/examples/text/text_draw_3d.png +0 -0
  520. package/vendor/raylib/examples/text/text_font_filters.c +134 -0
  521. package/vendor/raylib/examples/text/text_font_filters.png +0 -0
  522. package/vendor/raylib/examples/text/text_font_loading.c +91 -0
  523. package/vendor/raylib/examples/text/text_font_loading.png +0 -0
  524. package/vendor/raylib/examples/text/text_font_sdf.c +141 -0
  525. package/vendor/raylib/examples/text/text_font_sdf.png +0 -0
  526. package/vendor/raylib/examples/text/text_font_spritefont.c +85 -0
  527. package/vendor/raylib/examples/text/text_font_spritefont.png +0 -0
  528. package/vendor/raylib/examples/text/text_format_text.c +62 -0
  529. package/vendor/raylib/examples/text/text_format_text.png +0 -0
  530. package/vendor/raylib/examples/text/text_input_box.c +127 -0
  531. package/vendor/raylib/examples/text/text_input_box.png +0 -0
  532. package/vendor/raylib/examples/text/text_raylib_fonts.c +105 -0
  533. package/vendor/raylib/examples/text/text_raylib_fonts.png +0 -0
  534. package/vendor/raylib/examples/text/text_rectangle_bounds.c +264 -0
  535. package/vendor/raylib/examples/text/text_rectangle_bounds.png +0 -0
  536. package/vendor/raylib/examples/text/text_unicode.c +465 -0
  537. package/vendor/raylib/examples/text/text_unicode.png +0 -0
  538. package/vendor/raylib/examples/text/text_writing_anim.c +62 -0
  539. package/vendor/raylib/examples/text/text_writing_anim.png +0 -0
  540. package/vendor/raylib/examples/textures/resources/KAISG.ttf +0 -0
  541. package/vendor/raylib/examples/textures/resources/LICENSE.md +18 -0
  542. package/vendor/raylib/examples/textures/resources/boom.wav +0 -0
  543. package/vendor/raylib/examples/textures/resources/button.png +0 -0
  544. package/vendor/raylib/examples/textures/resources/buttonfx.wav +0 -0
  545. package/vendor/raylib/examples/textures/resources/cat.png +0 -0
  546. package/vendor/raylib/examples/textures/resources/custom_jupiter_crash.png +0 -0
  547. package/vendor/raylib/examples/textures/resources/cyberpunk_street_background.png +0 -0
  548. package/vendor/raylib/examples/textures/resources/cyberpunk_street_foreground.png +0 -0
  549. package/vendor/raylib/examples/textures/resources/cyberpunk_street_midground.png +0 -0
  550. package/vendor/raylib/examples/textures/resources/explosion.png +0 -0
  551. package/vendor/raylib/examples/textures/resources/fudesumi.png +0 -0
  552. package/vendor/raylib/examples/textures/resources/fudesumi.raw +0 -0
  553. package/vendor/raylib/examples/textures/resources/ninepatch_button.png +0 -0
  554. package/vendor/raylib/examples/textures/resources/parrots.png +0 -0
  555. package/vendor/raylib/examples/textures/resources/patterns.png +0 -0
  556. package/vendor/raylib/examples/textures/resources/raylib_logo.png +0 -0
  557. package/vendor/raylib/examples/textures/resources/scarfy.png +0 -0
  558. package/vendor/raylib/examples/textures/resources/spark_flame.png +0 -0
  559. package/vendor/raylib/examples/textures/resources/wabbit_alpha.png +0 -0
  560. package/vendor/raylib/examples/textures/textures_background_scrolling.c +87 -0
  561. package/vendor/raylib/examples/textures/textures_background_scrolling.png +0 -0
  562. package/vendor/raylib/examples/textures/textures_blend_modes.c +93 -0
  563. package/vendor/raylib/examples/textures/textures_blend_modes.png +0 -0
  564. package/vendor/raylib/examples/textures/textures_bunnymark.c +120 -0
  565. package/vendor/raylib/examples/textures/textures_bunnymark.png +0 -0
  566. package/vendor/raylib/examples/textures/textures_draw_tiled.c +165 -0
  567. package/vendor/raylib/examples/textures/textures_draw_tiled.png +0 -0
  568. package/vendor/raylib/examples/textures/textures_image_drawing.c +91 -0
  569. package/vendor/raylib/examples/textures/textures_image_drawing.png +0 -0
  570. package/vendor/raylib/examples/textures/textures_image_generation.c +102 -0
  571. package/vendor/raylib/examples/textures/textures_image_generation.png +0 -0
  572. package/vendor/raylib/examples/textures/textures_image_loading.c +64 -0
  573. package/vendor/raylib/examples/textures/textures_image_loading.png +0 -0
  574. package/vendor/raylib/examples/textures/textures_image_processing.c +169 -0
  575. package/vendor/raylib/examples/textures/textures_image_processing.png +0 -0
  576. package/vendor/raylib/examples/textures/textures_image_text.c +83 -0
  577. package/vendor/raylib/examples/textures/textures_image_text.png +0 -0
  578. package/vendor/raylib/examples/textures/textures_logo_raylib.c +57 -0
  579. package/vendor/raylib/examples/textures/textures_logo_raylib.png +0 -0
  580. package/vendor/raylib/examples/textures/textures_mouse_painting.c +221 -0
  581. package/vendor/raylib/examples/textures/textures_mouse_painting.png +0 -0
  582. package/vendor/raylib/examples/textures/textures_npatch_drawing.c +109 -0
  583. package/vendor/raylib/examples/textures/textures_npatch_drawing.png +0 -0
  584. package/vendor/raylib/examples/textures/textures_particles_blending.c +135 -0
  585. package/vendor/raylib/examples/textures/textures_particles_blending.png +0 -0
  586. package/vendor/raylib/examples/textures/textures_polygon.c +100 -0
  587. package/vendor/raylib/examples/textures/textures_polygon.png +0 -0
  588. package/vendor/raylib/examples/textures/textures_raw_data.c +99 -0
  589. package/vendor/raylib/examples/textures/textures_raw_data.png +0 -0
  590. package/vendor/raylib/examples/textures/textures_rectangle.c +99 -0
  591. package/vendor/raylib/examples/textures/textures_rectangle.png +0 -0
  592. package/vendor/raylib/examples/textures/textures_sprite_button.c +97 -0
  593. package/vendor/raylib/examples/textures/textures_sprite_button.png +0 -0
  594. package/vendor/raylib/examples/textures/textures_sprite_explosion.c +120 -0
  595. package/vendor/raylib/examples/textures/textures_sprite_explosion.png +0 -0
  596. package/vendor/raylib/examples/textures/textures_srcrec_dstrec.c +82 -0
  597. package/vendor/raylib/examples/textures/textures_srcrec_dstrec.png +0 -0
  598. package/vendor/raylib/examples/textures/textures_to_image.c +68 -0
  599. package/vendor/raylib/examples/textures/textures_to_image.png +0 -0
  600. package/vendor/raylib/logo/raylib.ico +0 -0
  601. package/vendor/raylib/logo/raylib_128x128.png +0 -0
  602. package/vendor/raylib/logo/raylib_144x144.png +0 -0
  603. package/vendor/raylib/logo/raylib_16x16.png +0 -0
  604. package/vendor/raylib/logo/raylib_180x180.png +0 -0
  605. package/vendor/raylib/logo/raylib_24x24.png +0 -0
  606. package/vendor/raylib/logo/raylib_256x256.png +0 -0
  607. package/vendor/raylib/logo/raylib_32x32.png +0 -0
  608. package/vendor/raylib/logo/raylib_36x36.png +0 -0
  609. package/vendor/raylib/logo/raylib_48x48.png +0 -0
  610. package/vendor/raylib/logo/raylib_512x512.png +0 -0
  611. package/vendor/raylib/logo/raylib_64x64.png +0 -0
  612. package/vendor/raylib/logo/raylib_72x72.png +0 -0
  613. package/vendor/raylib/logo/raylib_96x96.png +0 -0
  614. package/vendor/raylib/logo/raylib_logo_animation.gif +0 -0
  615. package/vendor/raylib/parser/LICENSE +16 -0
  616. package/vendor/raylib/parser/README.md +63 -0
  617. package/vendor/raylib/parser/raylib_api.json +6668 -0
  618. package/vendor/raylib/parser/raylib_api.txt +3568 -0
  619. package/vendor/raylib/parser/raylib_api.xml +2509 -0
  620. package/vendor/raylib/parser/raylib_parser.c +1003 -0
  621. package/vendor/raylib/projects/4coder/Makefile +401 -0
  622. package/vendor/raylib/projects/4coder/Makefile.Android +300 -0
  623. package/vendor/raylib/projects/4coder/main.c +39 -0
  624. package/vendor/raylib/projects/4coder/project.4coder +54 -0
  625. package/vendor/raylib/projects/Builder/README.md +24 -0
  626. package/vendor/raylib/projects/Builder/examples/README.md +1 -0
  627. package/vendor/raylib/projects/Builder/examples/meson.build +25 -0
  628. package/vendor/raylib/projects/Builder/meson.build +25 -0
  629. package/vendor/raylib/projects/CMake/CMakeLists.txt +44 -0
  630. package/vendor/raylib/projects/CMake/core_basic_window.c +62 -0
  631. package/vendor/raylib/projects/CodeBlocks/README.md +22 -0
  632. package/vendor/raylib/projects/CodeBlocks/compiler_settings.png +0 -0
  633. package/vendor/raylib/projects/CodeBlocks/core_basic_window.c +58 -0
  634. package/vendor/raylib/projects/CodeBlocks/core_basic_window.cbp +137 -0
  635. package/vendor/raylib/projects/Geany/core_basic_window.c +52 -0
  636. package/vendor/raylib/projects/Geany/raylib.c.tags +452 -0
  637. package/vendor/raylib/projects/Geany/raylib_compile_execute.bat +21 -0
  638. package/vendor/raylib/projects/Geany/raylib_compile_sources.bat +42 -0
  639. package/vendor/raylib/projects/Geany/raylib_project.geany +41 -0
  640. package/vendor/raylib/projects/Notepad++/README.md +19 -0
  641. package/vendor/raylib/projects/Notepad++/c_raylib.xml +3104 -0
  642. package/vendor/raylib/projects/Notepad++/npes_saved_mingw.txt +0 -0
  643. package/vendor/raylib/projects/Notepad++/npes_saved_tcc.txt +0 -0
  644. package/vendor/raylib/projects/Notepad++/npes_saved_w64devkit.txt +0 -0
  645. package/vendor/raylib/projects/Notepad++/npes_saved_zig.txt +0 -0
  646. package/vendor/raylib/projects/Notepad++/raylib_npp_parser/raylib_npp.xml +3060 -0
  647. package/vendor/raylib/projects/Notepad++/raylib_npp_parser/raylib_npp_parser.c +150 -0
  648. package/vendor/raylib/projects/Notepad++/raylib_npp_parser/raylib_to_parse.h +631 -0
  649. package/vendor/raylib/projects/README.md +18 -0
  650. package/vendor/raylib/projects/SublimeText/README.md +13 -0
  651. package/vendor/raylib/projects/SublimeText/raylib.sublime-build +13 -0
  652. package/vendor/raylib/projects/SublimeText/raylib.sublime-project +8 -0
  653. package/vendor/raylib/projects/VS2019/raylib/raylib.rc +0 -0
  654. package/vendor/raylib/projects/VS2019/raylib/resource.h +14 -0
  655. package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.NativeActivity/android_native_app_glue.c +437 -0
  656. package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.NativeActivity/android_native_app_glue.h +344 -0
  657. package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.NativeActivity/main.c +64 -0
  658. package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.Packaging/AndroidManifest.xml +22 -0
  659. package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.Packaging/build.xml +90 -0
  660. package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.Packaging/project.properties +3 -0
  661. package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.Packaging/raylib_android.Packaging.androidproj +134 -0
  662. package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.Packaging/res/values/strings.xml +4 -0
  663. package/vendor/raylib/projects/VSCode/.vscode/c_cpp_properties.json +63 -0
  664. package/vendor/raylib/projects/VSCode/.vscode/launch.json +60 -0
  665. package/vendor/raylib/projects/VSCode/.vscode/settings.json +11 -0
  666. package/vendor/raylib/projects/VSCode/.vscode/tasks.json +71 -0
  667. package/vendor/raylib/projects/VSCode/Makefile +408 -0
  668. package/vendor/raylib/projects/VSCode/Makefile.Android +300 -0
  669. package/vendor/raylib/projects/VSCode/main.c +83 -0
  670. package/vendor/raylib/projects/VSCode/main.code-workspace +16 -0
  671. package/vendor/raylib/projects/scripts/README.md +68 -0
  672. package/vendor/raylib/projects/scripts/build-linux.sh +169 -0
  673. package/vendor/raylib/projects/scripts/build-osx.sh +171 -0
  674. package/vendor/raylib/projects/scripts/build-rpi.sh +169 -0
  675. package/vendor/raylib/projects/scripts/build-windows.bat +219 -0
  676. package/vendor/raylib/projects/scripts/core_basic_window.c +61 -0
  677. package/vendor/raylib/raylib.pc.in +13 -0
  678. package/vendor/raylib/src/CMakeLists.txt +121 -0
  679. package/vendor/raylib/src/Makefile +696 -0
  680. package/vendor/raylib/src/build.zig +60 -0
  681. package/vendor/raylib/src/config.h +230 -0
  682. package/vendor/raylib/src/external/cgltf.h +6501 -0
  683. package/vendor/raylib/src/external/dirent.h +183 -0
  684. package/vendor/raylib/src/external/dr_flac.h +12269 -0
  685. package/vendor/raylib/src/external/dr_mp3.h +4787 -0
  686. package/vendor/raylib/src/external/dr_wav.h +8019 -0
  687. package/vendor/raylib/src/external/glad.h +8640 -0
  688. package/vendor/raylib/src/external/glfw/.mailmap +10 -0
  689. package/vendor/raylib/src/external/glfw/CMake/GenerateMappings.cmake +33 -0
  690. package/vendor/raylib/src/external/glfw/CMake/Info.plist.in +38 -0
  691. package/vendor/raylib/src/external/glfw/CMake/MacOSXBundleInfo.plist.in +38 -0
  692. package/vendor/raylib/src/external/glfw/CMake/cmake_uninstall.cmake.in +29 -0
  693. package/vendor/raylib/src/external/glfw/CMake/glfw3.pc.in +13 -0
  694. package/vendor/raylib/src/external/glfw/CMake/glfw3Config.cmake.in +3 -0
  695. package/vendor/raylib/src/external/glfw/CMake/i686-w64-mingw32-clang.cmake +13 -0
  696. package/vendor/raylib/src/external/glfw/CMake/i686-w64-mingw32.cmake +13 -0
  697. package/vendor/raylib/src/external/glfw/CMake/modules/FindEpollShim.cmake +17 -0
  698. package/vendor/raylib/src/external/glfw/CMake/modules/FindOSMesa.cmake +18 -0
  699. package/vendor/raylib/src/external/glfw/CMake/modules/FindWaylandProtocols.cmake +26 -0
  700. package/vendor/raylib/src/external/glfw/CMake/modules/FindXKBCommon.cmake +34 -0
  701. package/vendor/raylib/src/external/glfw/CMake/x86_64-w64-mingw32-clang.cmake +13 -0
  702. package/vendor/raylib/src/external/glfw/CMake/x86_64-w64-mingw32.cmake +13 -0
  703. package/vendor/raylib/src/external/glfw/CMakeLists.txt +323 -0
  704. package/vendor/raylib/src/external/glfw/LICENSE.md +23 -0
  705. package/vendor/raylib/src/external/glfw/README.md +477 -0
  706. package/vendor/raylib/src/external/glfw/deps/getopt.c +230 -0
  707. package/vendor/raylib/src/external/glfw/deps/getopt.h +57 -0
  708. package/vendor/raylib/src/external/glfw/deps/glad/gl.h +3840 -0
  709. package/vendor/raylib/src/external/glfw/deps/glad/khrplatform.h +282 -0
  710. package/vendor/raylib/src/external/glfw/deps/glad/vk_platform.h +92 -0
  711. package/vendor/raylib/src/external/glfw/deps/glad/vulkan.h +3480 -0
  712. package/vendor/raylib/src/external/glfw/deps/glad_gl.c +1791 -0
  713. package/vendor/raylib/src/external/glfw/deps/glad_vulkan.c +593 -0
  714. package/vendor/raylib/src/external/glfw/deps/mingw/_mingw_dxhelper.h +117 -0
  715. package/vendor/raylib/src/external/glfw/deps/mingw/dinput.h +2467 -0
  716. package/vendor/raylib/src/external/glfw/deps/mingw/xinput.h +239 -0
  717. package/vendor/raylib/src/external/glfw/deps/vs2008/stdint.h +247 -0
  718. package/vendor/raylib/src/external/glfw/include/GLFW/glfw3.h +6075 -0
  719. package/vendor/raylib/src/external/glfw/include/GLFW/glfw3native.h +530 -0
  720. package/vendor/raylib/src/external/glfw/src/CMakeLists.txt +246 -0
  721. package/vendor/raylib/src/external/glfw/src/cocoa_init.m +620 -0
  722. package/vendor/raylib/src/external/glfw/src/cocoa_joystick.h +46 -0
  723. package/vendor/raylib/src/external/glfw/src/cocoa_joystick.m +483 -0
  724. package/vendor/raylib/src/external/glfw/src/cocoa_monitor.m +631 -0
  725. package/vendor/raylib/src/external/glfw/src/cocoa_platform.h +206 -0
  726. package/vendor/raylib/src/external/glfw/src/cocoa_time.c +62 -0
  727. package/vendor/raylib/src/external/glfw/src/cocoa_window.m +1923 -0
  728. package/vendor/raylib/src/external/glfw/src/context.c +756 -0
  729. package/vendor/raylib/src/external/glfw/src/egl_context.c +846 -0
  730. package/vendor/raylib/src/external/glfw/src/egl_context.h +229 -0
  731. package/vendor/raylib/src/external/glfw/src/glfw.rc.in +30 -0
  732. package/vendor/raylib/src/external/glfw/src/glfw_config.h.in +58 -0
  733. package/vendor/raylib/src/external/glfw/src/glx_context.c +699 -0
  734. package/vendor/raylib/src/external/glfw/src/glx_context.h +181 -0
  735. package/vendor/raylib/src/external/glfw/src/init.c +357 -0
  736. package/vendor/raylib/src/external/glfw/src/input.c +1406 -0
  737. package/vendor/raylib/src/external/glfw/src/internal.h +799 -0
  738. package/vendor/raylib/src/external/glfw/src/linux_joystick.c +428 -0
  739. package/vendor/raylib/src/external/glfw/src/linux_joystick.h +59 -0
  740. package/vendor/raylib/src/external/glfw/src/mappings.h +1550 -0
  741. package/vendor/raylib/src/external/glfw/src/mappings.h.in +73 -0
  742. package/vendor/raylib/src/external/glfw/src/monitor.c +542 -0
  743. package/vendor/raylib/src/external/glfw/src/nsgl_context.h +66 -0
  744. package/vendor/raylib/src/external/glfw/src/nsgl_context.m +369 -0
  745. package/vendor/raylib/src/external/glfw/src/null_init.c +57 -0
  746. package/vendor/raylib/src/external/glfw/src/null_joystick.c +53 -0
  747. package/vendor/raylib/src/external/glfw/src/null_joystick.h +31 -0
  748. package/vendor/raylib/src/external/glfw/src/null_monitor.c +159 -0
  749. package/vendor/raylib/src/external/glfw/src/null_platform.h +89 -0
  750. package/vendor/raylib/src/external/glfw/src/null_window.c +670 -0
  751. package/vendor/raylib/src/external/glfw/src/osmesa_context.c +372 -0
  752. package/vendor/raylib/src/external/glfw/src/osmesa_context.h +90 -0
  753. package/vendor/raylib/src/external/glfw/src/posix_thread.c +105 -0
  754. package/vendor/raylib/src/external/glfw/src/posix_thread.h +51 -0
  755. package/vendor/raylib/src/external/glfw/src/posix_time.c +90 -0
  756. package/vendor/raylib/src/external/glfw/src/posix_time.h +44 -0
  757. package/vendor/raylib/src/external/glfw/src/vulkan.c +332 -0
  758. package/vendor/raylib/src/external/glfw/src/wgl_context.c +798 -0
  759. package/vendor/raylib/src/external/glfw/src/wgl_context.h +160 -0
  760. package/vendor/raylib/src/external/glfw/src/win32_init.c +636 -0
  761. package/vendor/raylib/src/external/glfw/src/win32_joystick.c +753 -0
  762. package/vendor/raylib/src/external/glfw/src/win32_joystick.h +53 -0
  763. package/vendor/raylib/src/external/glfw/src/win32_monitor.c +537 -0
  764. package/vendor/raylib/src/external/glfw/src/win32_platform.h +462 -0
  765. package/vendor/raylib/src/external/glfw/src/win32_thread.c +99 -0
  766. package/vendor/raylib/src/external/glfw/src/win32_time.c +76 -0
  767. package/vendor/raylib/src/external/glfw/src/win32_window.c +2405 -0
  768. package/vendor/raylib/src/external/glfw/src/window.c +1114 -0
  769. package/vendor/raylib/src/external/glfw/src/wl_init.c +1310 -0
  770. package/vendor/raylib/src/external/glfw/src/wl_monitor.c +231 -0
  771. package/vendor/raylib/src/external/glfw/src/wl_platform.h +352 -0
  772. package/vendor/raylib/src/external/glfw/src/wl_window.c +1814 -0
  773. package/vendor/raylib/src/external/glfw/src/x11_init.c +1500 -0
  774. package/vendor/raylib/src/external/glfw/src/x11_monitor.c +614 -0
  775. package/vendor/raylib/src/external/glfw/src/x11_platform.h +798 -0
  776. package/vendor/raylib/src/external/glfw/src/x11_window.c +3310 -0
  777. package/vendor/raylib/src/external/glfw/src/xkb_unicode.c +942 -0
  778. package/vendor/raylib/src/external/glfw/src/xkb_unicode.h +28 -0
  779. package/vendor/raylib/src/external/jar_mod.h +1596 -0
  780. package/vendor/raylib/src/external/jar_xm.h +2470 -0
  781. package/vendor/raylib/src/external/miniaudio.h +70273 -0
  782. package/vendor/raylib/src/external/msf_gif.h +717 -0
  783. package/vendor/raylib/src/external/par_shapes.h +2155 -0
  784. package/vendor/raylib/src/external/sdefl.h +696 -0
  785. package/vendor/raylib/src/external/sinfl.h +584 -0
  786. package/vendor/raylib/src/external/stb_image.h +7897 -0
  787. package/vendor/raylib/src/external/stb_image_resize.h +2634 -0
  788. package/vendor/raylib/src/external/stb_image_write.h +1724 -0
  789. package/vendor/raylib/src/external/stb_rect_pack.h +623 -0
  790. package/vendor/raylib/src/external/stb_truetype.h +5077 -0
  791. package/vendor/raylib/src/external/stb_vorbis.h +5475 -0
  792. package/vendor/raylib/src/external/tinyobj_loader_c.h +1589 -0
  793. package/vendor/raylib/src/external/vox_loader.h +710 -0
  794. package/vendor/raylib/src/extras/easings.h +263 -0
  795. package/vendor/raylib/src/extras/physac.h +1977 -0
  796. package/vendor/raylib/src/extras/raygui.h +4342 -0
  797. package/vendor/raylib/src/extras/rmem.h +751 -0
  798. package/vendor/raylib/src/raudio.c +2380 -0
  799. package/vendor/raylib/src/raudio.h +198 -0
  800. package/vendor/raylib/src/raylib.dll.rc +27 -0
  801. package/vendor/raylib/src/raylib.dll.rc.data +0 -0
  802. package/vendor/raylib/src/raylib.h +1536 -0
  803. package/vendor/raylib/src/raylib.ico +0 -0
  804. package/vendor/raylib/src/raylib.rc +27 -0
  805. package/vendor/raylib/src/raylib.rc.data +0 -0
  806. package/vendor/raylib/src/raymath.h +1853 -0
  807. package/vendor/raylib/src/rcamera.h +567 -0
  808. package/vendor/raylib/src/rcore.c +6772 -0
  809. package/vendor/raylib/src/rgestures.h +566 -0
  810. package/vendor/raylib/src/rglfw.c +126 -0
  811. package/vendor/raylib/src/rlgl.h +4677 -0
  812. package/vendor/raylib/src/rmodels.c +5041 -0
  813. package/vendor/raylib/src/rshapes.c +1759 -0
  814. package/vendor/raylib/src/rtext.c +1790 -0
  815. package/vendor/raylib/src/rtextures.c +4761 -0
  816. package/vendor/raylib/src/shell.html +328 -0
  817. package/vendor/raylib/src/utils.c +433 -0
  818. package/vendor/raylib/src/utils.h +81 -0
  819. package/vendor/sqlite3/shell.c +23487 -0
  820. package/vendor/sqlite3/sqlite3.c +239246 -0
  821. package/vendor/sqlite3/sqlite3.h +12802 -0
  822. package/vendor/sqlite3/sqlite3ext.h +689 -0
  823. package/CMakeLists.txt +0 -60
@@ -0,0 +1,300 @@
1
+ #**************************************************************************************************
2
+ #
3
+ # raylib makefile for Android project (APK building)
4
+ #
5
+ # Copyright (c) 2017 Ramon Santamaria (@raysan5)
6
+ #
7
+ # This software is provided "as-is", without any express or implied warranty. In no event
8
+ # will the authors be held liable for any damages arising from the use of this software.
9
+ #
10
+ # Permission is granted to anyone to use this software for any purpose, including commercial
11
+ # applications, and to alter it and redistribute it freely, subject to the following restrictions:
12
+ #
13
+ # 1. The origin of this software must not be misrepresented; you must not claim that you
14
+ # wrote the original software. If you use this software in a product, an acknowledgment
15
+ # in the product documentation would be appreciated but is not required.
16
+ #
17
+ # 2. Altered source versions must be plainly marked as such, and must not be misrepresented
18
+ # as being the original software.
19
+ #
20
+ # 3. This notice may not be removed or altered from any source distribution.
21
+ #
22
+ #**************************************************************************************************
23
+
24
+ # Define required raylib variables
25
+ PLATFORM ?= PLATFORM_ANDROID
26
+ RAYLIB_PATH ?= ..\..
27
+
28
+ # Define Android architecture (armeabi-v7a, arm64-v8a, x86, x86-64) and API version
29
+ ANDROID_ARCH ?= ARM
30
+ ANDROID_API_VERSION = 21
31
+ ifeq ($(ANDROID_ARCH),ARM)
32
+ ANDROID_ARCH_NAME = armeabi-v7a
33
+ endif
34
+ ifeq ($(ANDROID_ARCH),ARM64)
35
+ ANDROID_ARCH_NAME = arm64-v8a
36
+ endif
37
+
38
+ # Required path variables
39
+ # NOTE: JAVA_HOME must be set to JDK
40
+ JAVA_HOME ?= C:/JavaJDK
41
+ ANDROID_HOME = C:/android-sdk
42
+ ANDROID_TOOLCHAIN = C:/android_toolchain_$(ANDROID_ARCH)_API$(ANDROID_API_VERSION)
43
+ ANDROID_BUILD_TOOLS = $(ANDROID_HOME)/build-tools/28.0.1
44
+ ANDROID_PLATFORM_TOOLS = $(ANDROID_HOME)/platform-tools
45
+
46
+ # Android project configuration variables
47
+ PROJECT_NAME ?= raylib_game
48
+ PROJECT_LIBRARY_NAME ?= main
49
+ PROJECT_BUILD_PATH ?= android.$(PROJECT_NAME)
50
+ PROJECT_RESOURCES_PATH ?= resources
51
+ PROJECT_SOURCE_FILES ?= raylib_game.c
52
+
53
+ # Some source files are placed in directories, when compiling to some
54
+ # output directory other than source, that directory must pre-exist.
55
+ # Here we get a list of required folders that need to be created on
56
+ # code output folder $(PROJECT_BUILD_PATH)\obj to avoid GCC errors.
57
+ PROJECT_SOURCE_DIRS = $(sort $(dir $(PROJECT_SOURCE_FILES)))
58
+
59
+ # Android app configuration variables
60
+ APP_LABEL_NAME ?= rGame
61
+ APP_COMPANY_NAME ?= raylib
62
+ APP_PRODUCT_NAME ?= rgame
63
+ APP_VERSION_CODE ?= 1
64
+ APP_VERSION_NAME ?= 1.0
65
+ APP_ICON_LDPI ?= $(RAYLIB_PATH)\logo\raylib_36x36.png
66
+ APP_ICON_MDPI ?= $(RAYLIB_PATH)\logo\raylib_48x48.png
67
+ APP_ICON_HDPI ?= $(RAYLIB_PATH)\logo\raylib_72x72.png
68
+ APP_SCREEN_ORIENTATION ?= landscape
69
+ APP_KEYSTORE_PASS ?= raylib
70
+
71
+ # Library type used for raylib: STATIC (.a) or SHARED (.so/.dll)
72
+ RAYLIB_LIBTYPE ?= STATIC
73
+
74
+ # Library path for libraylib.a/libraylib.so
75
+ RAYLIB_LIB_PATH = $(RAYLIB_PATH)\src
76
+
77
+ # Shared libs must be added to APK if required
78
+ # NOTE: Generated NativeLoader.java automatically load those libraries
79
+ ifeq ($(RAYLIB_LIBTYPE),SHARED)
80
+ PROJECT_SHARED_LIBS = lib/$(ANDROID_ARCH_NAME)/libraylib.so
81
+ endif
82
+
83
+ # Compiler and archiver
84
+ # NOTE: GCC is being deprecated in Android NDK r16
85
+ ifeq ($(ANDROID_ARCH),ARM)
86
+ CC = $(ANDROID_TOOLCHAIN)/bin/arm-linux-androideabi-clang
87
+ AR = $(ANDROID_TOOLCHAIN)/bin/arm-linux-androideabi-ar
88
+ endif
89
+ ifeq ($(ANDROID_ARCH),ARM64)
90
+ CC = $(ANDROID_TOOLCHAIN)/bin/aarch64-linux-android-clang
91
+ AR = $(ANDROID_TOOLCHAIN)/bin/aarch64-linux-android-ar
92
+ endif
93
+
94
+ # Compiler flags for arquitecture
95
+ ifeq ($(ANDROID_ARCH),ARM)
96
+ CFLAGS = -std=c99 -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16
97
+ endif
98
+ ifeq ($(ANDROID_ARCH),ARM64)
99
+ CFLAGS = -std=c99 -target aarch64 -mfix-cortex-a53-835769
100
+ endif
101
+ # Compilation functions attributes options
102
+ CFLAGS += -ffunction-sections -funwind-tables -fstack-protector-strong -fPIC
103
+ # Compiler options for the linker
104
+ CFLAGS += -Wall -Wa,--noexecstack -Wformat -Werror=format-security -no-canonical-prefixes
105
+ # Preprocessor macro definitions
106
+ CFLAGS += -DANDROID -DPLATFORM_ANDROID -D__ANDROID_API__=$(ANDROID_API_VERSION)
107
+
108
+ # Paths containing required header files
109
+ INCLUDE_PATHS = -I. -I$(RAYLIB_PATH)/src -I$(RAYLIB_PATH)/src/external/android/native_app_glue
110
+
111
+ # Linker options
112
+ LDFLAGS = -Wl,-soname,lib$(PROJECT_LIBRARY_NAME).so -Wl,--exclude-libs,libatomic.a
113
+ LDFLAGS += -Wl,--build-id -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,--warn-shared-textrel -Wl,--fatal-warnings
114
+ # Force linking of library module to define symbol
115
+ LDFLAGS += -u ANativeActivity_onCreate
116
+ # Library paths containing required libs
117
+ LDFLAGS += -L. -L$(PROJECT_BUILD_PATH)/obj -L$(PROJECT_BUILD_PATH)/lib/$(ANDROID_ARCH_NAME) -L$(ANDROID_TOOLCHAIN)\sysroot\usr\lib
118
+
119
+ # Define any libraries to link into executable
120
+ # if you want to link libraries (libname.so or libname.a), use the -lname
121
+ LDLIBS = -lm -lc -lraylib -llog -landroid -lEGL -lGLESv2 -lOpenSLES -ldl
122
+
123
+ # Generate target objects list from PROJECT_SOURCE_FILES
124
+ OBJS = $(patsubst %.c, $(PROJECT_BUILD_PATH)/obj/%.o, $(PROJECT_SOURCE_FILES))
125
+
126
+ # Android APK building process... some steps required...
127
+ # NOTE: typing 'make' will invoke the default target entry called 'all',
128
+ all: create_temp_project_dirs \
129
+ copy_project_required_libs \
130
+ copy_project_resources \
131
+ generate_loader_script \
132
+ generate_android_manifest \
133
+ generate_apk_keystore \
134
+ config_project_package \
135
+ compile_project_code \
136
+ compile_project_class \
137
+ compile_project_class_dex \
138
+ create_project_apk_package \
139
+ sign_project_apk_package \
140
+ zipalign_project_apk_package
141
+
142
+ # Create required temp directories for APK building
143
+ create_temp_project_dirs:
144
+ if not exist $(PROJECT_BUILD_PATH) mkdir $(PROJECT_BUILD_PATH)
145
+ if not exist $(PROJECT_BUILD_PATH)\obj mkdir $(PROJECT_BUILD_PATH)\obj
146
+ if not exist $(PROJECT_BUILD_PATH)\src mkdir $(PROJECT_BUILD_PATH)\src
147
+ if not exist $(PROJECT_BUILD_PATH)\src\com mkdir $(PROJECT_BUILD_PATH)\src\com
148
+ if not exist $(PROJECT_BUILD_PATH)\src\com\$(APP_COMPANY_NAME) mkdir $(PROJECT_BUILD_PATH)\src\com\$(APP_COMPANY_NAME)
149
+ if not exist $(PROJECT_BUILD_PATH)\src\com\$(APP_COMPANY_NAME)\$(APP_PRODUCT_NAME) mkdir $(PROJECT_BUILD_PATH)\src\com\$(APP_COMPANY_NAME)\$(APP_PRODUCT_NAME)
150
+ if not exist $(PROJECT_BUILD_PATH)\lib mkdir $(PROJECT_BUILD_PATH)\lib
151
+ if not exist $(PROJECT_BUILD_PATH)\lib\$(ANDROID_ARCH_NAME) mkdir $(PROJECT_BUILD_PATH)\lib\$(ANDROID_ARCH_NAME)
152
+ if not exist $(PROJECT_BUILD_PATH)\bin mkdir $(PROJECT_BUILD_PATH)\bin
153
+ if not exist $(PROJECT_BUILD_PATH)\res mkdir $(PROJECT_BUILD_PATH)\res
154
+ if not exist $(PROJECT_BUILD_PATH)\res\drawable-ldpi mkdir $(PROJECT_BUILD_PATH)\res\drawable-ldpi
155
+ if not exist $(PROJECT_BUILD_PATH)\res\drawable-mdpi mkdir $(PROJECT_BUILD_PATH)\res\drawable-mdpi
156
+ if not exist $(PROJECT_BUILD_PATH)\res\drawable-hdpi mkdir $(PROJECT_BUILD_PATH)\res\drawable-hdpi
157
+ if not exist $(PROJECT_BUILD_PATH)\res\values mkdir $(PROJECT_BUILD_PATH)\res\values
158
+ if not exist $(PROJECT_BUILD_PATH)\assets mkdir $(PROJECT_BUILD_PATH)\assets
159
+ if not exist $(PROJECT_BUILD_PATH)\assets\$(PROJECT_RESOURCES_PATH) mkdir $(PROJECT_BUILD_PATH)\assets\$(PROJECT_RESOURCES_PATH)
160
+ if not exist $(PROJECT_BUILD_PATH)\obj\screens mkdir $(PROJECT_BUILD_PATH)\obj\screens
161
+ $(foreach dir, $(PROJECT_SOURCE_DIRS), $(call create_dir, $(dir)))
162
+
163
+ define create_dir
164
+ if not exist $(PROJECT_BUILD_PATH)\obj\$(1) mkdir $(PROJECT_BUILD_PATH)\obj\$(1)
165
+ endef
166
+
167
+ # Copy required shared libs for integration into APK
168
+ # NOTE: If using shared libs they are loaded by generated NativeLoader.java
169
+ copy_project_required_libs:
170
+ ifeq ($(RAYLIB_LIBTYPE),SHARED)
171
+ copy /Y $(RAYLIB_LIB_PATH)\libraylib.so $(PROJECT_BUILD_PATH)\lib\$(ANDROID_ARCH_NAME)\libraylib.so
172
+ endif
173
+ ifeq ($(RAYLIB_LIBTYPE),STATIC)
174
+ copy /Y $(RAYLIB_LIB_PATH)\libraylib.a $(PROJECT_BUILD_PATH)\lib\$(ANDROID_ARCH_NAME)\libraylib.a
175
+ endif
176
+
177
+ # Copy project required resources: strings.xml, icon.png, assets
178
+ # NOTE: Required strings.xml is generated and game resources are copied to assets folder
179
+ # TODO: Review xcopy usage, it can not be found in some systems!
180
+ copy_project_resources:
181
+ copy $(APP_ICON_LDPI) $(PROJECT_BUILD_PATH)\res\drawable-ldpi\icon.png /Y
182
+ copy $(APP_ICON_MDPI) $(PROJECT_BUILD_PATH)\res\drawable-mdpi\icon.png /Y
183
+ copy $(APP_ICON_HDPI) $(PROJECT_BUILD_PATH)\res\drawable-hdpi\icon.png /Y
184
+ @echo ^<?xml version="1.0" encoding="utf-8"^?^> > $(PROJECT_BUILD_PATH)/res/values/strings.xml
185
+ @echo ^<resources^>^<string name="app_name"^>$(APP_LABEL_NAME)^</string^>^</resources^> >> $(PROJECT_BUILD_PATH)/res/values/strings.xml
186
+ if exist $(PROJECT_RESOURCES_PATH) C:\Windows\System32\xcopy $(PROJECT_RESOURCES_PATH) $(PROJECT_BUILD_PATH)\assets\$(PROJECT_RESOURCES_PATH) /Y /E /F
187
+
188
+ # Generate NativeLoader.java to load required shared libraries
189
+ # NOTE: Probably not the bet way to generate this file... but it works.
190
+ generate_loader_script:
191
+ @echo package com.$(APP_COMPANY_NAME).$(APP_PRODUCT_NAME); > $(PROJECT_BUILD_PATH)/src/com/$(APP_COMPANY_NAME)/$(APP_PRODUCT_NAME)/NativeLoader.java
192
+ @echo. >> $(PROJECT_BUILD_PATH)/src/com/$(APP_COMPANY_NAME)/$(APP_PRODUCT_NAME)/NativeLoader.java
193
+ @echo public class NativeLoader extends android.app.NativeActivity { >> $(PROJECT_BUILD_PATH)/src/com/$(APP_COMPANY_NAME)/$(APP_PRODUCT_NAME)/NativeLoader.java
194
+ @echo static { >> $(PROJECT_BUILD_PATH)/src/com/$(APP_COMPANY_NAME)/$(APP_PRODUCT_NAME)/NativeLoader.java
195
+ ifeq ($(RAYLIB_LIBTYPE),SHARED)
196
+ @echo System.loadLibrary("raylib"); >> $(PROJECT_BUILD_PATH)/src/com/$(APP_COMPANY_NAME)/$(APP_PRODUCT_NAME)/NativeLoader.java
197
+ endif
198
+ @echo System.loadLibrary("$(PROJECT_LIBRARY_NAME)"); >> $(PROJECT_BUILD_PATH)/src/com/$(APP_COMPANY_NAME)/$(APP_PRODUCT_NAME)/NativeLoader.java
199
+ @echo } >> $(PROJECT_BUILD_PATH)/src/com/$(APP_COMPANY_NAME)/$(APP_PRODUCT_NAME)/NativeLoader.java
200
+ @echo } >> $(PROJECT_BUILD_PATH)/src/com/$(APP_COMPANY_NAME)/$(APP_PRODUCT_NAME)/NativeLoader.java
201
+
202
+ # Generate AndroidManifest.xml with all the required options
203
+ # NOTE: Probably not the bet way to generate this file... but it works.
204
+ generate_android_manifest:
205
+ @echo ^<?xml version="1.0" encoding="utf-8"^?^> > $(PROJECT_BUILD_PATH)/AndroidManifest.xml
206
+ @echo ^<manifest xmlns:android="http://schemas.android.com/apk/res/android" >> $(PROJECT_BUILD_PATH)/AndroidManifest.xml
207
+ @echo package="com.$(APP_COMPANY_NAME).$(APP_PRODUCT_NAME)" >> $(PROJECT_BUILD_PATH)/AndroidManifest.xml
208
+ @echo android:versionCode="$(APP_VERSION_CODE)" android:versionName="$(APP_VERSION_NAME)" ^> >> $(PROJECT_BUILD_PATH)/AndroidManifest.xml
209
+ @echo ^<uses-sdk android:minSdkVersion="$(ANDROID_API_VERSION)" /^> >> $(PROJECT_BUILD_PATH)/AndroidManifest.xml
210
+ @echo ^<uses-feature android:glEsVersion="0x00020000" android:required="true" /^> >> $(PROJECT_BUILD_PATH)/AndroidManifest.xml
211
+ @echo ^<application android:allowBackup="false" android:label="@string/app_name" android:icon="@drawable/icon" ^> >> $(PROJECT_BUILD_PATH)/AndroidManifest.xml
212
+ @echo ^<activity android:name="com.$(APP_COMPANY_NAME).$(APP_PRODUCT_NAME).NativeLoader" >> $(PROJECT_BUILD_PATH)/AndroidManifest.xml
213
+ @echo android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >> $(PROJECT_BUILD_PATH)/AndroidManifest.xml
214
+ @echo android:configChanges="orientation|keyboardHidden|screenSize" >> $(PROJECT_BUILD_PATH)/AndroidManifest.xml
215
+ @echo android:screenOrientation="$(APP_SCREEN_ORIENTATION)" android:launchMode="singleTask" >> $(PROJECT_BUILD_PATH)/AndroidManifest.xml
216
+ @echo android:clearTaskOnLaunch="true"^> >> $(PROJECT_BUILD_PATH)/AndroidManifest.xml
217
+ @echo ^<meta-data android:name="android.app.lib_name" android:value="$(PROJECT_LIBRARY_NAME)" /^> >> $(PROJECT_BUILD_PATH)/AndroidManifest.xml
218
+ @echo ^<intent-filter^> >> $(PROJECT_BUILD_PATH)/AndroidManifest.xml
219
+ @echo ^<action android:name="android.intent.action.MAIN" /^> >> $(PROJECT_BUILD_PATH)/AndroidManifest.xml
220
+ @echo ^<category android:name="android.intent.category.LAUNCHER" /^> >> $(PROJECT_BUILD_PATH)/AndroidManifest.xml
221
+ @echo ^</intent-filter^> >> $(PROJECT_BUILD_PATH)/AndroidManifest.xml
222
+ @echo ^</activity^> >> $(PROJECT_BUILD_PATH)/AndroidManifest.xml
223
+ @echo ^</application^> >> $(PROJECT_BUILD_PATH)/AndroidManifest.xml
224
+ @echo ^</manifest^> >> $(PROJECT_BUILD_PATH)/AndroidManifest.xml
225
+
226
+ # Generate storekey for APK signing: $(PROJECT_NAME).keystore
227
+ # NOTE: Configure here your Distinguished Names (-dname) if required!
228
+ generate_apk_keystore:
229
+ if not exist $(PROJECT_BUILD_PATH)/$(PROJECT_NAME).keystore $(JAVA_HOME)/bin/keytool -genkeypair -validity 1000 -dname "CN=$(APP_COMPANY_NAME),O=Android,C=ES" -keystore $(PROJECT_BUILD_PATH)/$(PROJECT_NAME).keystore -storepass $(APP_KEYSTORE_PASS) -keypass $(APP_KEYSTORE_PASS) -alias $(PROJECT_NAME)Key -keyalg RSA
230
+
231
+ # Config project package and resource using AndroidManifest.xml and res/values/strings.xml
232
+ # NOTE: Generates resources file: src/com/$(APP_COMPANY_NAME)/$(APP_PRODUCT_NAME)/R.java
233
+ config_project_package:
234
+ $(ANDROID_BUILD_TOOLS)/aapt package -f -m -S $(PROJECT_BUILD_PATH)/res -J $(PROJECT_BUILD_PATH)/src -M $(PROJECT_BUILD_PATH)/AndroidManifest.xml -I $(ANDROID_HOME)/platforms/android-$(ANDROID_API_VERSION)/android.jar
235
+
236
+ # Compile native_app_glue code as static library: obj/libnative_app_glue.a
237
+ compile_native_app_glue:
238
+ $(CC) -c $(RAYLIB_PATH)/src/external/android/native_app_glue/android_native_app_glue.c -o $(PROJECT_BUILD_PATH)/obj/native_app_glue.o $(CFLAGS)
239
+ $(AR) rcs $(PROJECT_BUILD_PATH)/obj/libnative_app_glue.a $(PROJECT_BUILD_PATH)/obj/native_app_glue.o
240
+
241
+ # Compile project code into a shared library: lib/lib$(PROJECT_LIBRARY_NAME).so
242
+ compile_project_code: $(OBJS)
243
+ $(CC) -o $(PROJECT_BUILD_PATH)/lib/$(ANDROID_ARCH_NAME)/lib$(PROJECT_LIBRARY_NAME).so $(OBJS) -shared $(INCLUDE_PATHS) $(LDFLAGS) $(LDLIBS)
244
+
245
+ # Compile all .c files required into object (.o) files
246
+ # NOTE: Those files will be linked into a shared library
247
+ $(PROJECT_BUILD_PATH)/obj/%.o:%.c
248
+ $(CC) -c $^ -o $@ $(INCLUDE_PATHS) $(CFLAGS) --sysroot=$(ANDROID_TOOLCHAIN)/sysroot
249
+
250
+ # Compile project .java code into .class (Java bytecode)
251
+ compile_project_class:
252
+ $(JAVA_HOME)/bin/javac -verbose -source 1.7 -target 1.7 -d $(PROJECT_BUILD_PATH)/obj -bootclasspath $(JAVA_HOME)/jre/lib/rt.jar -classpath $(ANDROID_HOME)/platforms/android-$(ANDROID_API_VERSION)/android.jar;$(PROJECT_BUILD_PATH)/obj -sourcepath $(PROJECT_BUILD_PATH)/src $(PROJECT_BUILD_PATH)/src/com/$(APP_COMPANY_NAME)/$(APP_PRODUCT_NAME)/R.java $(PROJECT_BUILD_PATH)/src/com/$(APP_COMPANY_NAME)/$(APP_PRODUCT_NAME)/NativeLoader.java
253
+
254
+ # Compile .class files into Dalvik executable bytecode (.dex)
255
+ # NOTE: Since Android 5.0, Dalvik interpreter (JIT) has been replaced by ART (AOT)
256
+ compile_project_class_dex:
257
+ $(ANDROID_BUILD_TOOLS)/dx --verbose --dex --output=$(PROJECT_BUILD_PATH)/bin/classes.dex $(PROJECT_BUILD_PATH)/obj
258
+
259
+ # Create Android APK package: bin/$(PROJECT_NAME).unsigned.apk
260
+ # NOTE: Requires compiled classes.dex and lib$(PROJECT_LIBRARY_NAME).so
261
+ # NOTE: Use -A resources to define additional directory in which to find raw asset files
262
+ create_project_apk_package:
263
+ $(ANDROID_BUILD_TOOLS)/aapt package -f -M $(PROJECT_BUILD_PATH)/AndroidManifest.xml -S $(PROJECT_BUILD_PATH)/res -A $(PROJECT_BUILD_PATH)/assets -I $(ANDROID_HOME)/platforms/android-$(ANDROID_API_VERSION)/android.jar -F $(PROJECT_BUILD_PATH)/bin/$(PROJECT_NAME).unsigned.apk $(PROJECT_BUILD_PATH)/bin
264
+ cd $(PROJECT_BUILD_PATH) && $(ANDROID_BUILD_TOOLS)/aapt add bin/$(PROJECT_NAME).unsigned.apk lib/$(ANDROID_ARCH_NAME)/lib$(PROJECT_LIBRARY_NAME).so $(PROJECT_SHARED_LIBS)
265
+
266
+ # Create signed APK package using generated Key: bin/$(PROJECT_NAME).signed.apk
267
+ sign_project_apk_package:
268
+ $(JAVA_HOME)/bin/jarsigner -keystore $(PROJECT_BUILD_PATH)/$(PROJECT_NAME).keystore -storepass $(APP_KEYSTORE_PASS) -keypass $(APP_KEYSTORE_PASS) -signedjar $(PROJECT_BUILD_PATH)/bin/$(PROJECT_NAME).signed.apk $(PROJECT_BUILD_PATH)/bin/$(PROJECT_NAME).unsigned.apk $(PROJECT_NAME)Key
269
+
270
+ # Create zip-aligned APK package: $(PROJECT_NAME).apk
271
+ zipalign_project_apk_package:
272
+ $(ANDROID_BUILD_TOOLS)/zipalign -f 4 $(PROJECT_BUILD_PATH)/bin/$(PROJECT_NAME).signed.apk $(PROJECT_NAME).apk
273
+
274
+ # Install $(PROJECT_NAME).apk to default emulator/device
275
+ # NOTE: Use -e (emulator) or -d (device) parameters if required
276
+ install:
277
+ $(ANDROID_PLATFORM_TOOLS)/adb install --abi $(ANDROID_ARCH_NAME) -rds $(PROJECT_NAME).apk
278
+
279
+ # Check supported ABI for the device (armeabi-v7a, arm64-v8a, x86, x86_64)
280
+ check_device_abi:
281
+ $(ANDROID_PLATFORM_TOOLS)/adb shell getprop ro.product.cpu.abi
282
+
283
+ # Monitorize output log coming from device, only raylib tag
284
+ logcat:
285
+ $(ANDROID_PLATFORM_TOOLS)/adb logcat -c
286
+ $(ANDROID_PLATFORM_TOOLS)/adb logcat raylib:V *:S
287
+
288
+ # Install and monitorize $(PROJECT_NAME).apk to default emulator/device
289
+ deploy:
290
+ $(ANDROID_PLATFORM_TOOLS)/adb install -r $(PROJECT_NAME).apk
291
+ $(ANDROID_PLATFORM_TOOLS)/adb logcat -c
292
+ $(ANDROID_PLATFORM_TOOLS)/adb logcat raylib:V *:S
293
+
294
+ #$(ANDROID_PLATFORM_TOOLS)/adb logcat *:W
295
+
296
+ # Clean everything
297
+ clean:
298
+ del $(PROJECT_BUILD_PATH)\* /f /s /q
299
+ rmdir $(PROJECT_BUILD_PATH) /s /q
300
+ @echo Cleaning done
@@ -0,0 +1,83 @@
1
+ /*******************************************************************************************
2
+ *
3
+ * raylib [core] example - Basic 3d example
4
+ *
5
+ * Welcome to raylib!
6
+ *
7
+ * To compile example, just press F5.
8
+ * Note that compiled executable is placed in the same folder as .c file
9
+ *
10
+ * You can find all basic examples on C:\raylib\raylib\examples folder or
11
+ * raylib official webpage: www.raylib.com
12
+ *
13
+ * Enjoy using raylib. :)
14
+ *
15
+ * This example has been created using raylib 1.0 (www.raylib.com)
16
+ * raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
17
+ *
18
+ * Copyright (c) 2013-2020 Ramon Santamaria (@raysan5)
19
+ *
20
+ ********************************************************************************************/
21
+
22
+ #include "raylib.h"
23
+
24
+ int main()
25
+ {
26
+ // Initialization
27
+ //--------------------------------------------------------------------------------------
28
+ const int screenWidth = 800;
29
+ const int screenHeight = 450;
30
+
31
+ InitWindow(screenWidth, screenHeight, "raylib");
32
+
33
+ Camera camera = { 0 };
34
+ camera.position = (Vector3){ 10.0f, 10.0f, 8.0f };
35
+ camera.target = (Vector3){ 0.0f, 0.0f, 0.0f };
36
+ camera.up = (Vector3){ 0.0f, 1.0f, 0.0f };
37
+ camera.fovy = 60.0f;
38
+ camera.projection = CAMERA_PERSPECTIVE;
39
+
40
+ SetCameraMode(camera, CAMERA_ORBITAL);
41
+
42
+ Vector3 cubePosition = { 0 };
43
+
44
+ SetTargetFPS(60); // Set our game to run at 60 frames-per-second
45
+ //--------------------------------------------------------------------------------------
46
+
47
+ // Main game loop
48
+ while (!WindowShouldClose()) // Detect window close button or ESC key
49
+ {
50
+ // Update
51
+ //----------------------------------------------------------------------------------
52
+ UpdateCamera(&camera);
53
+ //----------------------------------------------------------------------------------
54
+
55
+ // Draw
56
+ //----------------------------------------------------------------------------------
57
+ BeginDrawing();
58
+
59
+ ClearBackground(RAYWHITE);
60
+
61
+ BeginMode3D(camera);
62
+
63
+ DrawCube(cubePosition, 2.0f, 2.0f, 2.0f, RED);
64
+ DrawCubeWires(cubePosition, 2.0f, 2.0f, 2.0f, MAROON);
65
+ DrawGrid(10, 1.0f);
66
+
67
+ EndMode3D();
68
+
69
+ DrawText("This is a raylib example", 10, 40, 20, DARKGRAY);
70
+
71
+ DrawFPS(10, 10);
72
+
73
+ EndDrawing();
74
+ //----------------------------------------------------------------------------------
75
+ }
76
+
77
+ // De-Initialization
78
+ //--------------------------------------------------------------------------------------
79
+ CloseWindow(); // Close window and OpenGL context
80
+ //--------------------------------------------------------------------------------------
81
+
82
+ return 0;
83
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "folders": [
3
+ {
4
+ "path": "."
5
+ }
6
+ ],
7
+ "settings": {
8
+ "files.associations": {
9
+ "raylib.h": "c",
10
+ "math.h": "c",
11
+ "blocks.h": "c",
12
+ "stdio.h": "c",
13
+ "*.m": "c"
14
+ }
15
+ }
16
+ }
@@ -0,0 +1,68 @@
1
+ Here are dependency-less build scripts for raylib projects.
2
+
3
+ ## Dependencies
4
+ The scripts, as mentioned above, do not have dependencies. There's one
5
+ exception to this however, and that is Windows, because Windows
6
+ doesn't have a built-in C compiler. On Windows, you'll need to install
7
+ [Visual Studio][visual-studio] or the [build tools][vs-tools]. If you
8
+ didn't install them in the default location, write your changes around
9
+ line 38 of [`build-windows.bat`](build-windows.bat).
10
+
11
+ ## Script customization
12
+ First of all, the scripts have a few variables at the very top, which
13
+ are supposed to be configured for each project separately:
14
+ - `GAME_NAME` variable is used for the executable name.
15
+ - `SOURCES` is a list of .c source files, divided by spaces, which are
16
+ going to be compiled and linked with raylib to create the final
17
+ executable. You can use wildcards, so if you have all your .c files
18
+ in a directory called `src`, you can just set `SOURCES` to
19
+ `../../src/*.c`. Note: the paths should be either absolute, or
20
+ relative to `builds/platform`, hence `../../`.
21
+ - `RAYLIB_SRC` should point to the raylib/src directory. In this case,
22
+ it's `../../src`, but as with the `SOURCES`, if the path is
23
+ relative, it should be relative to `temp/debug`, so it's actually
24
+ `../../../../src`.
25
+
26
+ ## Compilation flags
27
+ - `-Os` (`/O1` with MSVC, `-O2` with clang\*) is used for release
28
+ builds, to save space. Since it's a good practice to make your games
29
+ run on the slowest possible systems, only a few games would benefit
30
+ from additional runtime performance on almost all systems. Other
31
+ flags: `-flto` (`/GL` and `/LTCG` for MSVC) in release builds, `-O0
32
+ -g` (`/Od /Zi` for MSVC) in debug builds.
33
+ - `-Wall -Wextra -Wpedantic` (`/Wall` for MSVC) are used for warnings.
34
+
35
+ \* Clang 7.0.1 seems to have problems compiling with `-flto` and `-Os`
36
+ enabled at the same time, so `-Os` is replaced with `-O2` for clang.
37
+
38
+ ## Command line arguments
39
+ The build scripts accept some flags, which can be given either one at
40
+ a time (`-d -c -r`) or in bunches (`-dcr`). Here's a description of
41
+ all of the flags.
42
+ - `-h` Describes all the flags, and a few example commands
43
+ - `-d` Faster builds that have debug symbols, and enable warnings
44
+ - `-u` Run upx\* on the executable after compilation (before -r)
45
+ - `-r` Run the executable after compilation
46
+ - `-c` Remove the temp/(debug|release) directory, ie. full recompile
47
+ - `-q` Suppress this script's informational prints
48
+ - `-qq` Suppress all prints, complete silence
49
+ - `-v` cl.exe normally prints out a lot of superficial information, as
50
+ well as the MSVC build environment activation scripts, but these are
51
+ mostly suppressed by default. If you do want to see everything, use
52
+ this flag.
53
+
54
+ \* This is mostly here to make building simple "shipping" versions
55
+ easier, and it's a very small bit in the build scripts. The option
56
+ requires that you have upx installed and on your path, of course.
57
+
58
+ #### Examples
59
+ | What the command does | Command |
60
+ |-------------------------------------------------------------|---------------------------|
61
+ | Build a release build, on Windows | `build-windows.bat` |
62
+ | Build a release build, full recompile, on Linux | `./build-linux.sh -c` |
63
+ | Build a debug build and run, on macOS | `./build-osx.sh -d -r` |
64
+ | Build in debug, run, don't print at all, on Linux with `sh` | `sh build-linux.sh -drqq` |
65
+
66
+
67
+ [visual-studio]: https://visualstudio.microsoft.com/downloads/#visual-studio-community-2017
68
+ [vs-tools]: https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2017
@@ -0,0 +1,169 @@
1
+ #!/bin/sh
2
+ # Change your executable name here
3
+ GAME_NAME="game"
4
+
5
+ # Set your sources here (relative paths!)
6
+ # Example with two source folders:
7
+ # SOURCES="src/*.c src/submodule/*.c"
8
+ SOURCES="core_basic_window.c"
9
+
10
+ # Set your raylib/src location here (relative path!)
11
+ RAYLIB_SRC="../../src"
12
+
13
+ # About this build script: it does many things, but in essence, it's
14
+ # very simple. It has 3 compiler invocations: building raylib (which
15
+ # is not done always, see logic by searching "Build raylib"), building
16
+ # src/*.c files, and linking together those two. Each invocation is
17
+ # wrapped in an if statement to make the -qq flag work, it's pretty
18
+ # verbose, sorry.
19
+
20
+ # Stop the script if a compilation (or something else?) fails
21
+ set -e
22
+
23
+ # Get arguments
24
+ while getopts ":hdusrcq" opt; do
25
+ case $opt in
26
+ h)
27
+ echo "Usage: ./linux-build.sh [-hdusrcqq]"
28
+ echo " -h Show this information"
29
+ echo " -d Faster builds that have debug symbols, and enable warnings"
30
+ echo " -u Run upx* on the executable after compilation (before -r)"
31
+ echo " -s Run strip on the executable after compilation (before -r)"
32
+ echo " -r Run the executable after compilation"
33
+ echo " -c Remove the temp/(debug|release) directory, ie. full recompile"
34
+ echo " -q Suppress this script's informational prints"
35
+ echo " -qq Suppress all prints, complete silence (> /dev/null 2>&1)"
36
+ echo ""
37
+ echo "* This is mostly here to make building simple \"shipping\" versions"
38
+ echo " easier, and it's a very small bit in the build scripts. The option"
39
+ echo " requires that you have upx installed and on your path, of course."
40
+ echo ""
41
+ echo "Examples:"
42
+ echo " Build a release build: ./linux-build.sh"
43
+ echo " Build a release build, full recompile: ./linux-build.sh -c"
44
+ echo " Build a debug build and run: ./linux-build.sh -d -r"
45
+ echo " Build in debug, run, don't print at all: ./linux-build.sh -drqq"
46
+ exit 0
47
+ ;;
48
+ d)
49
+ BUILD_DEBUG="1"
50
+ ;;
51
+ u)
52
+ UPX_IT="1"
53
+ ;;
54
+ s)
55
+ STRIP_IT="1"
56
+ ;;
57
+ r)
58
+ RUN_AFTER_BUILD="1"
59
+ ;;
60
+ c)
61
+ BUILD_ALL="1"
62
+ ;;
63
+ q)
64
+ if [ -n "$QUIET" ]; then
65
+ REALLY_QUIET="1"
66
+ else
67
+ QUIET="1"
68
+ fi
69
+ ;;
70
+ \?)
71
+ echo "Invalid option: -$OPTARG" >&2
72
+ exit 1
73
+ ;;
74
+ esac
75
+ done
76
+
77
+ # Set CC if it's not set already
78
+ if [ -z "$CC" ]; then
79
+ CC=cc
80
+ fi
81
+
82
+ # Directories
83
+ ROOT_DIR=$PWD
84
+ SOURCES="$ROOT_DIR/$SOURCES"
85
+ RAYLIB_SRC="$ROOT_DIR/$RAYLIB_SRC"
86
+
87
+ # Flags
88
+ OUTPUT_DIR="builds/linux"
89
+ COMPILATION_FLAGS="-std=c99 -Os -flto"
90
+ FINAL_COMPILE_FLAGS="-s"
91
+ WARNING_FLAGS="-Wall -Wextra -Wpedantic"
92
+ LINK_FLAGS="-flto -lm -ldl -lpthread -lX11 -lxcb -lGL -lGLX -lXext -lGLdispatch -lXau -lXdmcp"
93
+ # Debug changes to flags
94
+ if [ -n "$BUILD_DEBUG" ]; then
95
+ OUTPUT_DIR="builds-debug/linux"
96
+ COMPILATION_FLAGS="-std=c99 -O0 -g"
97
+ FINAL_COMPILE_FLAGS=""
98
+ LINK_FLAGS="-lm -ldl -lpthread -lX11 -lxcb -lGL -lGLX -lXext -lGLdispatch -lXau -lXdmcp"
99
+ fi
100
+
101
+ # Display what we're doing
102
+ if [ -n "$BUILD_DEBUG" ]; then
103
+ [ -z "$QUIET" ] && echo "COMPILE-INFO: Compiling in debug mode. ($COMPILATION_FLAGS $WARNING_FLAGS)"
104
+ else
105
+ [ -z "$QUIET" ] && echo "COMPILE-INFO: Compiling in release mode. ($COMPILATION_FLAGS $FINAL_COMPILE_FLAGS)"
106
+ fi
107
+
108
+ # Create the raylib cache directory
109
+ TEMP_DIR="temp/release"
110
+ if [ -n "$BUILD_DEBUG" ]; then
111
+ TEMP_DIR="temp/debug"
112
+ fi
113
+ # If there's a -c flag, remove the cache
114
+ if [ -d "$TEMP_DIR" ] && [ -n "$BUILD_ALL" ]; then
115
+ [ -z "$QUIET" ] && echo "COMPILE-INFO: Found cached raylib, rebuilding."
116
+ rm -r "$TEMP_DIR"
117
+ fi
118
+ # If temp directory doesn't exist, build raylib
119
+ if [ ! -d "$TEMP_DIR" ]; then
120
+ mkdir -p $TEMP_DIR
121
+ cd $TEMP_DIR
122
+ RAYLIB_DEFINES="-D_DEFAULT_SOURCE -DPLATFORM_DESKTOP -DGRAPHICS_API_OPENGL_33"
123
+ RAYLIB_C_FILES="$RAYLIB_SRC/rcore.c $RAYLIB_SRC/rshapes.c $RAYLIB_SRC/rtextures.c $RAYLIB_SRC/rtext.c $RAYLIB_SRC/rmodels.c $RAYLIB_SRC/utils.c $RAYLIB_SRC/raudio.c $RAYLIB_SRC/rglfw.c"
124
+ RAYLIB_INCLUDE_FLAGS="-I$RAYLIB_SRC -I$RAYLIB_SRC/external/glfw/include"
125
+
126
+ if [ -n "$REALLY_QUIET" ]; then
127
+ $CC -c $RAYLIB_DEFINES $RAYLIB_INCLUDE_FLAGS $COMPILATION_FLAGS $RAYLIB_C_FILES > /dev/null 2>&1
128
+ else
129
+ $CC -c $RAYLIB_DEFINES $RAYLIB_INCLUDE_FLAGS $COMPILATION_FLAGS $RAYLIB_C_FILES
130
+ fi
131
+ [ -z "$QUIET" ] && echo "COMPILE-INFO: Raylib compiled into object files in: $TEMP_DIR/"
132
+ cd $ROOT_DIR
133
+ fi
134
+
135
+ # Build the actual game
136
+ mkdir -p $OUTPUT_DIR
137
+ cd $OUTPUT_DIR
138
+ [ -z "$QUIET" ] && echo "COMPILE-INFO: Compiling game code."
139
+ if [ -n "$REALLY_QUIET" ]; then
140
+ $CC -c -I$RAYLIB_SRC $COMPILATION_FLAGS $WARNING_FLAGS $SOURCES > /dev/null 2>&1
141
+ $CC -o $GAME_NAME $ROOT_DIR/$TEMP_DIR/*.o *.o $LINK_FLAGS > /dev/null 2>&1
142
+ else
143
+ $CC -c -I$RAYLIB_SRC $COMPILATION_FLAGS $WARNING_FLAGS $SOURCES
144
+ $CC -o $GAME_NAME $ROOT_DIR/$TEMP_DIR/*.o *.o $LINK_FLAGS
145
+ fi
146
+ rm *.o
147
+ [ -z "$QUIET" ] && echo "COMPILE-INFO: Game compiled into an executable in: $OUTPUT_DIR/"
148
+
149
+ if [ -n "$STRIP_IT" ]; then
150
+ [ -z "$QUIET" ] && echo "COMPILE-INFO: Stripping $GAME_NAME."
151
+ strip $GAME_NAME
152
+ fi
153
+
154
+ if [ -n "$UPX_IT" ]; then
155
+ [ -z "$QUIET" ] && echo "COMPILE-INFO: Packing $GAME_NAME with upx."
156
+ upx $GAME_NAME > /dev/null 2>&1
157
+ fi
158
+
159
+ if [ -n "$RUN_AFTER_BUILD" ]; then
160
+ [ -z "$QUIET" ] && echo "COMPILE-INFO: Running."
161
+ if [ -n "$REALLY_QUIET" ]; then
162
+ ./$GAME_NAME > /dev/null 2>&1
163
+ else
164
+ ./$GAME_NAME
165
+ fi
166
+ fi
167
+ cd $ROOT_DIR
168
+
169
+ [ -z "$QUIET" ] && echo "COMPILE-INFO: All done."