koffi 2.1.1 → 2.1.2

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 (311) hide show
  1. package/ChangeLog.md +6 -0
  2. package/build/qemu/2.1.2/koffi_darwin_arm64.tar.gz +0 -0
  3. package/build/qemu/2.1.2/koffi_darwin_x64.tar.gz +0 -0
  4. package/build/qemu/2.1.2/koffi_freebsd_arm64.tar.gz +0 -0
  5. package/build/qemu/2.1.2/koffi_freebsd_ia32.tar.gz +0 -0
  6. package/build/qemu/2.1.2/koffi_freebsd_x64.tar.gz +0 -0
  7. package/build/qemu/2.1.2/koffi_linux_arm32hf.tar.gz +0 -0
  8. package/build/qemu/2.1.2/koffi_linux_arm64.tar.gz +0 -0
  9. package/build/qemu/2.1.2/koffi_linux_ia32.tar.gz +0 -0
  10. package/build/qemu/2.1.2/koffi_linux_riscv64hf64.tar.gz +0 -0
  11. package/build/qemu/2.1.2/koffi_linux_x64.tar.gz +0 -0
  12. package/build/qemu/2.1.2/koffi_openbsd_ia32.tar.gz +0 -0
  13. package/build/qemu/2.1.2/koffi_openbsd_x64.tar.gz +0 -0
  14. package/build/qemu/2.1.2/koffi_win32_arm64.tar.gz +0 -0
  15. package/build/qemu/2.1.2/koffi_win32_ia32.tar.gz +0 -0
  16. package/build/qemu/2.1.2/koffi_win32_x64.tar.gz +0 -0
  17. package/doc/templates/badges.html +3 -0
  18. package/package.json +2 -2
  19. package/src/abi_arm64.cc +35 -1
  20. package/src/abi_x64_win.cc +2 -8
  21. package/src/abi_x86.cc +1 -7
  22. package/src/ffi.hh +1 -1
  23. package/src/util.hh +6 -0
  24. package/test/raylib.js +37 -5
  25. package/vendor/libcc/libcc.cc +430 -196
  26. package/vendor/libcc/libcc.hh +1417 -1283
  27. package/vendor/raylib/BINDINGS.md +87 -70
  28. package/vendor/raylib/CHANGELOG +263 -50
  29. package/vendor/raylib/CMakeLists.txt +12 -0
  30. package/vendor/raylib/CMakeOptions.txt +8 -1
  31. package/vendor/raylib/CONVENTIONS.md +2 -3
  32. package/vendor/raylib/FAQ.md +137 -0
  33. package/vendor/raylib/HISTORY.md +62 -29
  34. package/vendor/raylib/LICENSE +1 -1
  35. package/vendor/raylib/README.md +22 -17
  36. package/vendor/raylib/ROADMAP.md +8 -7
  37. package/vendor/raylib/cmake/CompileDefinitions.cmake +19 -15
  38. package/vendor/raylib/cmake/GlfwImport.cmake +2 -0
  39. package/vendor/raylib/cmake/LibraryConfigurations.cmake +22 -16
  40. package/vendor/raylib/cmake/raylib-config.cmake +52 -49
  41. package/vendor/raylib/examples/CMakeLists.txt +14 -9
  42. package/vendor/raylib/examples/Makefile +112 -125
  43. package/vendor/raylib/examples/Makefile.Android +1 -1
  44. package/vendor/raylib/examples/Makefile.Web +145 -158
  45. package/vendor/raylib/examples/README.md +141 -141
  46. package/vendor/raylib/examples/audio/audio_module_playing.c +9 -4
  47. package/vendor/raylib/examples/audio/audio_multichannel_sound.c +8 -3
  48. package/vendor/raylib/examples/audio/audio_music_stream.c +16 -11
  49. package/vendor/raylib/examples/audio/audio_raw_stream.c +57 -9
  50. package/vendor/raylib/examples/audio/audio_sound_loading.c +8 -3
  51. package/vendor/raylib/examples/audio/audio_stream_effects.c +179 -0
  52. package/vendor/raylib/examples/audio/audio_stream_effects.png +0 -0
  53. package/vendor/raylib/examples/build.zig +17 -6
  54. package/vendor/raylib/examples/core/core_2d_camera.c +8 -4
  55. package/vendor/raylib/examples/core/core_2d_camera_mouse_zoom.c +105 -0
  56. package/vendor/raylib/examples/core/core_2d_camera_mouse_zoom.png +0 -0
  57. package/vendor/raylib/examples/core/core_2d_camera_platformer.c +11 -6
  58. package/vendor/raylib/examples/core/core_3d_camera_first_person.c +9 -4
  59. package/vendor/raylib/examples/core/core_3d_camera_free.c +9 -4
  60. package/vendor/raylib/examples/core/core_3d_camera_mode.c +8 -3
  61. package/vendor/raylib/examples/core/core_3d_picking.c +9 -4
  62. package/vendor/raylib/examples/core/core_basic_screen_manager.c +9 -7
  63. package/vendor/raylib/examples/core/core_basic_window.c +8 -3
  64. package/vendor/raylib/examples/core/core_basic_window_web.c +13 -11
  65. package/vendor/raylib/examples/core/core_custom_frame_control.c +9 -4
  66. package/vendor/raylib/examples/core/core_custom_logging.c +12 -8
  67. package/vendor/raylib/examples/core/core_drop_files.c +20 -12
  68. package/vendor/raylib/examples/core/core_input_gamepad.c +20 -15
  69. package/vendor/raylib/examples/core/core_input_gestures.c +19 -15
  70. package/vendor/raylib/examples/core/core_input_keys.c +8 -3
  71. package/vendor/raylib/examples/core/core_input_mouse.c +8 -3
  72. package/vendor/raylib/examples/core/core_input_mouse_wheel.c +8 -3
  73. package/vendor/raylib/examples/core/core_input_multitouch.c +8 -3
  74. package/vendor/raylib/examples/core/core_loading_thread.c +10 -6
  75. package/vendor/raylib/examples/core/core_random_values.c +8 -3
  76. package/vendor/raylib/examples/core/core_scissor_test.c +8 -3
  77. package/vendor/raylib/examples/core/core_smooth_pixelperfect.c +9 -4
  78. package/vendor/raylib/examples/core/core_split_screen.c +8 -3
  79. package/vendor/raylib/examples/core/core_storage_values.c +109 -3
  80. package/vendor/raylib/examples/core/core_vr_simulator.c +15 -7
  81. package/vendor/raylib/examples/core/core_window_flags.c +8 -3
  82. package/vendor/raylib/examples/core/core_window_letterbox.c +13 -18
  83. package/vendor/raylib/examples/core/core_window_should_close.c +77 -0
  84. package/vendor/raylib/examples/core/core_window_should_close.png +0 -0
  85. package/vendor/raylib/examples/core/core_world_screen.c +9 -4
  86. package/vendor/raylib/examples/examples_template.c +8 -3
  87. package/vendor/raylib/examples/models/models_animation.c +11 -7
  88. package/vendor/raylib/examples/models/models_billboard.c +9 -4
  89. package/vendor/raylib/examples/models/models_box_collisions.c +8 -3
  90. package/vendor/raylib/examples/models/models_cubicmap.c +9 -4
  91. package/vendor/raylib/examples/models/models_first_person_maze.c +9 -4
  92. package/vendor/raylib/examples/models/models_geometric_shapes.c +8 -3
  93. package/vendor/raylib/examples/models/models_heightmap.c +9 -4
  94. package/vendor/raylib/examples/models/models_loading.c +21 -17
  95. package/vendor/raylib/examples/models/models_loading_gltf.c +15 -41
  96. package/vendor/raylib/examples/models/models_loading_vox.c +9 -4
  97. package/vendor/raylib/examples/models/models_mesh_generation.c +71 -58
  98. package/vendor/raylib/examples/models/models_mesh_picking.c +25 -7
  99. package/vendor/raylib/examples/models/models_orthographic_projection.c +8 -5
  100. package/vendor/raylib/examples/models/models_rlgl_solar_system.c +6 -4
  101. package/vendor/raylib/examples/models/models_skybox.c +16 -12
  102. package/vendor/raylib/examples/models/models_waving_cubes.c +9 -4
  103. package/vendor/raylib/examples/models/models_yaw_pitch_roll.c +12 -7
  104. package/vendor/raylib/examples/models/resources/LICENSE.md +9 -10
  105. package/vendor/raylib/examples/models/resources/models/gltf/LICENSE +2 -23
  106. package/vendor/raylib/examples/models/resources/models/gltf/{raylib_32x32.glb → raylib_logo_3d.glb} +0 -0
  107. package/vendor/raylib/examples/models/resources/models/gltf/robot.blend +0 -0
  108. package/vendor/raylib/examples/models/resources/models/gltf/robot.glb +0 -0
  109. package/vendor/raylib/examples/others/easings_testbed.c +10 -8
  110. package/vendor/raylib/examples/others/easings_testbed.png +0 -0
  111. package/vendor/raylib/examples/others/embedded_files_loading.c +10 -5
  112. package/vendor/raylib/examples/others/embedded_files_loading.png +0 -0
  113. package/vendor/raylib/examples/others/raylib_opengl_interop.c +10 -6
  114. package/vendor/raylib/{src/extras/easings.h → examples/others/reasings.h} +38 -38
  115. package/vendor/raylib/examples/others/rlgl_compute_shader.c +21 -20
  116. package/vendor/raylib/examples/others/rlgl_compute_shader.png +0 -0
  117. package/vendor/raylib/examples/others/rlgl_standalone.c +4 -4
  118. package/vendor/raylib/examples/others/rlgl_standalone.png +0 -0
  119. package/vendor/raylib/examples/raylib_compile_execute.bat +2 -2
  120. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/lighting.fs +1 -1
  121. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/{base_lighting_instanced.vs → lighting_instancing.vs} +2 -2
  122. package/vendor/raylib/examples/shaders/rlights.h +14 -27
  123. package/vendor/raylib/examples/shaders/shaders_basic_lighting.c +24 -26
  124. package/vendor/raylib/examples/shaders/shaders_custom_uniform.c +10 -5
  125. package/vendor/raylib/examples/shaders/shaders_eratosthenes.c +13 -8
  126. package/vendor/raylib/examples/shaders/shaders_fog.c +8 -12
  127. package/vendor/raylib/examples/shaders/shaders_hot_reloading.c +10 -5
  128. package/vendor/raylib/examples/shaders/shaders_julia_set.c +9 -4
  129. package/vendor/raylib/examples/shaders/shaders_mesh_instancing.c +45 -119
  130. package/vendor/raylib/examples/shaders/shaders_model_shader.c +10 -5
  131. package/vendor/raylib/examples/shaders/shaders_multi_sample2d.c +8 -3
  132. package/vendor/raylib/examples/shaders/shaders_palette_switch.c +8 -3
  133. package/vendor/raylib/examples/shaders/shaders_postprocessing.c +9 -4
  134. package/vendor/raylib/examples/shaders/shaders_raymarching.c +14 -11
  135. package/vendor/raylib/examples/shaders/shaders_shapes_textures.c +8 -3
  136. package/vendor/raylib/examples/shaders/shaders_simple_mask.c +10 -5
  137. package/vendor/raylib/examples/shaders/shaders_spotlight.c +10 -6
  138. package/vendor/raylib/examples/shaders/shaders_texture_drawing.c +9 -4
  139. package/vendor/raylib/examples/shaders/shaders_texture_outline.c +8 -3
  140. package/vendor/raylib/examples/shaders/shaders_texture_waves.c +8 -3
  141. package/vendor/raylib/{src/extras → examples/shapes}/raygui.h +1290 -1141
  142. package/vendor/raylib/examples/{others/easings.h → shapes/reasings.h} +40 -40
  143. package/vendor/raylib/examples/shapes/shapes_basic_shapes.c +8 -3
  144. package/vendor/raylib/examples/shapes/shapes_bouncing_ball.c +8 -3
  145. package/vendor/raylib/examples/shapes/shapes_collision_area.c +10 -4
  146. package/vendor/raylib/examples/shapes/shapes_colors_palette.c +8 -3
  147. package/vendor/raylib/examples/shapes/shapes_draw_circle_sector.c +9 -4
  148. package/vendor/raylib/examples/shapes/shapes_draw_rectangle_rounded.c +9 -4
  149. package/vendor/raylib/examples/shapes/shapes_draw_ring.c +10 -6
  150. package/vendor/raylib/examples/shapes/shapes_easings_ball_anim.c +9 -4
  151. package/vendor/raylib/examples/shapes/shapes_easings_box_anim.c +9 -4
  152. package/vendor/raylib/examples/shapes/shapes_easings_rectangle_array.c +9 -4
  153. package/vendor/raylib/examples/shapes/shapes_following_eyes.c +8 -3
  154. package/vendor/raylib/examples/shapes/shapes_lines_bezier.c +8 -3
  155. package/vendor/raylib/examples/shapes/shapes_logo_raylib.c +8 -3
  156. package/vendor/raylib/examples/shapes/shapes_logo_raylib_anim.c +8 -3
  157. package/vendor/raylib/examples/shapes/shapes_rectangle_scaling.c +14 -5
  158. package/vendor/raylib/examples/shapes/shapes_top_down_lights.c +355 -0
  159. package/vendor/raylib/examples/shapes/shapes_top_down_lights.png +0 -0
  160. package/vendor/raylib/examples/text/resources/DotGothic16-Regular.ttf +0 -0
  161. package/vendor/raylib/examples/text/resources/DotGothic16-Regular_OFL.txt +93 -0
  162. package/vendor/raylib/examples/text/resources/LICENSE.md +1 -1
  163. package/vendor/raylib/examples/text/text_codepoints_loading.c +138 -0
  164. package/vendor/raylib/examples/text/text_codepoints_loading.png +0 -0
  165. package/vendor/raylib/examples/text/text_draw_3d.c +42 -33
  166. package/vendor/raylib/examples/text/text_font_filters.c +14 -11
  167. package/vendor/raylib/examples/text/text_font_loading.c +9 -4
  168. package/vendor/raylib/examples/text/text_font_sdf.c +9 -4
  169. package/vendor/raylib/examples/text/text_font_spritefont.c +12 -6
  170. package/vendor/raylib/examples/text/text_format_text.c +8 -3
  171. package/vendor/raylib/examples/text/text_input_box.c +8 -3
  172. package/vendor/raylib/examples/text/text_raylib_fonts.c +9 -4
  173. package/vendor/raylib/examples/text/text_rectangle_bounds.c +9 -5
  174. package/vendor/raylib/examples/text/text_unicode.c +9 -7
  175. package/vendor/raylib/examples/text/text_writing_anim.c +8 -3
  176. package/vendor/raylib/examples/textures/resources/scarfy_run.gif +0 -0
  177. package/vendor/raylib/examples/textures/textures_background_scrolling.c +8 -3
  178. package/vendor/raylib/examples/textures/textures_blend_modes.c +8 -3
  179. package/vendor/raylib/examples/textures/textures_bunnymark.c +8 -3
  180. package/vendor/raylib/examples/textures/textures_draw_tiled.c +14 -10
  181. package/vendor/raylib/examples/textures/textures_fog_of_war.c +154 -0
  182. package/vendor/raylib/examples/textures/textures_fog_of_war.png +0 -0
  183. package/vendor/raylib/examples/textures/textures_gif_player.c +121 -0
  184. package/vendor/raylib/examples/textures/textures_gif_player.png +0 -0
  185. package/vendor/raylib/examples/textures/textures_image_drawing.c +8 -3
  186. package/vendor/raylib/examples/textures/textures_image_generation.c +8 -3
  187. package/vendor/raylib/examples/textures/textures_image_loading.c +8 -3
  188. package/vendor/raylib/examples/textures/textures_image_processing.c +8 -3
  189. package/vendor/raylib/examples/textures/textures_image_text.c +8 -3
  190. package/vendor/raylib/examples/textures/textures_logo_raylib.c +8 -3
  191. package/vendor/raylib/examples/textures/textures_mouse_painting.c +9 -4
  192. package/vendor/raylib/examples/textures/textures_npatch_drawing.c +8 -3
  193. package/vendor/raylib/examples/textures/textures_particles_blending.c +8 -3
  194. package/vendor/raylib/examples/textures/textures_polygon.c +9 -5
  195. package/vendor/raylib/examples/textures/textures_raw_data.c +8 -3
  196. package/vendor/raylib/examples/textures/{textures_rectangle.c → textures_sprite_anim.c} +11 -5
  197. package/vendor/raylib/examples/textures/{textures_rectangle.png → textures_sprite_anim.png} +0 -0
  198. package/vendor/raylib/examples/textures/textures_sprite_button.c +8 -3
  199. package/vendor/raylib/examples/textures/textures_sprite_explosion.c +8 -3
  200. package/vendor/raylib/examples/textures/textures_srcrec_dstrec.c +8 -3
  201. package/vendor/raylib/examples/textures/textures_to_image.c +8 -3
  202. package/vendor/raylib/parser/LICENSE +1 -1
  203. package/vendor/raylib/parser/Makefile +28 -0
  204. package/vendor/raylib/parser/README.md +49 -5
  205. package/vendor/raylib/parser/output/raylib_api.json +10717 -0
  206. package/vendor/raylib/parser/output/raylib_api.lua +7435 -0
  207. package/vendor/raylib/parser/{raylib_api.txt → output/raylib_api.txt} +1371 -824
  208. package/vendor/raylib/parser/{raylib_api.xml → output/raylib_api.xml} +827 -595
  209. package/vendor/raylib/parser/raylib_parser.c +1174 -196
  210. package/vendor/raylib/projects/4coder/Makefile +2 -4
  211. package/vendor/raylib/projects/4coder/main.c +0 -1
  212. package/vendor/raylib/projects/CMake/CMakeLists.txt +13 -16
  213. package/vendor/raylib/projects/CMake/README.md +27 -0
  214. package/vendor/raylib/projects/CMake/core_basic_window.c +52 -31
  215. package/vendor/raylib/projects/CodeBlocks/README.md +4 -4
  216. package/vendor/raylib/projects/Geany/core_basic_window.c +1 -1
  217. package/vendor/raylib/projects/Notepad++/c_raylib.xml +168 -128
  218. package/vendor/raylib/projects/Notepad++/npes_saved_tcc.txt +0 -0
  219. package/vendor/raylib/projects/Notepad++/npes_saved_w64devkit.txt +0 -0
  220. package/vendor/raylib/projects/Notepad++/npes_saved_zig.txt +0 -0
  221. package/vendor/raylib/projects/Notepad++/raylib_npp_parser/raylib_npp.xml +168 -84
  222. package/vendor/raylib/projects/Notepad++/raylib_npp_parser/raylib_to_parse.h +67 -51
  223. package/vendor/raylib/projects/README.md +1 -1
  224. package/vendor/raylib/projects/VSCode/.vscode/c_cpp_properties.json +1 -1
  225. package/vendor/raylib/projects/VSCode/Makefile +8 -11
  226. package/vendor/raylib/projects/VSCode/main.c +53 -26
  227. package/vendor/raylib/projects/VSCode/resources/LICENSE +1 -0
  228. package/vendor/raylib/projects/scripts/build-linux.sh +6 -6
  229. package/vendor/raylib/projects/scripts/build-osx.sh +6 -6
  230. package/vendor/raylib/projects/scripts/build-rpi.sh +6 -6
  231. package/vendor/raylib/projects/scripts/build-windows.bat +2 -2
  232. package/vendor/raylib/src/CMakeLists.txt +6 -7
  233. package/vendor/raylib/src/Makefile +209 -103
  234. package/vendor/raylib/src/build.zig +56 -20
  235. package/vendor/raylib/src/config.h +32 -27
  236. package/vendor/raylib/src/external/cgltf.h +342 -104
  237. package/vendor/raylib/src/external/dr_wav.h +487 -225
  238. package/vendor/raylib/src/external/glfw/src/posix_time.c +1 -3
  239. package/vendor/raylib/src/external/glfw/src/wl_init.c +1 -3
  240. package/vendor/raylib/src/external/jar_xm.h +2 -1
  241. package/vendor/raylib/src/external/miniaudio.h +62251 -42061
  242. package/vendor/raylib/src/external/qoi.h +671 -0
  243. package/vendor/raylib/src/external/stb_vorbis.h +1 -1
  244. package/vendor/raylib/src/external/vox_loader.h +30 -25
  245. package/vendor/raylib/src/minshell.html +82 -0
  246. package/vendor/raylib/src/raudio.c +359 -201
  247. package/vendor/raylib/src/raylib.dll.rc +5 -5
  248. package/vendor/raylib/src/raylib.dll.rc.data +0 -0
  249. package/vendor/raylib/src/raylib.h +95 -63
  250. package/vendor/raylib/src/raylib.rc +5 -5
  251. package/vendor/raylib/src/raylib.rc.data +0 -0
  252. package/vendor/raylib/src/raymath.h +391 -133
  253. package/vendor/raylib/src/rcamera.h +32 -41
  254. package/vendor/raylib/src/rcore.c +775 -471
  255. package/vendor/raylib/src/rgestures.h +5 -5
  256. package/vendor/raylib/src/rglfw.c +3 -3
  257. package/vendor/raylib/src/rlgl.h +184 -144
  258. package/vendor/raylib/src/rmodels.c +207 -144
  259. package/vendor/raylib/src/rshapes.c +105 -47
  260. package/vendor/raylib/src/rtext.c +255 -38
  261. package/vendor/raylib/src/rtextures.c +167 -71
  262. package/vendor/raylib/src/shell.html +63 -63
  263. package/vendor/raylib/src/utils.c +49 -3
  264. package/vendor/raylib/src/utils.h +3 -3
  265. package/build/qemu/2.1.1/koffi_darwin_arm64.tar.gz +0 -0
  266. package/build/qemu/2.1.1/koffi_darwin_x64.tar.gz +0 -0
  267. package/build/qemu/2.1.1/koffi_freebsd_arm64.tar.gz +0 -0
  268. package/build/qemu/2.1.1/koffi_freebsd_ia32.tar.gz +0 -0
  269. package/build/qemu/2.1.1/koffi_freebsd_x64.tar.gz +0 -0
  270. package/build/qemu/2.1.1/koffi_linux_arm32hf.tar.gz +0 -0
  271. package/build/qemu/2.1.1/koffi_linux_arm64.tar.gz +0 -0
  272. package/build/qemu/2.1.1/koffi_linux_ia32.tar.gz +0 -0
  273. package/build/qemu/2.1.1/koffi_linux_riscv64hf64.tar.gz +0 -0
  274. package/build/qemu/2.1.1/koffi_linux_x64.tar.gz +0 -0
  275. package/build/qemu/2.1.1/koffi_openbsd_ia32.tar.gz +0 -0
  276. package/build/qemu/2.1.1/koffi_openbsd_x64.tar.gz +0 -0
  277. package/build/qemu/2.1.1/koffi_win32_arm64.tar.gz +0 -0
  278. package/build/qemu/2.1.1/koffi_win32_ia32.tar.gz +0 -0
  279. package/build/qemu/2.1.1/koffi_win32_x64.tar.gz +0 -0
  280. package/vendor/raylib/CONTRIBUTORS.md +0 -63
  281. package/vendor/raylib/SPONSORS.md +0 -68
  282. package/vendor/raylib/examples/core/core_quat_conversion.c +0 -132
  283. package/vendor/raylib/examples/core/core_quat_conversion.png +0 -0
  284. package/vendor/raylib/examples/models/resources/models/gltf/AnimatedMorphCube.glb +0 -0
  285. package/vendor/raylib/examples/models/resources/models/gltf/AnimatedTriangle.gltf +0 -118
  286. package/vendor/raylib/examples/models/resources/models/gltf/BoxAnimated.glb +0 -0
  287. package/vendor/raylib/examples/models/resources/models/gltf/girl.glb +0 -0
  288. package/vendor/raylib/examples/models/resources/models/gltf/rigged_figure.glb +0 -0
  289. package/vendor/raylib/examples/models/resources/models/gltf/vertex_colored_object.glb +0 -0
  290. package/vendor/raylib/examples/models/resources/models/iqm/vertex_colored_object.iqm +0 -0
  291. package/vendor/raylib/examples/models/rlights.h +0 -183
  292. package/vendor/raylib/examples/others/raudio_standalone.c +0 -152
  293. package/vendor/raylib/examples/others/resources/audio/country.mp3 +0 -0
  294. package/vendor/raylib/examples/others/resources/audio/target.ogg +0 -0
  295. package/vendor/raylib/examples/others/resources/audio/weird.wav +0 -0
  296. package/vendor/raylib/examples/physics/physics_demo.c +0 -128
  297. package/vendor/raylib/examples/physics/physics_demo.png +0 -0
  298. package/vendor/raylib/examples/physics/physics_friction.c +0 -142
  299. package/vendor/raylib/examples/physics/physics_friction.png +0 -0
  300. package/vendor/raylib/examples/physics/physics_movement.c +0 -128
  301. package/vendor/raylib/examples/physics/physics_movement.png +0 -0
  302. package/vendor/raylib/examples/physics/physics_restitution.c +0 -129
  303. package/vendor/raylib/examples/physics/physics_restitution.png +0 -0
  304. package/vendor/raylib/examples/physics/physics_shatter.c +0 -111
  305. package/vendor/raylib/examples/physics/physics_shatter.png +0 -0
  306. package/vendor/raylib/parser/raylib_api.json +0 -6668
  307. package/vendor/raylib/projects/VS2019/raylib/raylib.rc +0 -0
  308. package/vendor/raylib/projects/VS2019/raylib/resource.h +0 -14
  309. package/vendor/raylib/src/extras/physac.h +0 -1977
  310. package/vendor/raylib/src/extras/rmem.h +0 -751
  311. package/vendor/raylib/src/raudio.h +0 -198
@@ -14,7 +14,7 @@ RLAPI bool IsWindowMaximized(void); // Check if wi
14
14
  RLAPI bool IsWindowFocused(void); // Check if window is currently focused (only PLATFORM_DESKTOP)
15
15
  RLAPI bool IsWindowResized(void); // Check if window has been resized last frame
16
16
  RLAPI bool IsWindowState(unsigned int flag); // Check if one specific window flag is enabled
17
- RLAPI void SetWindowState(unsigned int flags); // Set window configuration state using flags
17
+ RLAPI void SetWindowState(unsigned int flags); // Set window configuration state using flags (only PLATFORM_DESKTOP)
18
18
  RLAPI void ClearWindowState(unsigned int flags); // Clear window configuration state flags
19
19
  RLAPI void ToggleFullscreen(void); // Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP)
20
20
  RLAPI void MaximizeWindow(void); // Set window state: maximized, if resizable (only PLATFORM_DESKTOP)
@@ -26,14 +26,17 @@ RLAPI void SetWindowPosition(int x, int y); // Set window
26
26
  RLAPI void SetWindowMonitor(int monitor); // Set monitor for the current window (fullscreen mode)
27
27
  RLAPI void SetWindowMinSize(int width, int height); // Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE)
28
28
  RLAPI void SetWindowSize(int width, int height); // Set window dimensions
29
+ RLAPI void SetWindowOpacity(float opacity); // Set window opacity [0.0f..1.0f] (only PLATFORM_DESKTOP)
29
30
  RLAPI void *GetWindowHandle(void); // Get native window handle
30
31
  RLAPI int GetScreenWidth(void); // Get current screen width
31
32
  RLAPI int GetScreenHeight(void); // Get current screen height
33
+ RLAPI int GetRenderWidth(void); // Get current render width (it considers HiDPI)
34
+ RLAPI int GetRenderHeight(void); // Get current render height (it considers HiDPI)
32
35
  RLAPI int GetMonitorCount(void); // Get number of connected monitors
33
36
  RLAPI int GetCurrentMonitor(void); // Get current connected monitor
34
37
  RLAPI Vector2 GetMonitorPosition(int monitor); // Get specified monitor position
35
- RLAPI int GetMonitorWidth(int monitor); // Get specified monitor width (max available by monitor)
36
- RLAPI int GetMonitorHeight(int monitor); // Get specified monitor height (max available by monitor)
38
+ RLAPI int GetMonitorWidth(int monitor); // Get specified monitor width (current video mode used by monitor)
39
+ RLAPI int GetMonitorHeight(int monitor); // Get specified monitor height (current video mode used by monitor)
37
40
  RLAPI int GetMonitorPhysicalWidth(int monitor); // Get specified monitor physical width in millimetres
38
41
  RLAPI int GetMonitorPhysicalHeight(int monitor); // Get specified monitor physical height in millimetres
39
42
  RLAPI int GetMonitorRefreshRate(int monitor); // Get specified monitor refresh rate
@@ -42,6 +45,8 @@ RLAPI Vector2 GetWindowScaleDPI(void); // Get window
42
45
  RLAPI const char *GetMonitorName(int monitor); // Get the human-readable, UTF-8 encoded name of the primary monitor
43
46
  RLAPI void SetClipboardText(const char *text); // Set clipboard text content
44
47
  RLAPI const char *GetClipboardText(void); // Get clipboard text content
48
+ RLAPI void EnableEventWaiting(void); // Enable waiting for events on EndDrawing(), no automatic event polling
49
+ RLAPI void DisableEventWaiting(void); // Disable waiting for events on EndDrawing(), automatic events polling
45
50
 
46
51
  // Custom frame control functions
47
52
  // NOTE: Those functions are intended for advance users that want full control over the frame processing
@@ -49,7 +54,7 @@ RLAPI const char *GetClipboardText(void); // Get clipboa
49
54
  // To avoid that behaviour and control frame processes manually, enable in config.h: SUPPORT_CUSTOM_FRAME_CONTROL
50
55
  RLAPI void SwapScreenBuffer(void); // Swap back buffer with front buffer (screen drawing)
51
56
  RLAPI void PollInputEvents(void); // Register all input events
52
- RLAPI void WaitTime(float ms); // Wait for some milliseconds (halt program execution)
57
+ RLAPI void WaitTime(double seconds); // Wait for some time (halt program execution)
53
58
 
54
59
  // Cursor-related functions
55
60
  RLAPI void ShowCursor(void); // Shows cursor
@@ -99,9 +104,9 @@ RLAPI Ray GetMouseRay(Vector2 mousePosition, Camera camera); // Get a ray t
99
104
  RLAPI Matrix GetCameraMatrix(Camera camera); // Get camera transform matrix (view matrix)
100
105
  RLAPI Matrix GetCameraMatrix2D(Camera2D camera); // Get camera 2d transform matrix
101
106
  RLAPI Vector2 GetWorldToScreen(Vector3 position, Camera camera); // Get the screen space position for a 3d world space position
107
+ RLAPI Vector2 GetScreenToWorld2D(Vector2 position, Camera2D camera); // Get the world space position for a 2d camera screen space position
102
108
  RLAPI Vector2 GetWorldToScreenEx(Vector3 position, Camera camera, int width, int height); // Get size position for a 3d world space position
103
109
  RLAPI Vector2 GetWorldToScreen2D(Vector2 position, Camera2D camera); // Get the screen space position for a 2d camera world space position
104
- RLAPI Vector2 GetScreenToWorld2D(Vector2 position, Camera2D camera); // Get the world space position for a 2d camera screen space position
105
110
 
106
111
  // Timing-related functions
107
112
  RLAPI void SetTargetFPS(int fps); // Set target FPS (maximum)
@@ -121,6 +126,8 @@ RLAPI void *MemAlloc(int size); // Internal me
121
126
  RLAPI void *MemRealloc(void *ptr, int size); // Internal memory reallocator
122
127
  RLAPI void MemFree(void *ptr); // Internal memory free
123
128
 
129
+ RLAPI void OpenURL(const char *url); // Open URL with default system browser (if available)
130
+
124
131
  // Set custom callbacks
125
132
  // WARNING: Callbacks setup is intended for advance users
126
133
  RLAPI void SetTraceLogCallback(TraceLogCallback callback); // Set custom trace log
@@ -130,40 +137,39 @@ RLAPI void SetLoadFileTextCallback(LoadFileTextCallback callback); // Set custom
130
137
  RLAPI void SetSaveFileTextCallback(SaveFileTextCallback callback); // Set custom file text data saver
131
138
 
132
139
  // Files management functions
133
- RLAPI unsigned char *LoadFileData(const char *fileName, unsigned int *bytesRead); // Load file data as byte array (read)
140
+ RLAPI unsigned char *LoadFileData(const char *fileName, unsigned int *bytesRead); // Load file data as byte array (read)
134
141
  RLAPI void UnloadFileData(unsigned char *data); // Unload file data allocated by LoadFileData()
135
- RLAPI bool SaveFileData(const char *fileName, void *data, unsigned int bytesToWrite); // Save data to file from byte array (write), returns true on success
142
+ RLAPI bool SaveFileData(const char *fileName, void *data, unsigned int bytesToWrite); // Save data to file from byte array (write), returns true on success
143
+ RLAPI bool ExportDataAsCode(const char *data, unsigned int size, const char *fileName); // Export data to code (.h), returns true on success
136
144
  RLAPI char *LoadFileText(const char *fileName); // Load text data from file (read), returns a '\0' terminated string
137
145
  RLAPI void UnloadFileText(char *text); // Unload file text data allocated by LoadFileText()
138
146
  RLAPI bool SaveFileText(const char *fileName, char *text); // Save text data to file (write), string must be '\0' terminated, returns true on success
139
147
  RLAPI bool FileExists(const char *fileName); // Check if file exists
140
148
  RLAPI bool DirectoryExists(const char *dirPath); // Check if a directory path exists
141
- RLAPI bool IsFileExtension(const char *fileName, const char *ext);// Check file extension (including point: .png, .wav)
149
+ RLAPI bool IsFileExtension(const char *fileName, const char *ext); // Check file extension (including point: .png, .wav)
150
+ RLAPI int GetFileLength(const char *fileName); // Get file length in bytes (NOTE: GetFileSize() conflicts with windows.h)
142
151
  RLAPI const char *GetFileExtension(const char *fileName); // Get pointer to extension for a filename string (includes dot: '.png')
143
152
  RLAPI const char *GetFileName(const char *filePath); // Get pointer to filename for a path string
144
153
  RLAPI const char *GetFileNameWithoutExt(const char *filePath); // Get filename string without extension (uses static string)
145
154
  RLAPI const char *GetDirectoryPath(const char *filePath); // Get full path for a given fileName with path (uses static string)
146
155
  RLAPI const char *GetPrevDirectoryPath(const char *dirPath); // Get previous directory path for a given path (uses static string)
147
156
  RLAPI const char *GetWorkingDirectory(void); // Get current working directory (uses static string)
148
- RLAPI char **GetDirectoryFiles(const char *dirPath, int *count); // Get filenames in a directory path (memory should be freed)
149
- RLAPI void ClearDirectoryFiles(void); // Clear directory files paths buffers (free memory)
157
+ RLAPI const char *GetApplicationDirectory(void); // Get the directory if the running application (uses static string)
150
158
  RLAPI bool ChangeDirectory(const char *dir); // Change working directory, return true on success
159
+ RLAPI bool IsPathFile(const char *path); // Check if a given path is a file or a directory
160
+ RLAPI FilePathList LoadDirectoryFiles(const char *dirPath); // Load directory filepaths
161
+ RLAPI FilePathList LoadDirectoryFilesEx(const char *basePath, const char *filter, bool scanSubdirs); // Load directory filepaths with extension filtering and recursive directory scan
162
+ RLAPI void UnloadDirectoryFiles(FilePathList files); // Unload filepaths
151
163
  RLAPI bool IsFileDropped(void); // Check if a file has been dropped into window
152
- RLAPI char **GetDroppedFiles(int *count); // Get dropped files names (memory should be freed)
153
- RLAPI void ClearDroppedFiles(void); // Clear dropped files paths buffer (free memory)
164
+ RLAPI FilePathList LoadDroppedFiles(void); // Load dropped filepaths
165
+ RLAPI void UnloadDroppedFiles(FilePathList files); // Unload dropped filepaths
154
166
  RLAPI long GetFileModTime(const char *fileName); // Get file modification time (last write time)
155
167
 
156
168
  // Compression/Encoding functionality
157
- RLAPI unsigned char *CompressData(unsigned char *data, int dataLength, int *compDataLength); // Compress data (DEFLATE algorithm)
158
- RLAPI unsigned char *DecompressData(unsigned char *compData, int compDataLength, int *dataLength); // Decompress data (DEFLATE algorithm)
159
- RLAPI char *EncodeDataBase64(const unsigned char *data, int dataLength, int *outputLength); // Encode data to Base64 string
160
- RLAPI unsigned char *DecodeDataBase64(unsigned char *data, int *outputLength); // Decode Base64 string data
161
-
162
- // Persistent storage management
163
- RLAPI bool SaveStorageValue(unsigned int position, int value); // Save integer value to storage file (to defined position), returns true on success
164
- RLAPI int LoadStorageValue(unsigned int position); // Load integer value from storage file (from defined position)
165
-
166
- RLAPI void OpenURL(const char *url); // Open URL with default system browser (if available)
169
+ RLAPI unsigned char *CompressData(const unsigned char *data, int dataSize, int *compDataSize); // Compress data (DEFLATE algorithm), memory must be MemFree()
170
+ RLAPI unsigned char *DecompressData(const unsigned char *compData, int compDataSize, int *dataSize); // Decompress data (DEFLATE algorithm), memory must be MemFree()
171
+ RLAPI char *EncodeDataBase64(const unsigned char *data, int dataSize, int *outputSize); // Encode data to Base64 string, memory must be MemFree()
172
+ RLAPI unsigned char *DecodeDataBase64(const unsigned char *data, int *outputSize); // Decode Base64 string data, memory must be MemFree()
167
173
 
168
174
  //------------------------------------------------------------------------------------
169
175
  // Input Handling Functions (Module: core)
@@ -202,7 +208,8 @@ RLAPI Vector2 GetMouseDelta(void); // Get mouse delta
202
208
  RLAPI void SetMousePosition(int x, int y); // Set mouse position XY
203
209
  RLAPI void SetMouseOffset(int offsetX, int offsetY); // Set mouse offset
204
210
  RLAPI void SetMouseScale(float scaleX, float scaleY); // Set mouse scaling
205
- RLAPI float GetMouseWheelMove(void); // Get mouse wheel movement Y
211
+ RLAPI float GetMouseWheelMove(void); // Get mouse wheel movement for X or Y, whichever is larger
212
+ RLAPI Vector2 GetMouseWheelMoveV(void); // Get mouse wheel movement for both X and Y
206
213
  RLAPI void SetMouseCursor(int cursor); // Set mouse cursor
207
214
 
208
215
  // Input-related functions: touch
@@ -391,10 +398,10 @@ RLAPI void DrawTextureV(Texture2D texture, Vector2 position, Color tint);
391
398
  RLAPI void DrawTextureEx(Texture2D texture, Vector2 position, float rotation, float scale, Color tint); // Draw a Texture2D with extended parameters
392
399
  RLAPI void DrawTextureRec(Texture2D texture, Rectangle source, Vector2 position, Color tint); // Draw a part of a texture defined by a rectangle
393
400
  RLAPI void DrawTextureQuad(Texture2D texture, Vector2 tiling, Vector2 offset, Rectangle quad, Color tint); // Draw texture quad with tiling and offset parameters
394
- RLAPI void DrawTextureTiled(Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, float scale, Color tint); // Draw part of a texture (defined by a rectangle) with rotation and scale tiled into dest.
401
+ RLAPI void DrawTextureTiled(Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, float scale, Color tint); // Draw part of a texture (defined by a rectangle) with rotation and scale tiled into dest.
395
402
  RLAPI void DrawTexturePro(Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, Color tint); // Draw a part of a texture defined by a rectangle with 'pro' parameters
396
403
  RLAPI void DrawTextureNPatch(Texture2D texture, NPatchInfo nPatchInfo, Rectangle dest, Vector2 origin, float rotation, Color tint); // Draws a texture (or part of it) that stretches or shrinks nicely
397
- RLAPI void DrawTexturePoly(Texture2D texture, Vector2 center, Vector2 *points, Vector2 *texcoords, int pointCount, Color tint); // Draw a textured polygon
404
+ RLAPI void DrawTexturePoly(Texture2D texture, Vector2 center, Vector2 *points, Vector2 *texcoords, int pointCount, Color tint); // Draw a textured polygon
398
405
 
399
406
  // Color/pixel related functions
400
407
  RLAPI Color Fade(Color color, float alpha); // Get color with alpha applied, alpha goes from 0.0f to 1.0f
@@ -417,20 +424,22 @@ RLAPI int GetPixelDataSize(int width, int height, int format); // G
417
424
  // Font loading/unloading functions
418
425
  RLAPI Font GetFontDefault(void); // Get the default Font
419
426
  RLAPI Font LoadFont(const char *fileName); // Load font from file into GPU memory (VRAM)
420
- RLAPI Font LoadFontEx(const char *fileName, int fontSize, int *fontChars, int glyphCount); // Load font from file with extended parameters
427
+ RLAPI Font LoadFontEx(const char *fileName, int fontSize, int *fontChars, int glyphCount); // Load font from file with extended parameters, use NULL for fontChars and 0 for glyphCount to load the default character set
421
428
  RLAPI Font LoadFontFromImage(Image image, Color key, int firstChar); // Load font from Image (XNA style)
422
429
  RLAPI Font LoadFontFromMemory(const char *fileType, const unsigned char *fileData, int dataSize, int fontSize, int *fontChars, int glyphCount); // Load font from memory buffer, fileType refers to extension: i.e. '.ttf'
423
- RLAPI GlyphInfo *LoadFontData(const unsigned char *fileData, int dataSize, int fontSize, int *fontChars, int glyphCount, int type); // Load font data for further use
424
- RLAPI Image GenImageFontAtlas(const GlyphInfo *chars, Rectangle **recs, int glyphCount, int fontSize, int padding, int packMethod); // Generate image font atlas using chars info
425
- RLAPI void UnloadFontData(GlyphInfo *chars, int glyphCount); // Unload font chars info data (RAM)
426
- RLAPI void UnloadFont(Font font); // Unload Font from GPU memory (VRAM)
430
+ RLAPI GlyphInfo *LoadFontData(const unsigned char *fileData, int dataSize, int fontSize, int *fontChars, int glyphCount, int type); // Load font data for further use
431
+ RLAPI Image GenImageFontAtlas(const GlyphInfo *chars, Rectangle **recs, int glyphCount, int fontSize, int padding, int packMethod); // Generate image font atlas using chars info
432
+ RLAPI void UnloadFontData(GlyphInfo *chars, int glyphCount); // Unload font chars info data (RAM)
433
+ RLAPI void UnloadFont(Font font); // Unload font from GPU memory (VRAM)
434
+ RLAPI bool ExportFontAsCode(Font font, const char *fileName); // Export font as code file, returns true on success
427
435
 
428
436
  // Text drawing functions
429
437
  RLAPI void DrawFPS(int posX, int posY); // Draw current FPS
430
438
  RLAPI void DrawText(const char *text, int posX, int posY, int fontSize, Color color); // Draw text (using default font)
431
- RLAPI void DrawTextEx(Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint); // Draw text using font and additional parameters
439
+ RLAPI void DrawTextEx(Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint); // Draw text using font and additional parameters
432
440
  RLAPI void DrawTextPro(Font font, const char *text, Vector2 position, Vector2 origin, float rotation, float fontSize, float spacing, Color tint); // Draw text using Font and pro parameters (rotation)
433
- RLAPI void DrawTextCodepoint(Font font, int codepoint, Vector2 position, float fontSize, Color tint); // Draw one character (codepoint)
441
+ RLAPI void DrawTextCodepoint(Font font, int codepoint, Vector2 position, float fontSize, Color tint); // Draw one character (codepoint)
442
+ RLAPI void DrawTextCodepoints(Font font, const int *codepoints, int count, Vector2 position, float fontSize, float spacing, Color tint); // Draw multiple character (codepoint)
434
443
 
435
444
  // Text font info functions
436
445
  RLAPI int MeasureText(const char *text, int fontSize); // Measure string width for default font
@@ -445,7 +454,7 @@ RLAPI void UnloadCodepoints(int *codepoints); // Unload
445
454
  RLAPI int GetCodepointCount(const char *text); // Get total number of codepoints in a UTF-8 encoded string
446
455
  RLAPI int GetCodepoint(const char *text, int *bytesProcessed); // Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure
447
456
  RLAPI const char *CodepointToUTF8(int codepoint, int *byteSize); // Encode one codepoint into UTF-8 byte array (array length returned as parameter)
448
- RLAPI char *TextCodepointsToUTF8(int *codepoints, int length); // Encode text as codepoints array into UTF-8 text string (WARNING: memory must be freed!)
457
+ RLAPI char *TextCodepointsToUTF8(const int *codepoints, int length); // Encode text as codepoints array into UTF-8 text string (WARNING: memory must be freed!)
449
458
 
450
459
  // Text strings management functions (no UTF-8 strings, only byte chars)
451
460
  // NOTE: Some strings allocate memory internally for returned strings, just be careful!
@@ -474,7 +483,7 @@ RLAPI void DrawLine3D(Vector3 startPos, Vector3 endPos, Color color);
474
483
  RLAPI void DrawPoint3D(Vector3 position, Color color); // Draw a point in 3D space, actually a small line
475
484
  RLAPI void DrawCircle3D(Vector3 center, float radius, Vector3 rotationAxis, float rotationAngle, Color color); // Draw a circle in 3D world space
476
485
  RLAPI void DrawTriangle3D(Vector3 v1, Vector3 v2, Vector3 v3, Color color); // Draw a color-filled triangle (vertex in counter-clockwise order!)
477
- RLAPI void DrawTriangleStrip3D(Vector3 *points, int pointCount, Color color); // Draw a triangle strip defined by points
486
+ RLAPI void DrawTriangleStrip3D(Vector3 *points, int pointCount, Color color); // Draw a triangle strip defined by points
478
487
  RLAPI void DrawCube(Vector3 position, float width, float height, float length, Color color); // Draw cube
479
488
  RLAPI void DrawCubeV(Vector3 position, Vector3 size, Color color); // Draw cube (Vector version)
480
489
  RLAPI void DrawCubeWires(Vector3 position, float width, float height, float length, Color color); // Draw cube wires
@@ -515,14 +524,13 @@ RLAPI void DrawBillboardPro(Camera camera, Texture2D texture, Rectangle source,
515
524
 
516
525
  // Mesh management functions
517
526
  RLAPI void UploadMesh(Mesh *mesh, bool dynamic); // Upload mesh vertex data in GPU and provide VAO/VBO ids
518
- RLAPI void UpdateMeshBuffer(Mesh mesh, int index, void *data, int dataSize, int offset); // Update mesh vertex data in GPU for a specific buffer index
527
+ RLAPI void UpdateMeshBuffer(Mesh mesh, int index, const void *data, int dataSize, int offset); // Update mesh vertex data in GPU for a specific buffer index
519
528
  RLAPI void UnloadMesh(Mesh mesh); // Unload mesh data from CPU and GPU
520
529
  RLAPI void DrawMesh(Mesh mesh, Material material, Matrix transform); // Draw a 3d mesh with material and transform
521
- RLAPI void DrawMeshInstanced(Mesh mesh, Material material, Matrix *transforms, int instances); // Draw multiple mesh instances with material and different transforms
530
+ RLAPI void DrawMeshInstanced(Mesh mesh, Material material, const Matrix *transforms, int instances); // Draw multiple mesh instances with material and different transforms
522
531
  RLAPI bool ExportMesh(Mesh mesh, const char *fileName); // Export mesh data to file, returns true on success
523
532
  RLAPI BoundingBox GetMeshBoundingBox(Mesh mesh); // Compute mesh bounding box limits
524
533
  RLAPI void GenMeshTangents(Mesh *mesh); // Compute mesh tangents
525
- RLAPI void GenMeshBinormals(Mesh *mesh); // Compute mesh binormals
526
534
 
527
535
  // Mesh generation functions
528
536
  RLAPI Mesh GenMeshPoly(int sides, float radius); // Generate polygonal mesh
@@ -548,23 +556,23 @@ RLAPI void SetModelMeshMaterial(Model *model, int meshId, int materialId);
548
556
  RLAPI ModelAnimation *LoadModelAnimations(const char *fileName, unsigned int *animCount); // Load model animations from file
549
557
  RLAPI void UpdateModelAnimation(Model model, ModelAnimation anim, int frame); // Update model animation pose
550
558
  RLAPI void UnloadModelAnimation(ModelAnimation anim); // Unload animation data
551
- RLAPI void UnloadModelAnimations(ModelAnimation* animations, unsigned int count); // Unload animation array data
559
+ RLAPI void UnloadModelAnimations(ModelAnimation *animations, unsigned int count); // Unload animation array data
552
560
  RLAPI bool IsModelAnimationValid(Model model, ModelAnimation anim); // Check model animation skeleton match
553
561
 
554
562
  // Collision detection functions
555
- RLAPI bool CheckCollisionSpheres(Vector3 center1, float radius1, Vector3 center2, float radius2); // Check collision between two spheres
556
- RLAPI bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2); // Check collision between two bounding boxes
557
- RLAPI bool CheckCollisionBoxSphere(BoundingBox box, Vector3 center, float radius); // Check collision between box and sphere
558
- RLAPI RayCollision GetRayCollisionSphere(Ray ray, Vector3 center, float radius); // Get collision info between ray and sphere
559
- RLAPI RayCollision GetRayCollisionBox(Ray ray, BoundingBox box); // Get collision info between ray and box
560
- RLAPI RayCollision GetRayCollisionModel(Ray ray, Model model); // Get collision info between ray and model
561
- RLAPI RayCollision GetRayCollisionMesh(Ray ray, Mesh mesh, Matrix transform); // Get collision info between ray and mesh
562
- RLAPI RayCollision GetRayCollisionTriangle(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3); // Get collision info between ray and triangle
563
- RLAPI RayCollision GetRayCollisionQuad(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3, Vector3 p4); // Get collision info between ray and quad
563
+ RLAPI bool CheckCollisionSpheres(Vector3 center1, float radius1, Vector3 center2, float radius2); // Check collision between two spheres
564
+ RLAPI bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2); // Check collision between two bounding boxes
565
+ RLAPI bool CheckCollisionBoxSphere(BoundingBox box, Vector3 center, float radius); // Check collision between box and sphere
566
+ RLAPI RayCollision GetRayCollisionSphere(Ray ray, Vector3 center, float radius); // Get collision info between ray and sphere
567
+ RLAPI RayCollision GetRayCollisionBox(Ray ray, BoundingBox box); // Get collision info between ray and box
568
+ RLAPI RayCollision GetRayCollisionMesh(Ray ray, Mesh mesh, Matrix transform); // Get collision info between ray and mesh
569
+ RLAPI RayCollision GetRayCollisionTriangle(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3); // Get collision info between ray and triangle
570
+ RLAPI RayCollision GetRayCollisionQuad(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3, Vector3 p4); // Get collision info between ray and quad
564
571
 
565
572
  //------------------------------------------------------------------------------------
566
573
  // Audio Loading and Playing Functions (Module: audio)
567
574
  //------------------------------------------------------------------------------------
575
+ typedef void (*AudioCallback)(void *bufferData, unsigned int frames);
568
576
 
569
577
  // Audio device management functions
570
578
  RLAPI void InitAudioDevice(void); // Initialize audio device and context
@@ -594,15 +602,16 @@ RLAPI int GetSoundsPlaying(void); // Get num
594
602
  RLAPI bool IsSoundPlaying(Sound sound); // Check if a sound is currently playing
595
603
  RLAPI void SetSoundVolume(Sound sound, float volume); // Set volume for a sound (1.0 is max level)
596
604
  RLAPI void SetSoundPitch(Sound sound, float pitch); // Set pitch for a sound (1.0 is base level)
597
- RLAPI void WaveFormat(Wave *wave, int sampleRate, int sampleSize, int channels); // Convert wave data to desired format
605
+ RLAPI void SetSoundPan(Sound sound, float pan); // Set pan for a sound (0.5 is center)
598
606
  RLAPI Wave WaveCopy(Wave wave); // Copy a wave to a new wave
599
607
  RLAPI void WaveCrop(Wave *wave, int initSample, int finalSample); // Crop a wave to defined samples range
600
- RLAPI float *LoadWaveSamples(Wave wave); // Load samples data from wave as a floats array
608
+ RLAPI void WaveFormat(Wave *wave, int sampleRate, int sampleSize, int channels); // Convert wave data to desired format
609
+ RLAPI float *LoadWaveSamples(Wave wave); // Load samples data from wave as a 32bit float data array
601
610
  RLAPI void UnloadWaveSamples(float *samples); // Unload samples data loaded with LoadWaveSamples()
602
611
 
603
612
  // Music management functions
604
613
  RLAPI Music LoadMusicStream(const char *fileName); // Load music stream from file
605
- RLAPI Music LoadMusicStreamFromMemory(const char *fileType, unsigned char *data, int dataSize); // Load music stream from data
614
+ RLAPI Music LoadMusicStreamFromMemory(const char *fileType, const unsigned char *data, int dataSize); // Load music stream from data
606
615
  RLAPI void UnloadMusicStream(Music music); // Unload music stream
607
616
  RLAPI void PlayMusicStream(Music music); // Start music playing
608
617
  RLAPI bool IsMusicStreamPlaying(Music music); // Check if music is playing
@@ -613,12 +622,13 @@ RLAPI void ResumeMusicStream(Music music); // Resume
613
622
  RLAPI void SeekMusicStream(Music music, float position); // Seek music to a position (in seconds)
614
623
  RLAPI void SetMusicVolume(Music music, float volume); // Set volume for music (1.0 is max level)
615
624
  RLAPI void SetMusicPitch(Music music, float pitch); // Set pitch for a music (1.0 is base level)
625
+ RLAPI void SetMusicPan(Music music, float pan); // Set pan for a music (0.5 is center)
616
626
  RLAPI float GetMusicTimeLength(Music music); // Get music time length (in seconds)
617
627
  RLAPI float GetMusicTimePlayed(Music music); // Get current music time played (in seconds)
618
628
 
619
629
  // AudioStream management functions
620
630
  RLAPI AudioStream LoadAudioStream(unsigned int sampleRate, unsigned int sampleSize, unsigned int channels); // Load audio stream (to stream raw audio pcm data)
621
- RLAPI void UnloadAudioStream(AudioStream stream); // Unload audio stream and free memory
631
+ RLAPI void UnloadAudioStream(AudioStream stream); // Unload audio stream and free memory
622
632
  RLAPI void UpdateAudioStream(AudioStream stream, const void *data, int frameCount); // Update audio stream buffers with data
623
633
  RLAPI bool IsAudioStreamProcessed(AudioStream stream); // Check if any audio stream buffers requires refill
624
634
  RLAPI void PlayAudioStream(AudioStream stream); // Play audio stream
@@ -628,4 +638,10 @@ RLAPI bool IsAudioStreamPlaying(AudioStream stream); // Check i
628
638
  RLAPI void StopAudioStream(AudioStream stream); // Stop audio stream
629
639
  RLAPI void SetAudioStreamVolume(AudioStream stream, float volume); // Set volume for audio stream (1.0 is max level)
630
640
  RLAPI void SetAudioStreamPitch(AudioStream stream, float pitch); // Set pitch for audio stream (1.0 is base level)
641
+ RLAPI void SetAudioStreamPan(AudioStream stream, float pan); // Set pan for audio stream (0.5 is centered)
631
642
  RLAPI void SetAudioStreamBufferSizeDefault(int size); // Default size for new audio streams
643
+ RLAPI void SetAudioStreamCallback(AudioStream stream, AudioCallback callback); // Audio thread callback to request new data
644
+
645
+ RLAPI void AttachAudioStreamProcessor(AudioStream stream, AudioCallback processor); // Attach audio stream processor to stream
646
+ RLAPI void DetachAudioStreamProcessor(AudioStream stream, AudioCallback processor); // Detach audio stream processor from stream
647
+
@@ -6,7 +6,7 @@ IDE | Platform(s) | Source | Example(s)
6
6
  ----| ------------| :-------: | :-----:
7
7
  [4coder](http://4coder.net/) | Windows | ❌ | ✔️
8
8
  [Builder](https://wiki.gnome.org/Apps/Builder) | Linux | ❌ | ✔️
9
- [CMake](https://cmake.org/) | Windows, Linux, macOS | ✔️ | ✔️
9
+ [CMake](https://cmake.org/) | Windows, Linux, macOS, Web | ✔️ | ✔️
10
10
  [CodeBlocks](http://www.codeblocks.org/) | Windows, Linux, macOS | ❌ | ✔️
11
11
  [Geany](https://www.geany.org/) | Windows, Linux | ✔️ | ✔️
12
12
  [Notepad++](https://notepad-plus-plus.org/) | Windows | ✔️ | ✔️
@@ -52,7 +52,7 @@
52
52
  "GRAPHICS_API_OPENGL_33",
53
53
  "PLATFORM_DESKTOP"
54
54
  ],
55
- "compilerPath": "usr/bin/clang",
55
+ "compilerPath": "/usr/bin/clang",
56
56
  "cStandard": "c11",
57
57
  "cppStandard": "c++14",
58
58
  "intelliSenseMode": "clang-x64"
@@ -25,7 +25,7 @@
25
25
 
26
26
  # Define required raylib variables
27
27
  PROJECT_NAME ?= game
28
- RAYLIB_VERSION ?= 4.0.0
28
+ RAYLIB_VERSION ?= 4.2.0
29
29
  RAYLIB_PATH ?= ..\..
30
30
 
31
31
  # Define compiler path on Windows
@@ -117,13 +117,12 @@ endif
117
117
 
118
118
  ifeq ($(PLATFORM),PLATFORM_WEB)
119
119
  # Emscripten required variables
120
- EMSDK_PATH ?= C:/emsdk
121
- EMSCRIPTEN_VERSION ?= 1.38.31
122
- CLANG_VERSION = e$(EMSCRIPTEN_VERSION)_64bit
123
- PYTHON_VERSION = 2.7.13.1_64bit\python-2.7.13.amd64
124
- NODE_VERSION = 8.9.1_64bit
125
- export PATH = $(EMSDK_PATH);$(EMSDK_PATH)\clang\$(CLANG_VERSION);$(EMSDK_PATH)\node\$(NODE_VERSION)\bin;$(EMSDK_PATH)\python\$(PYTHON_VERSION);$(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION);C:\raylib\MinGW\bin:$$(PATH)
126
- EMSCRIPTEN = $(EMSDK_PATH)\emscripten\$(EMSCRIPTEN_VERSION)
120
+ EMSDK_PATH ?= C:/emsdk
121
+ EMSCRIPTEN_PATH ?= $(EMSDK_PATH)/upstream/emscripten
122
+ CLANG_PATH = $(EMSDK_PATH)/upstream/bin
123
+ PYTHON_PATH = $(EMSDK_PATH)/python/3.9.2-1_64bit
124
+ NODE_PATH = $(EMSDK_PATH)/node/14.18.2_64bit/bin
125
+ export PATH = $(EMSDK_PATH);$(EMSCRIPTEN_PATH);$(CLANG_PATH);$(NODE_PATH);$(PYTHON_PATH):$$(PATH)
127
126
  endif
128
127
 
129
128
  # Define raylib release directory for compiled library.
@@ -297,8 +296,6 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
297
296
  # Libraries for Windows desktop compilation
298
297
  # NOTE: WinMM library required to set high-res timer resolution
299
298
  LDLIBS = -lraylib -lopengl32 -lgdi32 -lwinmm
300
- # Required for physac examples
301
- #LDLIBS += -static -lpthread
302
299
  endif
303
300
  ifeq ($(PLATFORM_OS),LINUX)
304
301
  # Libraries for Debian GNU/Linux desktop compiling
@@ -344,7 +341,7 @@ ifeq ($(PLATFORM),PLATFORM_RPI)
344
341
  endif
345
342
  ifeq ($(PLATFORM),PLATFORM_WEB)
346
343
  # Libraries for web (HTML5) compiling
347
- LDLIBS = $(RAYLIB_RELEASE_PATH)/libraylib.bc
344
+ LDLIBS = $(RAYLIB_RELEASE_PATH)/libraylib.a
348
345
  endif
349
346
 
350
347
  # Define a recursive wildcard function
@@ -15,12 +15,30 @@
15
15
  * This example has been created using raylib 1.0 (www.raylib.com)
16
16
  * raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details)
17
17
  *
18
- * Copyright (c) 2013-2020 Ramon Santamaria (@raysan5)
18
+ * Copyright (c) 2013-2022 Ramon Santamaria (@raysan5)
19
19
  *
20
20
  ********************************************************************************************/
21
21
 
22
22
  #include "raylib.h"
23
23
 
24
+ #if defined(PLATFORM_WEB)
25
+ #include <emscripten/emscripten.h>
26
+ #endif
27
+
28
+ //----------------------------------------------------------------------------------
29
+ // Local Variables Definition (local to this module)
30
+ //----------------------------------------------------------------------------------
31
+ Camera camera = { 0 };
32
+ Vector3 cubePosition = { 0 };
33
+
34
+ //----------------------------------------------------------------------------------
35
+ // Local Functions Declaration
36
+ //----------------------------------------------------------------------------------
37
+ static void UpdateDrawFrame(void); // Update and draw one frame
38
+
39
+ //----------------------------------------------------------------------------------
40
+ // Main entry point
41
+ //----------------------------------------------------------------------------------
24
42
  int main()
25
43
  {
26
44
  // Initialization
@@ -30,7 +48,6 @@ int main()
30
48
 
31
49
  InitWindow(screenWidth, screenHeight, "raylib");
32
50
 
33
- Camera camera = { 0 };
34
51
  camera.position = (Vector3){ 10.0f, 10.0f, 8.0f };
35
52
  camera.target = (Vector3){ 0.0f, 0.0f, 0.0f };
36
53
  camera.up = (Vector3){ 0.0f, 1.0f, 0.0f };
@@ -39,45 +56,55 @@ int main()
39
56
 
40
57
  SetCameraMode(camera, CAMERA_ORBITAL);
41
58
 
42
- Vector3 cubePosition = { 0 };
59
+ //--------------------------------------------------------------------------------------
43
60
 
61
+ #if defined(PLATFORM_WEB)
62
+ emscripten_set_main_loop(UpdateDrawFrame, 60, 1);
63
+ #else
44
64
  SetTargetFPS(60); // Set our game to run at 60 frames-per-second
45
65
  //--------------------------------------------------------------------------------------
46
66
 
47
67
  // Main game loop
48
68
  while (!WindowShouldClose()) // Detect window close button or ESC key
49
69
  {
50
- // Update
51
- //----------------------------------------------------------------------------------
52
- UpdateCamera(&camera);
53
- //----------------------------------------------------------------------------------
70
+ UpdateDrawFrame();
71
+ }
72
+ #endif
73
+
74
+ // De-Initialization
75
+ //--------------------------------------------------------------------------------------
76
+ CloseWindow(); // Close window and OpenGL context
77
+ //--------------------------------------------------------------------------------------
54
78
 
55
- // Draw
56
- //----------------------------------------------------------------------------------
57
- BeginDrawing();
79
+ return 0;
80
+ }
58
81
 
59
- ClearBackground(RAYWHITE);
82
+ // Update and draw game frame
83
+ static void UpdateDrawFrame(void)
84
+ {
85
+ // Update
86
+ //----------------------------------------------------------------------------------
87
+ UpdateCamera(&camera);
88
+ //----------------------------------------------------------------------------------
60
89
 
61
- BeginMode3D(camera);
90
+ // Draw
91
+ //----------------------------------------------------------------------------------
92
+ BeginDrawing();
62
93
 
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);
94
+ ClearBackground(RAYWHITE);
66
95
 
67
- EndMode3D();
96
+ BeginMode3D(camera);
68
97
 
69
- DrawText("This is a raylib example", 10, 40, 20, DARKGRAY);
98
+ DrawCube(cubePosition, 2.0f, 2.0f, 2.0f, RED);
99
+ DrawCubeWires(cubePosition, 2.0f, 2.0f, 2.0f, MAROON);
100
+ DrawGrid(10, 1.0f);
70
101
 
71
- DrawFPS(10, 10);
102
+ EndMode3D();
72
103
 
73
- EndDrawing();
74
- //----------------------------------------------------------------------------------
75
- }
104
+ DrawText("This is a raylib example", 10, 40, 20, DARKGRAY);
76
105
 
77
- // De-Initialization
78
- //--------------------------------------------------------------------------------------
79
- CloseWindow(); // Close window and OpenGL context
80
- //--------------------------------------------------------------------------------------
106
+ DrawFPS(10, 10);
81
107
 
82
- return 0;
108
+ EndDrawing();
109
+ //----------------------------------------------------------------------------------
83
110
  }
@@ -0,0 +1 @@
1
+ Assets license.
@@ -24,7 +24,7 @@ set -e
24
24
  while getopts ":hdusrcq" opt; do
25
25
  case $opt in
26
26
  h)
27
- echo "Usage: ./linux-build.sh [-hdusrcqq]"
27
+ echo "Usage: ./build-linux.sh [-hdusrcqq]"
28
28
  echo " -h Show this information"
29
29
  echo " -d Faster builds that have debug symbols, and enable warnings"
30
30
  echo " -u Run upx* on the executable after compilation (before -r)"
@@ -39,10 +39,10 @@ while getopts ":hdusrcq" opt; do
39
39
  echo " requires that you have upx installed and on your path, of course."
40
40
  echo ""
41
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"
42
+ echo " Build a release build: ./build-linux.sh"
43
+ echo " Build a release build, full recompile: ./build-linux.sh -c"
44
+ echo " Build a debug build and run: ./build-linux.sh -d -r"
45
+ echo " Build in debug, run, don't print at all: ./build-linux.sh -drqq"
46
46
  exit 0
47
47
  ;;
48
48
  d)
@@ -128,7 +128,7 @@ if [ ! -d "$TEMP_DIR" ]; then
128
128
  else
129
129
  $CC -c $RAYLIB_DEFINES $RAYLIB_INCLUDE_FLAGS $COMPILATION_FLAGS $RAYLIB_C_FILES
130
130
  fi
131
- [ -z "$QUIET" ] && echo "COMPILE-INFO: Raylib compiled into object files in: $TEMP_DIR/"
131
+ [ -z "$QUIET" ] && echo "COMPILE-INFO: raylib compiled into object files in: $TEMP_DIR/"
132
132
  cd $ROOT_DIR
133
133
  fi
134
134
 
@@ -24,7 +24,7 @@ set -e
24
24
  while getopts ":hdusrcq" opt; do
25
25
  case $opt in
26
26
  h)
27
- echo "Usage: ./osx-build.sh [-hdusrcqq]"
27
+ echo "Usage: ./build-osx.sh [-hdusrcqq]"
28
28
  echo " -h Show this information"
29
29
  echo " -d Faster builds that have debug symbols, and enable warnings"
30
30
  echo " -u Run upx* on the executable after compilation (before -r)"
@@ -39,10 +39,10 @@ while getopts ":hdusrcq" opt; do
39
39
  echo " requires that you have upx installed and on your path, of course."
40
40
  echo ""
41
41
  echo "Examples:"
42
- echo " Build a release build: ./osx-build.sh"
43
- echo " Build a release build, full recompile: ./osx-build.sh -c"
44
- echo " Build a debug build and run: ./osx-build.sh -d -r"
45
- echo " Build in debug, run, don't print at all: ./osx-build.sh -drqq"
42
+ echo " Build a release build: ./build-osx.sh"
43
+ echo " Build a release build, full recompile: ./build-osx.sh -c"
44
+ echo " Build a debug build and run: ./build-osx.sh -d -r"
45
+ echo " Build in debug, run, don't print at all: ./build-osx.sh -drqq"
46
46
  exit 0
47
47
  ;;
48
48
  d)
@@ -130,7 +130,7 @@ if [ ! -d "$TEMP_DIR" ]; then
130
130
  $CC -c $RAYLIB_DEFINES $RAYLIB_INCLUDE_FLAGS $COMPILATION_FLAGS -x objective-c $RAYLIB_SRC/rglfw.c
131
131
  $CC -c $RAYLIB_DEFINES $RAYLIB_INCLUDE_FLAGS $COMPILATION_FLAGS $RAYLIB_C_FILES
132
132
  fi
133
- [ -z "$QUIET" ] && echo "COMPILE-INFO: Raylib compiled into object files in: $TEMP_DIR/"
133
+ [ -z "$QUIET" ] && echo "COMPILE-INFO: raylib compiled into object files in: $TEMP_DIR/"
134
134
  cd $ROOT_DIR
135
135
  fi
136
136
 
@@ -24,7 +24,7 @@ set -e
24
24
  while getopts ":hdusrcq" opt; do
25
25
  case $opt in
26
26
  h)
27
- echo "Usage: ./linux-build.sh [-hdusrcqq]"
27
+ echo "Usage: ./build-rpi.sh [-hdusrcqq]"
28
28
  echo " -h Show this information"
29
29
  echo " -d Faster builds that have debug symbols, and enable warnings"
30
30
  echo " -u Run upx* on the executable after compilation (before -r)"
@@ -39,10 +39,10 @@ while getopts ":hdusrcq" opt; do
39
39
  echo " requires that you have upx installed and on your path, of course."
40
40
  echo ""
41
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"
42
+ echo " Build a release build: ./build-rpi.sh"
43
+ echo " Build a release build, full recompile: ./build-rpi.sh -c"
44
+ echo " Build a debug build and run: ./build-rpi.sh -d -r"
45
+ echo " Build in debug, run, don't print at all: ./build-rpi.sh -drqq"
46
46
  exit 0
47
47
  ;;
48
48
  d)
@@ -128,7 +128,7 @@ if [ ! -d "$TEMP_DIR" ]; then
128
128
  else
129
129
  $CC -c $RAYLIB_DEFINES $RAYLIB_INCLUDE_FLAGS $COMPILATION_FLAGS $RAYLIB_C_FILES
130
130
  fi
131
- [ -z "$QUIET" ] && echo "COMPILE-INFO: Raylib compiled into object files in: $TEMP_DIR/"
131
+ [ -z "$QUIET" ] && echo "COMPILE-INFO: raylib compiled into object files in: $TEMP_DIR/"
132
132
  cd $ROOT_DIR
133
133
  fi
134
134
 
@@ -165,7 +165,7 @@ REM Build raylib if it hasn't been cached in TEMP_DIR
165
165
  IF NOT EXIST !TEMP_DIR!\ (
166
166
  mkdir !TEMP_DIR!
167
167
  cd !TEMP_DIR!
168
- REM Raylib's src folder
168
+ REM raylib source folder
169
169
  set "RAYLIB_DEFINES=/D_DEFAULT_SOURCE /DPLATFORM_DESKTOP /DGRAPHICS_API_OPENGL_33"
170
170
  set 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"
171
171
  set RAYLIB_INCLUDE_FLAGS=/I"!RAYLIB_SRC!" /I"!RAYLIB_SRC!\external\glfw\include"
@@ -175,7 +175,7 @@ IF NOT EXIST !TEMP_DIR!\ (
175
175
  ) ELSE (
176
176
  cl.exe /w /c !VERBOSITY_FLAG! !RAYLIB_DEFINES! !RAYLIB_INCLUDE_FLAGS! !COMPILATION_FLAGS! !RAYLIB_C_FILES! || exit /B
177
177
  )
178
- IF NOT DEFINED QUIET echo COMPILE-INFO: Raylib compiled into object files in: !TEMP_DIR!\
178
+ IF NOT DEFINED QUIET echo COMPILE-INFO: raylib compiled into object files in: !TEMP_DIR!\
179
179
 
180
180
  REM Out of the temp directory
181
181
  cd !ROOT_DIR!