koffi 2.1.0 → 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 (313) hide show
  1. package/ChangeLog.md +13 -1
  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/call.cc +2 -2
  23. package/src/call.hh +1 -1
  24. package/src/ffi.hh +1 -1
  25. package/src/util.hh +6 -0
  26. package/test/raylib.js +37 -5
  27. package/vendor/libcc/libcc.cc +488 -254
  28. package/vendor/libcc/libcc.hh +1463 -1277
  29. package/vendor/raylib/BINDINGS.md +87 -70
  30. package/vendor/raylib/CHANGELOG +263 -50
  31. package/vendor/raylib/CMakeLists.txt +12 -0
  32. package/vendor/raylib/CMakeOptions.txt +8 -1
  33. package/vendor/raylib/CONVENTIONS.md +2 -3
  34. package/vendor/raylib/FAQ.md +137 -0
  35. package/vendor/raylib/HISTORY.md +62 -29
  36. package/vendor/raylib/LICENSE +1 -1
  37. package/vendor/raylib/README.md +22 -17
  38. package/vendor/raylib/ROADMAP.md +8 -7
  39. package/vendor/raylib/cmake/CompileDefinitions.cmake +19 -15
  40. package/vendor/raylib/cmake/GlfwImport.cmake +2 -0
  41. package/vendor/raylib/cmake/LibraryConfigurations.cmake +22 -16
  42. package/vendor/raylib/cmake/raylib-config.cmake +52 -49
  43. package/vendor/raylib/examples/CMakeLists.txt +14 -9
  44. package/vendor/raylib/examples/Makefile +112 -125
  45. package/vendor/raylib/examples/Makefile.Android +1 -1
  46. package/vendor/raylib/examples/Makefile.Web +145 -158
  47. package/vendor/raylib/examples/README.md +141 -141
  48. package/vendor/raylib/examples/audio/audio_module_playing.c +9 -4
  49. package/vendor/raylib/examples/audio/audio_multichannel_sound.c +8 -3
  50. package/vendor/raylib/examples/audio/audio_music_stream.c +16 -11
  51. package/vendor/raylib/examples/audio/audio_raw_stream.c +57 -9
  52. package/vendor/raylib/examples/audio/audio_sound_loading.c +8 -3
  53. package/vendor/raylib/examples/audio/audio_stream_effects.c +179 -0
  54. package/vendor/raylib/examples/audio/audio_stream_effects.png +0 -0
  55. package/vendor/raylib/examples/build.zig +17 -6
  56. package/vendor/raylib/examples/core/core_2d_camera.c +8 -4
  57. package/vendor/raylib/examples/core/core_2d_camera_mouse_zoom.c +105 -0
  58. package/vendor/raylib/examples/core/core_2d_camera_mouse_zoom.png +0 -0
  59. package/vendor/raylib/examples/core/core_2d_camera_platformer.c +11 -6
  60. package/vendor/raylib/examples/core/core_3d_camera_first_person.c +9 -4
  61. package/vendor/raylib/examples/core/core_3d_camera_free.c +9 -4
  62. package/vendor/raylib/examples/core/core_3d_camera_mode.c +8 -3
  63. package/vendor/raylib/examples/core/core_3d_picking.c +9 -4
  64. package/vendor/raylib/examples/core/core_basic_screen_manager.c +9 -7
  65. package/vendor/raylib/examples/core/core_basic_window.c +8 -3
  66. package/vendor/raylib/examples/core/core_basic_window_web.c +13 -11
  67. package/vendor/raylib/examples/core/core_custom_frame_control.c +9 -4
  68. package/vendor/raylib/examples/core/core_custom_logging.c +12 -8
  69. package/vendor/raylib/examples/core/core_drop_files.c +20 -12
  70. package/vendor/raylib/examples/core/core_input_gamepad.c +20 -15
  71. package/vendor/raylib/examples/core/core_input_gestures.c +19 -15
  72. package/vendor/raylib/examples/core/core_input_keys.c +8 -3
  73. package/vendor/raylib/examples/core/core_input_mouse.c +8 -3
  74. package/vendor/raylib/examples/core/core_input_mouse_wheel.c +8 -3
  75. package/vendor/raylib/examples/core/core_input_multitouch.c +8 -3
  76. package/vendor/raylib/examples/core/core_loading_thread.c +10 -6
  77. package/vendor/raylib/examples/core/core_random_values.c +8 -3
  78. package/vendor/raylib/examples/core/core_scissor_test.c +8 -3
  79. package/vendor/raylib/examples/core/core_smooth_pixelperfect.c +9 -4
  80. package/vendor/raylib/examples/core/core_split_screen.c +8 -3
  81. package/vendor/raylib/examples/core/core_storage_values.c +109 -3
  82. package/vendor/raylib/examples/core/core_vr_simulator.c +15 -7
  83. package/vendor/raylib/examples/core/core_window_flags.c +8 -3
  84. package/vendor/raylib/examples/core/core_window_letterbox.c +13 -18
  85. package/vendor/raylib/examples/core/core_window_should_close.c +77 -0
  86. package/vendor/raylib/examples/core/core_window_should_close.png +0 -0
  87. package/vendor/raylib/examples/core/core_world_screen.c +9 -4
  88. package/vendor/raylib/examples/examples_template.c +8 -3
  89. package/vendor/raylib/examples/models/models_animation.c +11 -7
  90. package/vendor/raylib/examples/models/models_billboard.c +9 -4
  91. package/vendor/raylib/examples/models/models_box_collisions.c +8 -3
  92. package/vendor/raylib/examples/models/models_cubicmap.c +9 -4
  93. package/vendor/raylib/examples/models/models_first_person_maze.c +9 -4
  94. package/vendor/raylib/examples/models/models_geometric_shapes.c +8 -3
  95. package/vendor/raylib/examples/models/models_heightmap.c +9 -4
  96. package/vendor/raylib/examples/models/models_loading.c +21 -17
  97. package/vendor/raylib/examples/models/models_loading_gltf.c +15 -41
  98. package/vendor/raylib/examples/models/models_loading_vox.c +9 -4
  99. package/vendor/raylib/examples/models/models_mesh_generation.c +71 -58
  100. package/vendor/raylib/examples/models/models_mesh_picking.c +25 -7
  101. package/vendor/raylib/examples/models/models_orthographic_projection.c +8 -5
  102. package/vendor/raylib/examples/models/models_rlgl_solar_system.c +6 -4
  103. package/vendor/raylib/examples/models/models_skybox.c +16 -12
  104. package/vendor/raylib/examples/models/models_waving_cubes.c +9 -4
  105. package/vendor/raylib/examples/models/models_yaw_pitch_roll.c +12 -7
  106. package/vendor/raylib/examples/models/resources/LICENSE.md +9 -10
  107. package/vendor/raylib/examples/models/resources/models/gltf/LICENSE +2 -23
  108. package/vendor/raylib/examples/models/resources/models/gltf/{raylib_32x32.glb → raylib_logo_3d.glb} +0 -0
  109. package/vendor/raylib/examples/models/resources/models/gltf/robot.blend +0 -0
  110. package/vendor/raylib/examples/models/resources/models/gltf/robot.glb +0 -0
  111. package/vendor/raylib/examples/others/easings_testbed.c +10 -8
  112. package/vendor/raylib/examples/others/easings_testbed.png +0 -0
  113. package/vendor/raylib/examples/others/embedded_files_loading.c +10 -5
  114. package/vendor/raylib/examples/others/embedded_files_loading.png +0 -0
  115. package/vendor/raylib/examples/others/raylib_opengl_interop.c +10 -6
  116. package/vendor/raylib/{src/extras/easings.h → examples/others/reasings.h} +38 -38
  117. package/vendor/raylib/examples/others/rlgl_compute_shader.c +21 -20
  118. package/vendor/raylib/examples/others/rlgl_compute_shader.png +0 -0
  119. package/vendor/raylib/examples/others/rlgl_standalone.c +4 -4
  120. package/vendor/raylib/examples/others/rlgl_standalone.png +0 -0
  121. package/vendor/raylib/examples/raylib_compile_execute.bat +2 -2
  122. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/lighting.fs +1 -1
  123. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/{base_lighting_instanced.vs → lighting_instancing.vs} +2 -2
  124. package/vendor/raylib/examples/shaders/rlights.h +14 -27
  125. package/vendor/raylib/examples/shaders/shaders_basic_lighting.c +24 -26
  126. package/vendor/raylib/examples/shaders/shaders_custom_uniform.c +10 -5
  127. package/vendor/raylib/examples/shaders/shaders_eratosthenes.c +13 -8
  128. package/vendor/raylib/examples/shaders/shaders_fog.c +8 -12
  129. package/vendor/raylib/examples/shaders/shaders_hot_reloading.c +10 -5
  130. package/vendor/raylib/examples/shaders/shaders_julia_set.c +9 -4
  131. package/vendor/raylib/examples/shaders/shaders_mesh_instancing.c +45 -119
  132. package/vendor/raylib/examples/shaders/shaders_model_shader.c +10 -5
  133. package/vendor/raylib/examples/shaders/shaders_multi_sample2d.c +8 -3
  134. package/vendor/raylib/examples/shaders/shaders_palette_switch.c +8 -3
  135. package/vendor/raylib/examples/shaders/shaders_postprocessing.c +9 -4
  136. package/vendor/raylib/examples/shaders/shaders_raymarching.c +14 -11
  137. package/vendor/raylib/examples/shaders/shaders_shapes_textures.c +8 -3
  138. package/vendor/raylib/examples/shaders/shaders_simple_mask.c +10 -5
  139. package/vendor/raylib/examples/shaders/shaders_spotlight.c +10 -6
  140. package/vendor/raylib/examples/shaders/shaders_texture_drawing.c +9 -4
  141. package/vendor/raylib/examples/shaders/shaders_texture_outline.c +8 -3
  142. package/vendor/raylib/examples/shaders/shaders_texture_waves.c +8 -3
  143. package/vendor/raylib/{src/extras → examples/shapes}/raygui.h +1290 -1141
  144. package/vendor/raylib/examples/{others/easings.h → shapes/reasings.h} +40 -40
  145. package/vendor/raylib/examples/shapes/shapes_basic_shapes.c +8 -3
  146. package/vendor/raylib/examples/shapes/shapes_bouncing_ball.c +8 -3
  147. package/vendor/raylib/examples/shapes/shapes_collision_area.c +10 -4
  148. package/vendor/raylib/examples/shapes/shapes_colors_palette.c +8 -3
  149. package/vendor/raylib/examples/shapes/shapes_draw_circle_sector.c +9 -4
  150. package/vendor/raylib/examples/shapes/shapes_draw_rectangle_rounded.c +9 -4
  151. package/vendor/raylib/examples/shapes/shapes_draw_ring.c +10 -6
  152. package/vendor/raylib/examples/shapes/shapes_easings_ball_anim.c +9 -4
  153. package/vendor/raylib/examples/shapes/shapes_easings_box_anim.c +9 -4
  154. package/vendor/raylib/examples/shapes/shapes_easings_rectangle_array.c +9 -4
  155. package/vendor/raylib/examples/shapes/shapes_following_eyes.c +8 -3
  156. package/vendor/raylib/examples/shapes/shapes_lines_bezier.c +8 -3
  157. package/vendor/raylib/examples/shapes/shapes_logo_raylib.c +8 -3
  158. package/vendor/raylib/examples/shapes/shapes_logo_raylib_anim.c +8 -3
  159. package/vendor/raylib/examples/shapes/shapes_rectangle_scaling.c +14 -5
  160. package/vendor/raylib/examples/shapes/shapes_top_down_lights.c +355 -0
  161. package/vendor/raylib/examples/shapes/shapes_top_down_lights.png +0 -0
  162. package/vendor/raylib/examples/text/resources/DotGothic16-Regular.ttf +0 -0
  163. package/vendor/raylib/examples/text/resources/DotGothic16-Regular_OFL.txt +93 -0
  164. package/vendor/raylib/examples/text/resources/LICENSE.md +1 -1
  165. package/vendor/raylib/examples/text/text_codepoints_loading.c +138 -0
  166. package/vendor/raylib/examples/text/text_codepoints_loading.png +0 -0
  167. package/vendor/raylib/examples/text/text_draw_3d.c +42 -33
  168. package/vendor/raylib/examples/text/text_font_filters.c +14 -11
  169. package/vendor/raylib/examples/text/text_font_loading.c +9 -4
  170. package/vendor/raylib/examples/text/text_font_sdf.c +9 -4
  171. package/vendor/raylib/examples/text/text_font_spritefont.c +12 -6
  172. package/vendor/raylib/examples/text/text_format_text.c +8 -3
  173. package/vendor/raylib/examples/text/text_input_box.c +8 -3
  174. package/vendor/raylib/examples/text/text_raylib_fonts.c +9 -4
  175. package/vendor/raylib/examples/text/text_rectangle_bounds.c +9 -5
  176. package/vendor/raylib/examples/text/text_unicode.c +9 -7
  177. package/vendor/raylib/examples/text/text_writing_anim.c +8 -3
  178. package/vendor/raylib/examples/textures/resources/scarfy_run.gif +0 -0
  179. package/vendor/raylib/examples/textures/textures_background_scrolling.c +8 -3
  180. package/vendor/raylib/examples/textures/textures_blend_modes.c +8 -3
  181. package/vendor/raylib/examples/textures/textures_bunnymark.c +8 -3
  182. package/vendor/raylib/examples/textures/textures_draw_tiled.c +14 -10
  183. package/vendor/raylib/examples/textures/textures_fog_of_war.c +154 -0
  184. package/vendor/raylib/examples/textures/textures_fog_of_war.png +0 -0
  185. package/vendor/raylib/examples/textures/textures_gif_player.c +121 -0
  186. package/vendor/raylib/examples/textures/textures_gif_player.png +0 -0
  187. package/vendor/raylib/examples/textures/textures_image_drawing.c +8 -3
  188. package/vendor/raylib/examples/textures/textures_image_generation.c +8 -3
  189. package/vendor/raylib/examples/textures/textures_image_loading.c +8 -3
  190. package/vendor/raylib/examples/textures/textures_image_processing.c +8 -3
  191. package/vendor/raylib/examples/textures/textures_image_text.c +8 -3
  192. package/vendor/raylib/examples/textures/textures_logo_raylib.c +8 -3
  193. package/vendor/raylib/examples/textures/textures_mouse_painting.c +9 -4
  194. package/vendor/raylib/examples/textures/textures_npatch_drawing.c +8 -3
  195. package/vendor/raylib/examples/textures/textures_particles_blending.c +8 -3
  196. package/vendor/raylib/examples/textures/textures_polygon.c +9 -5
  197. package/vendor/raylib/examples/textures/textures_raw_data.c +8 -3
  198. package/vendor/raylib/examples/textures/{textures_rectangle.c → textures_sprite_anim.c} +11 -5
  199. package/vendor/raylib/examples/textures/{textures_rectangle.png → textures_sprite_anim.png} +0 -0
  200. package/vendor/raylib/examples/textures/textures_sprite_button.c +8 -3
  201. package/vendor/raylib/examples/textures/textures_sprite_explosion.c +8 -3
  202. package/vendor/raylib/examples/textures/textures_srcrec_dstrec.c +8 -3
  203. package/vendor/raylib/examples/textures/textures_to_image.c +8 -3
  204. package/vendor/raylib/parser/LICENSE +1 -1
  205. package/vendor/raylib/parser/Makefile +28 -0
  206. package/vendor/raylib/parser/README.md +49 -5
  207. package/vendor/raylib/parser/output/raylib_api.json +10717 -0
  208. package/vendor/raylib/parser/output/raylib_api.lua +7435 -0
  209. package/vendor/raylib/parser/{raylib_api.txt → output/raylib_api.txt} +1371 -824
  210. package/vendor/raylib/parser/{raylib_api.xml → output/raylib_api.xml} +827 -595
  211. package/vendor/raylib/parser/raylib_parser.c +1174 -196
  212. package/vendor/raylib/projects/4coder/Makefile +2 -4
  213. package/vendor/raylib/projects/4coder/main.c +0 -1
  214. package/vendor/raylib/projects/CMake/CMakeLists.txt +13 -16
  215. package/vendor/raylib/projects/CMake/README.md +27 -0
  216. package/vendor/raylib/projects/CMake/core_basic_window.c +52 -31
  217. package/vendor/raylib/projects/CodeBlocks/README.md +4 -4
  218. package/vendor/raylib/projects/Geany/core_basic_window.c +1 -1
  219. package/vendor/raylib/projects/Notepad++/c_raylib.xml +168 -128
  220. package/vendor/raylib/projects/Notepad++/npes_saved_tcc.txt +0 -0
  221. package/vendor/raylib/projects/Notepad++/npes_saved_w64devkit.txt +0 -0
  222. package/vendor/raylib/projects/Notepad++/npes_saved_zig.txt +0 -0
  223. package/vendor/raylib/projects/Notepad++/raylib_npp_parser/raylib_npp.xml +168 -84
  224. package/vendor/raylib/projects/Notepad++/raylib_npp_parser/raylib_to_parse.h +67 -51
  225. package/vendor/raylib/projects/README.md +1 -1
  226. package/vendor/raylib/projects/VSCode/.vscode/c_cpp_properties.json +1 -1
  227. package/vendor/raylib/projects/VSCode/Makefile +8 -11
  228. package/vendor/raylib/projects/VSCode/main.c +53 -26
  229. package/vendor/raylib/projects/VSCode/resources/LICENSE +1 -0
  230. package/vendor/raylib/projects/scripts/build-linux.sh +6 -6
  231. package/vendor/raylib/projects/scripts/build-osx.sh +6 -6
  232. package/vendor/raylib/projects/scripts/build-rpi.sh +6 -6
  233. package/vendor/raylib/projects/scripts/build-windows.bat +2 -2
  234. package/vendor/raylib/src/CMakeLists.txt +6 -7
  235. package/vendor/raylib/src/Makefile +209 -103
  236. package/vendor/raylib/src/build.zig +56 -20
  237. package/vendor/raylib/src/config.h +32 -27
  238. package/vendor/raylib/src/external/cgltf.h +342 -104
  239. package/vendor/raylib/src/external/dr_wav.h +487 -225
  240. package/vendor/raylib/src/external/glfw/src/posix_time.c +1 -3
  241. package/vendor/raylib/src/external/glfw/src/wl_init.c +1 -3
  242. package/vendor/raylib/src/external/jar_xm.h +2 -1
  243. package/vendor/raylib/src/external/miniaudio.h +62251 -42061
  244. package/vendor/raylib/src/external/qoi.h +671 -0
  245. package/vendor/raylib/src/external/stb_vorbis.h +1 -1
  246. package/vendor/raylib/src/external/vox_loader.h +30 -25
  247. package/vendor/raylib/src/minshell.html +82 -0
  248. package/vendor/raylib/src/raudio.c +359 -201
  249. package/vendor/raylib/src/raylib.dll.rc +5 -5
  250. package/vendor/raylib/src/raylib.dll.rc.data +0 -0
  251. package/vendor/raylib/src/raylib.h +95 -63
  252. package/vendor/raylib/src/raylib.rc +5 -5
  253. package/vendor/raylib/src/raylib.rc.data +0 -0
  254. package/vendor/raylib/src/raymath.h +391 -133
  255. package/vendor/raylib/src/rcamera.h +32 -41
  256. package/vendor/raylib/src/rcore.c +775 -471
  257. package/vendor/raylib/src/rgestures.h +5 -5
  258. package/vendor/raylib/src/rglfw.c +3 -3
  259. package/vendor/raylib/src/rlgl.h +184 -144
  260. package/vendor/raylib/src/rmodels.c +207 -144
  261. package/vendor/raylib/src/rshapes.c +105 -47
  262. package/vendor/raylib/src/rtext.c +255 -38
  263. package/vendor/raylib/src/rtextures.c +167 -71
  264. package/vendor/raylib/src/shell.html +63 -63
  265. package/vendor/raylib/src/utils.c +49 -3
  266. package/vendor/raylib/src/utils.h +3 -3
  267. package/build/qemu/2.1.0/koffi_darwin_arm64.tar.gz +0 -0
  268. package/build/qemu/2.1.0/koffi_darwin_x64.tar.gz +0 -0
  269. package/build/qemu/2.1.0/koffi_freebsd_arm64.tar.gz +0 -0
  270. package/build/qemu/2.1.0/koffi_freebsd_ia32.tar.gz +0 -0
  271. package/build/qemu/2.1.0/koffi_freebsd_x64.tar.gz +0 -0
  272. package/build/qemu/2.1.0/koffi_linux_arm32hf.tar.gz +0 -0
  273. package/build/qemu/2.1.0/koffi_linux_arm64.tar.gz +0 -0
  274. package/build/qemu/2.1.0/koffi_linux_ia32.tar.gz +0 -0
  275. package/build/qemu/2.1.0/koffi_linux_riscv64hf64.tar.gz +0 -0
  276. package/build/qemu/2.1.0/koffi_linux_x64.tar.gz +0 -0
  277. package/build/qemu/2.1.0/koffi_openbsd_ia32.tar.gz +0 -0
  278. package/build/qemu/2.1.0/koffi_openbsd_x64.tar.gz +0 -0
  279. package/build/qemu/2.1.0/koffi_win32_arm64.tar.gz +0 -0
  280. package/build/qemu/2.1.0/koffi_win32_ia32.tar.gz +0 -0
  281. package/build/qemu/2.1.0/koffi_win32_x64.tar.gz +0 -0
  282. package/vendor/raylib/CONTRIBUTORS.md +0 -63
  283. package/vendor/raylib/SPONSORS.md +0 -68
  284. package/vendor/raylib/examples/core/core_quat_conversion.c +0 -132
  285. package/vendor/raylib/examples/core/core_quat_conversion.png +0 -0
  286. package/vendor/raylib/examples/models/resources/models/gltf/AnimatedMorphCube.glb +0 -0
  287. package/vendor/raylib/examples/models/resources/models/gltf/AnimatedTriangle.gltf +0 -118
  288. package/vendor/raylib/examples/models/resources/models/gltf/BoxAnimated.glb +0 -0
  289. package/vendor/raylib/examples/models/resources/models/gltf/girl.glb +0 -0
  290. package/vendor/raylib/examples/models/resources/models/gltf/rigged_figure.glb +0 -0
  291. package/vendor/raylib/examples/models/resources/models/gltf/vertex_colored_object.glb +0 -0
  292. package/vendor/raylib/examples/models/resources/models/iqm/vertex_colored_object.iqm +0 -0
  293. package/vendor/raylib/examples/models/rlights.h +0 -183
  294. package/vendor/raylib/examples/others/raudio_standalone.c +0 -152
  295. package/vendor/raylib/examples/others/resources/audio/country.mp3 +0 -0
  296. package/vendor/raylib/examples/others/resources/audio/target.ogg +0 -0
  297. package/vendor/raylib/examples/others/resources/audio/weird.wav +0 -0
  298. package/vendor/raylib/examples/physics/physics_demo.c +0 -128
  299. package/vendor/raylib/examples/physics/physics_demo.png +0 -0
  300. package/vendor/raylib/examples/physics/physics_friction.c +0 -142
  301. package/vendor/raylib/examples/physics/physics_friction.png +0 -0
  302. package/vendor/raylib/examples/physics/physics_movement.c +0 -128
  303. package/vendor/raylib/examples/physics/physics_movement.png +0 -0
  304. package/vendor/raylib/examples/physics/physics_restitution.c +0 -129
  305. package/vendor/raylib/examples/physics/physics_restitution.png +0 -0
  306. package/vendor/raylib/examples/physics/physics_shatter.c +0 -111
  307. package/vendor/raylib/examples/physics/physics_shatter.png +0 -0
  308. package/vendor/raylib/parser/raylib_api.json +0 -6668
  309. package/vendor/raylib/projects/VS2019/raylib/raylib.rc +0 -0
  310. package/vendor/raylib/projects/VS2019/raylib/resource.h +0 -14
  311. package/vendor/raylib/src/extras/physac.h +0 -1977
  312. package/vendor/raylib/src/extras/rmem.h +0 -751
  313. package/vendor/raylib/src/raudio.h +0 -198
package/ChangeLog.md CHANGED
@@ -2,12 +2,24 @@
2
2
 
3
3
  ## History
4
4
 
5
+ ### Koffi 2.1.2
6
+
7
+ **Main changes:**
8
+
9
+ - Support up to 8 output parameters (instead of 4)
10
+
11
+ ### Koffi 2.1.1
12
+
13
+ **Main fixes:**
14
+
15
+ - Fix potential memory allocation bugs
16
+
5
17
  ### Koffi 2.1.0
6
18
 
7
19
  **Main changes:**
8
20
 
9
21
  - Add [koffi.as()](functions.md#polymorphic-parameters) to support polymorphic APIs based on `void *` parameters
10
- - Add [endian-sensitive integer types](types.md#endian-sensitive-types): `intX_le_t`, `intX_be_t`
22
+ - Add [endian-sensitive integer types](types.md#endian-sensitive-types): `intX_le_t`, `intX_be_t`, `uintX_le_t`, `uintX_be_t`
11
23
  - Accept typed arrays for `void *` parameters
12
24
  - Introduce `koffi.opaque()` to replace `koffi.handle()` (which remains supported until Koffi 3.0)
13
25
  - Support JS Array and TypedArray to fill struct and array pointer members
@@ -1,4 +1,7 @@
1
1
  <div style="text-align: center; margin-top: 2em;">
2
2
  <a href="https://www.npmjs.com/package/koffi"><img src="https://img.shields.io/badge/NPM-{{ stable }}-brightgreen" alt="NPM"/></a>
3
3
  <a href="https://github.com/Koromix/luigi/tree/master/koffi"><img src="https://img.shields.io/badge/GitHub-Koffi-ff6600" alt="GitHub"/></a>
4
+
5
+ <br><br>
6
+ <iframe src="https://github.com/sponsors/Koromix/button" title="Sponsor Koromix" height="35" width="116" style="border: 0;"></iframe>
4
7
  </div>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "koffi",
3
- "version": "2.1.0",
4
- "stable": "2.1.0",
3
+ "version": "2.1.2",
4
+ "stable": "2.1.2",
5
5
  "description": "Fast and simple C FFI (foreign function interface) for Node.js",
6
6
  "keywords": [
7
7
  "foreign",
package/src/abi_arm64.cc CHANGED
@@ -142,6 +142,11 @@ bool AnalyseFunction(Napi::Env, InstanceData *, FunctionInfo *func)
142
142
 
143
143
  int gpr_avail = 8;
144
144
  int vec_avail = 8;
145
+ #ifdef _M_ARM64EC
146
+ if (func->variadic) {
147
+ gpr_avail = 4;
148
+ }
149
+ #endif
145
150
 
146
151
  for (ParameterInfo &param: func->parameters) {
147
152
  switch (param.type->primitive) {
@@ -179,6 +184,23 @@ bool AnalyseFunction(Napi::Env, InstanceData *, FunctionInfo *func)
179
184
  case PrimitiveKind::Record: {
180
185
  int hfa = IsHFA(param.type);
181
186
 
187
+ #ifdef _M_ARM64EC
188
+ if (func->variadic) {
189
+ if (IsRegularSize(param.type->size, 8) && gpr_avail) {
190
+ param.gpr_count = 1;
191
+ gpr_avail--;
192
+ } else {
193
+ if (gpr_avail) {
194
+ param.gpr_count = 1;
195
+ gpr_avail--;
196
+ }
197
+ param.use_memory = true;
198
+ }
199
+
200
+ break;
201
+ }
202
+ #endif
203
+
182
204
  #if defined(_WIN32)
183
205
  if (param.variadic) {
184
206
  hfa = 0;
@@ -210,7 +232,7 @@ bool AnalyseFunction(Napi::Env, InstanceData *, FunctionInfo *func)
210
232
  // Big types (more than 16 bytes) are replaced by a pointer
211
233
  if (gpr_avail) {
212
234
  param.gpr_count = 1;
213
- gpr_avail -= 1;
235
+ gpr_avail--;
214
236
  }
215
237
  param.use_memory = true;
216
238
  }
@@ -265,6 +287,18 @@ bool CallData::Prepare(const Napi::CallbackInfo &info)
265
287
  gpr_ptr[8] = (uint64_t)return_ptr;
266
288
  }
267
289
 
290
+ #ifdef _M_ARM64EC
291
+ if (func->variadic) {
292
+ gpr_ptr[4] = (uint64_t)args_ptr;
293
+ gpr_ptr[5] = 0;
294
+
295
+ for (Size i = 4; i < func->parameters.len; i++) {
296
+ const ParameterInfo &param = func->parameters[i];
297
+ gpr_ptr[5] += std::max((Size)8, param.type->size);
298
+ }
299
+ }
300
+ #endif
301
+
268
302
  #ifdef __APPLE__
269
303
  #define PUSH_INTEGER(CType) \
270
304
  do { \
@@ -109,18 +109,12 @@ RG_STATIC_ASSERT(RG_LEN(Trampolines) == MaxTrampolines * 2);
109
109
 
110
110
  static RG_THREAD_LOCAL CallData *exec_call;
111
111
 
112
- static inline bool IsRegular(Size size)
113
- {
114
- bool regular = (size <= 8 && !(size & (size - 1)));
115
- return regular;
116
- }
117
-
118
112
  bool AnalyseFunction(Napi::Env, InstanceData *, FunctionInfo *func)
119
113
  {
120
- func->ret.regular = IsRegular(func->ret.type->size);
114
+ func->ret.regular = IsRegularSize(func->ret.type->size, 8);
121
115
 
122
116
  for (ParameterInfo &param: func->parameters) {
123
- param.regular = IsRegular(param.type->size);
117
+ param.regular = IsRegularSize(param.type->size, 8);
124
118
  func->forward_fp |= IsFloat(param.type);
125
119
  }
126
120
 
package/src/abi_x86.cc CHANGED
@@ -115,12 +115,6 @@ RG_STATIC_ASSERT(RG_LEN(Trampolines) == MaxTrampolines * 2);
115
115
 
116
116
  static RG_THREAD_LOCAL CallData *exec_call;
117
117
 
118
- static inline bool IsRegular(Size size)
119
- {
120
- bool regular = (size <= 8 && !(size & (size - 1)));
121
- return regular;
122
- }
123
-
124
118
  bool AnalyseFunction(Napi::Env env, InstanceData *instance, FunctionInfo *func)
125
119
  {
126
120
  if (!func->lib && func->convention != CallConvention::Cdecl &&
@@ -137,7 +131,7 @@ bool AnalyseFunction(Napi::Env env, InstanceData *instance, FunctionInfo *func)
137
131
  func->ret.trivial = true;
138
132
  #if defined(_WIN32) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
139
133
  } else {
140
- func->ret.trivial = IsRegular(func->ret.type->size);
134
+ func->ret.trivial = IsRegularSize(func->ret.type->size, 8);
141
135
  #endif
142
136
  }
143
137
  #ifndef _WIN32
package/src/call.cc CHANGED
@@ -70,7 +70,7 @@ bool CallData::PushString(Napi::Value value, const char **out_str)
70
70
  status = napi_get_value_string_utf8(env, value, nullptr, 0, &len);
71
71
  RG_ASSERT(status == napi_ok);
72
72
 
73
- buf = AllocateMemory<char>(&call_alloc, (Size)len + 1);
73
+ buf = AllocateSpan<char>(&call_alloc, (Size)len + 1);
74
74
 
75
75
  status = napi_get_value_string_utf8(env, value, buf.ptr, (size_t)buf.len, &len);
76
76
  RG_ASSERT(status == napi_ok);
@@ -109,7 +109,7 @@ bool CallData::PushString16(Napi::Value value, const char16_t **out_str16)
109
109
  status = napi_get_value_string_utf16(env, value, nullptr, 0, &len);
110
110
  RG_ASSERT(status == napi_ok);
111
111
 
112
- buf = AllocateMemory<char16_t>(&call_alloc, ((Size)len + 1) * 2);
112
+ buf = AllocateSpan<char16_t>(&call_alloc, ((Size)len + 1) * 2);
113
113
 
114
114
  status = napi_get_value_string_utf16(env, value, buf.ptr, (size_t)buf.len, &len);
115
115
  RG_ASSERT(status == napi_ok);
package/src/call.hh CHANGED
@@ -161,7 +161,7 @@ inline T *CallData::AllocHeap(Size size, Size align)
161
161
  int flags = 0;
162
162
  #endif
163
163
 
164
- ptr = AllocateMemory<uint8_t>(&call_alloc, size + align, flags).ptr;
164
+ ptr = (uint8_t *)AllocateRaw(&call_alloc, size + align, flags);
165
165
  ptr = AlignUp(ptr, align);
166
166
 
167
167
  return ptr;
package/src/ffi.hh CHANGED
@@ -28,7 +28,7 @@ static const int DefaultMaxAsyncCalls = 64;
28
28
 
29
29
  static const int MaxAsyncCalls = 256;
30
30
  static const Size MaxParameters = 32;
31
- static const Size MaxOutParameters = 4;
31
+ static const Size MaxOutParameters = 8;
32
32
  static const Size MaxTrampolines = 16;
33
33
 
34
34
  extern const int TypeInfoMarker;
package/src/util.hh CHANGED
@@ -47,6 +47,12 @@ static inline bool IsFloat(const TypeInfo *type)
47
47
  return fp;
48
48
  }
49
49
 
50
+ static inline bool IsRegularSize(Size size, Size max)
51
+ {
52
+ bool regular = (size <= max && !(size & (size - 1)));
53
+ return regular;
54
+ }
55
+
50
56
  const TypeInfo *ResolveType(Napi::Value value, int *out_directions = nullptr);
51
57
  const TypeInfo *ResolveType(InstanceData *instance, Span<const char> str, int *out_directions = nullptr);
52
58
  const TypeInfo *MakePointerType(InstanceData *instance, const TypeInfo *type, int count = 1);
package/test/raylib.js CHANGED
@@ -75,14 +75,26 @@ main();
75
75
 
76
76
  async function main() {
77
77
  try {
78
- await test();
78
+ let display = false;
79
+
80
+ for (let i = 2; i < process.argv.length; i++) {
81
+ let arg = process.argv[i];
82
+
83
+ if (arg == '-d' || arg == '--display') {
84
+ display = true;
85
+ } else if (arg[0] == '-') {
86
+ throw new Error(`Unknown option '${process.argv[i]}'`)
87
+ }
88
+ }
89
+
90
+ await test(display);
79
91
  } catch (err) {
80
92
  console.error(err);
81
93
  process.exit(1);
82
94
  }
83
95
  }
84
96
 
85
- async function test() {
97
+ async function test(display) {
86
98
  let lib_filename = __dirname + '/build/raylib' + koffi.extension;
87
99
  let lib = koffi.load(lib_filename);
88
100
 
@@ -94,11 +106,20 @@ async function test() {
94
106
  const MeasureTextEx = lib.func('MeasureTextEx', Vector2, [Font, 'str', 'float', 'float']);
95
107
  const ImageDrawTextEx = lib.func('ImageDrawTextEx', 'void', [koffi.pointer(Image), Font, 'str', Vector2, 'float', 'float', Color]);
96
108
  const ExportImage = lib.func('ExportImage', 'bool', [Image, 'str']);
109
+ const DrawTextEx = lib.func('DrawTextEx', 'void', [Font, 'str', Vector2, 'float', 'float', Color]);
110
+ const BeginDrawing = lib.func('BeginDrawing', 'void', []);
111
+ const EndDrawing = lib.func('EndDrawing', 'void', []);
112
+ const ClearBackground = lib.func('ClearBackground', 'void', [Color]);
113
+ const LoadTextureFromImage = lib.func('LoadTextureFromImage', 'Texture', [Image]);
114
+ const DrawTexture = lib.func('DrawTexture', 'void', [Texture, 'int', 'int', Color]);
115
+ const WindowShouldClose = lib.func('WindowShouldClose', 'bool', []);
116
+ const PollInputEvents = lib.func('PollInputEvents', 'void', []);
97
117
 
98
118
  // We need to call InitWindow before using anything else (such as fonts)
99
119
  SetTraceLogLevel(4); // Warnings
100
- SetWindowState(0x80); // Hidden
101
- InitWindow(640, 480, "Raylib Test");
120
+ if (!display)
121
+ SetWindowState(0x80); // Hidden
122
+ InitWindow(800, 600, "Raylib Test");
102
123
 
103
124
  let img = GenImageColor(800, 600, { r: 0, g: 0, b: 0, a: 255 });
104
125
  let font = GetFontDefault();
@@ -122,6 +143,17 @@ async function test() {
122
143
  ImageDrawTextEx(img, font, text, pos, 10, 1, color);
123
144
  }
124
145
 
146
+ if (display) {
147
+ BeginDrawing();
148
+ ClearBackground({r: 0, g: 0, b: 0, a: 255});
149
+ let tex = LoadTextureFromImage(img);
150
+ DrawTexture(tex, 0, 0, {r: 255, g: 255, b: 255, a: 255});
151
+ EndDrawing();
152
+
153
+ while (!WindowShouldClose())
154
+ PollInputEvents();
155
+ }
156
+
125
157
  // In theory we could directly checksum the image data, but we can't do it easily right now
126
158
  // until koffi gives us something to transform a pointer to a buffer.
127
159
  let tmp_dir = fs.mkdtempSync(path.join(os.tmpdir(), 'raylib'));
@@ -144,7 +176,7 @@ async function test() {
144
176
  reject(err);
145
177
  }
146
178
  });
147
- let expected = '5ec23005377082582a14d261f5d07f51a6615b3bcdf5b91ada29aba65da22c5f';
179
+ let expected = '3cd12ec1cf3d001abe5526c8529fc445ebd2aa710e75cf277b33e59db1e51eb4';
148
180
 
149
181
  console.log('Computed checksum: ' + sha256);
150
182
  console.log('Expected: ' + expected);