koffi 2.1.1 → 2.1.3

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 (312) hide show
  1. package/ChangeLog.md +12 -0
  2. package/build/qemu/2.1.3/koffi_darwin_arm64.tar.gz +0 -0
  3. package/build/qemu/2.1.3/koffi_darwin_x64.tar.gz +0 -0
  4. package/build/qemu/2.1.3/koffi_freebsd_arm64.tar.gz +0 -0
  5. package/build/qemu/2.1.3/koffi_freebsd_ia32.tar.gz +0 -0
  6. package/build/qemu/2.1.3/koffi_freebsd_x64.tar.gz +0 -0
  7. package/build/qemu/2.1.3/koffi_linux_arm32hf.tar.gz +0 -0
  8. package/build/qemu/2.1.3/koffi_linux_arm64.tar.gz +0 -0
  9. package/build/qemu/2.1.3/koffi_linux_ia32.tar.gz +0 -0
  10. package/build/qemu/2.1.3/koffi_linux_riscv64hf64.tar.gz +0 -0
  11. package/build/qemu/2.1.3/koffi_linux_x64.tar.gz +0 -0
  12. package/build/qemu/2.1.3/koffi_openbsd_ia32.tar.gz +0 -0
  13. package/build/qemu/2.1.3/koffi_openbsd_x64.tar.gz +0 -0
  14. package/build/qemu/2.1.3/koffi_win32_arm64.tar.gz +0 -0
  15. package/build/qemu/2.1.3/koffi_win32_ia32.tar.gz +0 -0
  16. package/build/qemu/2.1.3/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.cc +2 -2
  23. package/src/ffi.hh +1 -1
  24. package/src/util.hh +6 -0
  25. package/test/raylib.js +37 -5
  26. package/vendor/libcc/libcc.cc +430 -196
  27. package/vendor/libcc/libcc.hh +1417 -1283
  28. package/vendor/raylib/BINDINGS.md +87 -70
  29. package/vendor/raylib/CHANGELOG +263 -50
  30. package/vendor/raylib/CMakeLists.txt +12 -0
  31. package/vendor/raylib/CMakeOptions.txt +8 -1
  32. package/vendor/raylib/CONVENTIONS.md +2 -3
  33. package/vendor/raylib/FAQ.md +137 -0
  34. package/vendor/raylib/HISTORY.md +62 -29
  35. package/vendor/raylib/LICENSE +1 -1
  36. package/vendor/raylib/README.md +22 -17
  37. package/vendor/raylib/ROADMAP.md +8 -7
  38. package/vendor/raylib/cmake/CompileDefinitions.cmake +19 -15
  39. package/vendor/raylib/cmake/GlfwImport.cmake +2 -0
  40. package/vendor/raylib/cmake/LibraryConfigurations.cmake +22 -16
  41. package/vendor/raylib/cmake/raylib-config.cmake +52 -49
  42. package/vendor/raylib/examples/CMakeLists.txt +14 -9
  43. package/vendor/raylib/examples/Makefile +112 -125
  44. package/vendor/raylib/examples/Makefile.Android +1 -1
  45. package/vendor/raylib/examples/Makefile.Web +145 -158
  46. package/vendor/raylib/examples/README.md +141 -141
  47. package/vendor/raylib/examples/audio/audio_module_playing.c +9 -4
  48. package/vendor/raylib/examples/audio/audio_multichannel_sound.c +8 -3
  49. package/vendor/raylib/examples/audio/audio_music_stream.c +16 -11
  50. package/vendor/raylib/examples/audio/audio_raw_stream.c +57 -9
  51. package/vendor/raylib/examples/audio/audio_sound_loading.c +8 -3
  52. package/vendor/raylib/examples/audio/audio_stream_effects.c +179 -0
  53. package/vendor/raylib/examples/audio/audio_stream_effects.png +0 -0
  54. package/vendor/raylib/examples/build.zig +17 -6
  55. package/vendor/raylib/examples/core/core_2d_camera.c +8 -4
  56. package/vendor/raylib/examples/core/core_2d_camera_mouse_zoom.c +105 -0
  57. package/vendor/raylib/examples/core/core_2d_camera_mouse_zoom.png +0 -0
  58. package/vendor/raylib/examples/core/core_2d_camera_platformer.c +11 -6
  59. package/vendor/raylib/examples/core/core_3d_camera_first_person.c +9 -4
  60. package/vendor/raylib/examples/core/core_3d_camera_free.c +9 -4
  61. package/vendor/raylib/examples/core/core_3d_camera_mode.c +8 -3
  62. package/vendor/raylib/examples/core/core_3d_picking.c +9 -4
  63. package/vendor/raylib/examples/core/core_basic_screen_manager.c +9 -7
  64. package/vendor/raylib/examples/core/core_basic_window.c +8 -3
  65. package/vendor/raylib/examples/core/core_basic_window_web.c +13 -11
  66. package/vendor/raylib/examples/core/core_custom_frame_control.c +9 -4
  67. package/vendor/raylib/examples/core/core_custom_logging.c +12 -8
  68. package/vendor/raylib/examples/core/core_drop_files.c +20 -12
  69. package/vendor/raylib/examples/core/core_input_gamepad.c +20 -15
  70. package/vendor/raylib/examples/core/core_input_gestures.c +19 -15
  71. package/vendor/raylib/examples/core/core_input_keys.c +8 -3
  72. package/vendor/raylib/examples/core/core_input_mouse.c +8 -3
  73. package/vendor/raylib/examples/core/core_input_mouse_wheel.c +8 -3
  74. package/vendor/raylib/examples/core/core_input_multitouch.c +8 -3
  75. package/vendor/raylib/examples/core/core_loading_thread.c +10 -6
  76. package/vendor/raylib/examples/core/core_random_values.c +8 -3
  77. package/vendor/raylib/examples/core/core_scissor_test.c +8 -3
  78. package/vendor/raylib/examples/core/core_smooth_pixelperfect.c +9 -4
  79. package/vendor/raylib/examples/core/core_split_screen.c +8 -3
  80. package/vendor/raylib/examples/core/core_storage_values.c +109 -3
  81. package/vendor/raylib/examples/core/core_vr_simulator.c +15 -7
  82. package/vendor/raylib/examples/core/core_window_flags.c +8 -3
  83. package/vendor/raylib/examples/core/core_window_letterbox.c +13 -18
  84. package/vendor/raylib/examples/core/core_window_should_close.c +77 -0
  85. package/vendor/raylib/examples/core/core_window_should_close.png +0 -0
  86. package/vendor/raylib/examples/core/core_world_screen.c +9 -4
  87. package/vendor/raylib/examples/examples_template.c +8 -3
  88. package/vendor/raylib/examples/models/models_animation.c +11 -7
  89. package/vendor/raylib/examples/models/models_billboard.c +9 -4
  90. package/vendor/raylib/examples/models/models_box_collisions.c +8 -3
  91. package/vendor/raylib/examples/models/models_cubicmap.c +9 -4
  92. package/vendor/raylib/examples/models/models_first_person_maze.c +9 -4
  93. package/vendor/raylib/examples/models/models_geometric_shapes.c +8 -3
  94. package/vendor/raylib/examples/models/models_heightmap.c +9 -4
  95. package/vendor/raylib/examples/models/models_loading.c +21 -17
  96. package/vendor/raylib/examples/models/models_loading_gltf.c +15 -41
  97. package/vendor/raylib/examples/models/models_loading_vox.c +9 -4
  98. package/vendor/raylib/examples/models/models_mesh_generation.c +71 -58
  99. package/vendor/raylib/examples/models/models_mesh_picking.c +25 -7
  100. package/vendor/raylib/examples/models/models_orthographic_projection.c +8 -5
  101. package/vendor/raylib/examples/models/models_rlgl_solar_system.c +6 -4
  102. package/vendor/raylib/examples/models/models_skybox.c +16 -12
  103. package/vendor/raylib/examples/models/models_waving_cubes.c +9 -4
  104. package/vendor/raylib/examples/models/models_yaw_pitch_roll.c +12 -7
  105. package/vendor/raylib/examples/models/resources/LICENSE.md +9 -10
  106. package/vendor/raylib/examples/models/resources/models/gltf/LICENSE +2 -23
  107. package/vendor/raylib/examples/models/resources/models/gltf/{raylib_32x32.glb → raylib_logo_3d.glb} +0 -0
  108. package/vendor/raylib/examples/models/resources/models/gltf/robot.blend +0 -0
  109. package/vendor/raylib/examples/models/resources/models/gltf/robot.glb +0 -0
  110. package/vendor/raylib/examples/others/easings_testbed.c +10 -8
  111. package/vendor/raylib/examples/others/easings_testbed.png +0 -0
  112. package/vendor/raylib/examples/others/embedded_files_loading.c +10 -5
  113. package/vendor/raylib/examples/others/embedded_files_loading.png +0 -0
  114. package/vendor/raylib/examples/others/raylib_opengl_interop.c +10 -6
  115. package/vendor/raylib/{src/extras/easings.h → examples/others/reasings.h} +38 -38
  116. package/vendor/raylib/examples/others/rlgl_compute_shader.c +21 -20
  117. package/vendor/raylib/examples/others/rlgl_compute_shader.png +0 -0
  118. package/vendor/raylib/examples/others/rlgl_standalone.c +4 -4
  119. package/vendor/raylib/examples/others/rlgl_standalone.png +0 -0
  120. package/vendor/raylib/examples/raylib_compile_execute.bat +2 -2
  121. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/lighting.fs +1 -1
  122. package/vendor/raylib/examples/shaders/resources/shaders/glsl330/{base_lighting_instanced.vs → lighting_instancing.vs} +2 -2
  123. package/vendor/raylib/examples/shaders/rlights.h +14 -27
  124. package/vendor/raylib/examples/shaders/shaders_basic_lighting.c +24 -26
  125. package/vendor/raylib/examples/shaders/shaders_custom_uniform.c +10 -5
  126. package/vendor/raylib/examples/shaders/shaders_eratosthenes.c +13 -8
  127. package/vendor/raylib/examples/shaders/shaders_fog.c +8 -12
  128. package/vendor/raylib/examples/shaders/shaders_hot_reloading.c +10 -5
  129. package/vendor/raylib/examples/shaders/shaders_julia_set.c +9 -4
  130. package/vendor/raylib/examples/shaders/shaders_mesh_instancing.c +45 -119
  131. package/vendor/raylib/examples/shaders/shaders_model_shader.c +10 -5
  132. package/vendor/raylib/examples/shaders/shaders_multi_sample2d.c +8 -3
  133. package/vendor/raylib/examples/shaders/shaders_palette_switch.c +8 -3
  134. package/vendor/raylib/examples/shaders/shaders_postprocessing.c +9 -4
  135. package/vendor/raylib/examples/shaders/shaders_raymarching.c +14 -11
  136. package/vendor/raylib/examples/shaders/shaders_shapes_textures.c +8 -3
  137. package/vendor/raylib/examples/shaders/shaders_simple_mask.c +10 -5
  138. package/vendor/raylib/examples/shaders/shaders_spotlight.c +10 -6
  139. package/vendor/raylib/examples/shaders/shaders_texture_drawing.c +9 -4
  140. package/vendor/raylib/examples/shaders/shaders_texture_outline.c +8 -3
  141. package/vendor/raylib/examples/shaders/shaders_texture_waves.c +8 -3
  142. package/vendor/raylib/{src/extras → examples/shapes}/raygui.h +1290 -1141
  143. package/vendor/raylib/examples/{others/easings.h → shapes/reasings.h} +40 -40
  144. package/vendor/raylib/examples/shapes/shapes_basic_shapes.c +8 -3
  145. package/vendor/raylib/examples/shapes/shapes_bouncing_ball.c +8 -3
  146. package/vendor/raylib/examples/shapes/shapes_collision_area.c +10 -4
  147. package/vendor/raylib/examples/shapes/shapes_colors_palette.c +8 -3
  148. package/vendor/raylib/examples/shapes/shapes_draw_circle_sector.c +9 -4
  149. package/vendor/raylib/examples/shapes/shapes_draw_rectangle_rounded.c +9 -4
  150. package/vendor/raylib/examples/shapes/shapes_draw_ring.c +10 -6
  151. package/vendor/raylib/examples/shapes/shapes_easings_ball_anim.c +9 -4
  152. package/vendor/raylib/examples/shapes/shapes_easings_box_anim.c +9 -4
  153. package/vendor/raylib/examples/shapes/shapes_easings_rectangle_array.c +9 -4
  154. package/vendor/raylib/examples/shapes/shapes_following_eyes.c +8 -3
  155. package/vendor/raylib/examples/shapes/shapes_lines_bezier.c +8 -3
  156. package/vendor/raylib/examples/shapes/shapes_logo_raylib.c +8 -3
  157. package/vendor/raylib/examples/shapes/shapes_logo_raylib_anim.c +8 -3
  158. package/vendor/raylib/examples/shapes/shapes_rectangle_scaling.c +14 -5
  159. package/vendor/raylib/examples/shapes/shapes_top_down_lights.c +355 -0
  160. package/vendor/raylib/examples/shapes/shapes_top_down_lights.png +0 -0
  161. package/vendor/raylib/examples/text/resources/DotGothic16-Regular.ttf +0 -0
  162. package/vendor/raylib/examples/text/resources/DotGothic16-Regular_OFL.txt +93 -0
  163. package/vendor/raylib/examples/text/resources/LICENSE.md +1 -1
  164. package/vendor/raylib/examples/text/text_codepoints_loading.c +138 -0
  165. package/vendor/raylib/examples/text/text_codepoints_loading.png +0 -0
  166. package/vendor/raylib/examples/text/text_draw_3d.c +42 -33
  167. package/vendor/raylib/examples/text/text_font_filters.c +14 -11
  168. package/vendor/raylib/examples/text/text_font_loading.c +9 -4
  169. package/vendor/raylib/examples/text/text_font_sdf.c +9 -4
  170. package/vendor/raylib/examples/text/text_font_spritefont.c +12 -6
  171. package/vendor/raylib/examples/text/text_format_text.c +8 -3
  172. package/vendor/raylib/examples/text/text_input_box.c +8 -3
  173. package/vendor/raylib/examples/text/text_raylib_fonts.c +9 -4
  174. package/vendor/raylib/examples/text/text_rectangle_bounds.c +9 -5
  175. package/vendor/raylib/examples/text/text_unicode.c +9 -7
  176. package/vendor/raylib/examples/text/text_writing_anim.c +8 -3
  177. package/vendor/raylib/examples/textures/resources/scarfy_run.gif +0 -0
  178. package/vendor/raylib/examples/textures/textures_background_scrolling.c +8 -3
  179. package/vendor/raylib/examples/textures/textures_blend_modes.c +8 -3
  180. package/vendor/raylib/examples/textures/textures_bunnymark.c +8 -3
  181. package/vendor/raylib/examples/textures/textures_draw_tiled.c +14 -10
  182. package/vendor/raylib/examples/textures/textures_fog_of_war.c +154 -0
  183. package/vendor/raylib/examples/textures/textures_fog_of_war.png +0 -0
  184. package/vendor/raylib/examples/textures/textures_gif_player.c +121 -0
  185. package/vendor/raylib/examples/textures/textures_gif_player.png +0 -0
  186. package/vendor/raylib/examples/textures/textures_image_drawing.c +8 -3
  187. package/vendor/raylib/examples/textures/textures_image_generation.c +8 -3
  188. package/vendor/raylib/examples/textures/textures_image_loading.c +8 -3
  189. package/vendor/raylib/examples/textures/textures_image_processing.c +8 -3
  190. package/vendor/raylib/examples/textures/textures_image_text.c +8 -3
  191. package/vendor/raylib/examples/textures/textures_logo_raylib.c +8 -3
  192. package/vendor/raylib/examples/textures/textures_mouse_painting.c +9 -4
  193. package/vendor/raylib/examples/textures/textures_npatch_drawing.c +8 -3
  194. package/vendor/raylib/examples/textures/textures_particles_blending.c +8 -3
  195. package/vendor/raylib/examples/textures/textures_polygon.c +9 -5
  196. package/vendor/raylib/examples/textures/textures_raw_data.c +8 -3
  197. package/vendor/raylib/examples/textures/{textures_rectangle.c → textures_sprite_anim.c} +11 -5
  198. package/vendor/raylib/examples/textures/{textures_rectangle.png → textures_sprite_anim.png} +0 -0
  199. package/vendor/raylib/examples/textures/textures_sprite_button.c +8 -3
  200. package/vendor/raylib/examples/textures/textures_sprite_explosion.c +8 -3
  201. package/vendor/raylib/examples/textures/textures_srcrec_dstrec.c +8 -3
  202. package/vendor/raylib/examples/textures/textures_to_image.c +8 -3
  203. package/vendor/raylib/parser/LICENSE +1 -1
  204. package/vendor/raylib/parser/Makefile +28 -0
  205. package/vendor/raylib/parser/README.md +49 -5
  206. package/vendor/raylib/parser/output/raylib_api.json +10717 -0
  207. package/vendor/raylib/parser/output/raylib_api.lua +7435 -0
  208. package/vendor/raylib/parser/{raylib_api.txt → output/raylib_api.txt} +1371 -824
  209. package/vendor/raylib/parser/{raylib_api.xml → output/raylib_api.xml} +827 -595
  210. package/vendor/raylib/parser/raylib_parser.c +1174 -196
  211. package/vendor/raylib/projects/4coder/Makefile +2 -4
  212. package/vendor/raylib/projects/4coder/main.c +0 -1
  213. package/vendor/raylib/projects/CMake/CMakeLists.txt +13 -16
  214. package/vendor/raylib/projects/CMake/README.md +27 -0
  215. package/vendor/raylib/projects/CMake/core_basic_window.c +52 -31
  216. package/vendor/raylib/projects/CodeBlocks/README.md +4 -4
  217. package/vendor/raylib/projects/Geany/core_basic_window.c +1 -1
  218. package/vendor/raylib/projects/Notepad++/c_raylib.xml +168 -128
  219. package/vendor/raylib/projects/Notepad++/npes_saved_tcc.txt +0 -0
  220. package/vendor/raylib/projects/Notepad++/npes_saved_w64devkit.txt +0 -0
  221. package/vendor/raylib/projects/Notepad++/npes_saved_zig.txt +0 -0
  222. package/vendor/raylib/projects/Notepad++/raylib_npp_parser/raylib_npp.xml +168 -84
  223. package/vendor/raylib/projects/Notepad++/raylib_npp_parser/raylib_to_parse.h +67 -51
  224. package/vendor/raylib/projects/README.md +1 -1
  225. package/vendor/raylib/projects/VSCode/.vscode/c_cpp_properties.json +1 -1
  226. package/vendor/raylib/projects/VSCode/Makefile +8 -11
  227. package/vendor/raylib/projects/VSCode/main.c +53 -26
  228. package/vendor/raylib/projects/VSCode/resources/LICENSE +1 -0
  229. package/vendor/raylib/projects/scripts/build-linux.sh +6 -6
  230. package/vendor/raylib/projects/scripts/build-osx.sh +6 -6
  231. package/vendor/raylib/projects/scripts/build-rpi.sh +6 -6
  232. package/vendor/raylib/projects/scripts/build-windows.bat +2 -2
  233. package/vendor/raylib/src/CMakeLists.txt +6 -7
  234. package/vendor/raylib/src/Makefile +209 -103
  235. package/vendor/raylib/src/build.zig +56 -20
  236. package/vendor/raylib/src/config.h +32 -27
  237. package/vendor/raylib/src/external/cgltf.h +342 -104
  238. package/vendor/raylib/src/external/dr_wav.h +487 -225
  239. package/vendor/raylib/src/external/glfw/src/posix_time.c +1 -3
  240. package/vendor/raylib/src/external/glfw/src/wl_init.c +1 -3
  241. package/vendor/raylib/src/external/jar_xm.h +2 -1
  242. package/vendor/raylib/src/external/miniaudio.h +62251 -42061
  243. package/vendor/raylib/src/external/qoi.h +671 -0
  244. package/vendor/raylib/src/external/stb_vorbis.h +1 -1
  245. package/vendor/raylib/src/external/vox_loader.h +30 -25
  246. package/vendor/raylib/src/minshell.html +82 -0
  247. package/vendor/raylib/src/raudio.c +359 -201
  248. package/vendor/raylib/src/raylib.dll.rc +5 -5
  249. package/vendor/raylib/src/raylib.dll.rc.data +0 -0
  250. package/vendor/raylib/src/raylib.h +95 -63
  251. package/vendor/raylib/src/raylib.rc +5 -5
  252. package/vendor/raylib/src/raylib.rc.data +0 -0
  253. package/vendor/raylib/src/raymath.h +391 -133
  254. package/vendor/raylib/src/rcamera.h +32 -41
  255. package/vendor/raylib/src/rcore.c +775 -471
  256. package/vendor/raylib/src/rgestures.h +5 -5
  257. package/vendor/raylib/src/rglfw.c +3 -3
  258. package/vendor/raylib/src/rlgl.h +184 -144
  259. package/vendor/raylib/src/rmodels.c +207 -144
  260. package/vendor/raylib/src/rshapes.c +105 -47
  261. package/vendor/raylib/src/rtext.c +255 -38
  262. package/vendor/raylib/src/rtextures.c +167 -71
  263. package/vendor/raylib/src/shell.html +63 -63
  264. package/vendor/raylib/src/utils.c +49 -3
  265. package/vendor/raylib/src/utils.h +3 -3
  266. package/build/qemu/2.1.1/koffi_darwin_arm64.tar.gz +0 -0
  267. package/build/qemu/2.1.1/koffi_darwin_x64.tar.gz +0 -0
  268. package/build/qemu/2.1.1/koffi_freebsd_arm64.tar.gz +0 -0
  269. package/build/qemu/2.1.1/koffi_freebsd_ia32.tar.gz +0 -0
  270. package/build/qemu/2.1.1/koffi_freebsd_x64.tar.gz +0 -0
  271. package/build/qemu/2.1.1/koffi_linux_arm32hf.tar.gz +0 -0
  272. package/build/qemu/2.1.1/koffi_linux_arm64.tar.gz +0 -0
  273. package/build/qemu/2.1.1/koffi_linux_ia32.tar.gz +0 -0
  274. package/build/qemu/2.1.1/koffi_linux_riscv64hf64.tar.gz +0 -0
  275. package/build/qemu/2.1.1/koffi_linux_x64.tar.gz +0 -0
  276. package/build/qemu/2.1.1/koffi_openbsd_ia32.tar.gz +0 -0
  277. package/build/qemu/2.1.1/koffi_openbsd_x64.tar.gz +0 -0
  278. package/build/qemu/2.1.1/koffi_win32_arm64.tar.gz +0 -0
  279. package/build/qemu/2.1.1/koffi_win32_ia32.tar.gz +0 -0
  280. package/build/qemu/2.1.1/koffi_win32_x64.tar.gz +0 -0
  281. package/vendor/raylib/CONTRIBUTORS.md +0 -63
  282. package/vendor/raylib/SPONSORS.md +0 -68
  283. package/vendor/raylib/examples/core/core_quat_conversion.c +0 -132
  284. package/vendor/raylib/examples/core/core_quat_conversion.png +0 -0
  285. package/vendor/raylib/examples/models/resources/models/gltf/AnimatedMorphCube.glb +0 -0
  286. package/vendor/raylib/examples/models/resources/models/gltf/AnimatedTriangle.gltf +0 -118
  287. package/vendor/raylib/examples/models/resources/models/gltf/BoxAnimated.glb +0 -0
  288. package/vendor/raylib/examples/models/resources/models/gltf/girl.glb +0 -0
  289. package/vendor/raylib/examples/models/resources/models/gltf/rigged_figure.glb +0 -0
  290. package/vendor/raylib/examples/models/resources/models/gltf/vertex_colored_object.glb +0 -0
  291. package/vendor/raylib/examples/models/resources/models/iqm/vertex_colored_object.iqm +0 -0
  292. package/vendor/raylib/examples/models/rlights.h +0 -183
  293. package/vendor/raylib/examples/others/raudio_standalone.c +0 -152
  294. package/vendor/raylib/examples/others/resources/audio/country.mp3 +0 -0
  295. package/vendor/raylib/examples/others/resources/audio/target.ogg +0 -0
  296. package/vendor/raylib/examples/others/resources/audio/weird.wav +0 -0
  297. package/vendor/raylib/examples/physics/physics_demo.c +0 -128
  298. package/vendor/raylib/examples/physics/physics_demo.png +0 -0
  299. package/vendor/raylib/examples/physics/physics_friction.c +0 -142
  300. package/vendor/raylib/examples/physics/physics_friction.png +0 -0
  301. package/vendor/raylib/examples/physics/physics_movement.c +0 -128
  302. package/vendor/raylib/examples/physics/physics_movement.png +0 -0
  303. package/vendor/raylib/examples/physics/physics_restitution.c +0 -129
  304. package/vendor/raylib/examples/physics/physics_restitution.png +0 -0
  305. package/vendor/raylib/examples/physics/physics_shatter.c +0 -111
  306. package/vendor/raylib/examples/physics/physics_shatter.png +0 -0
  307. package/vendor/raylib/parser/raylib_api.json +0 -6668
  308. package/vendor/raylib/projects/VS2019/raylib/raylib.rc +0 -0
  309. package/vendor/raylib/projects/VS2019/raylib/resource.h +0 -14
  310. package/vendor/raylib/src/extras/physac.h +0 -1977
  311. package/vendor/raylib/src/extras/rmem.h +0 -751
  312. package/vendor/raylib/src/raudio.h +0 -198
package/ChangeLog.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  ## History
4
4
 
5
+ ### Koffi 2.1.3
6
+
7
+ **Main changes:**
8
+
9
+ - Support up to 16 output parameters (instead of 8)
10
+
11
+ ### Koffi 2.1.2
12
+
13
+ **Main changes:**
14
+
15
+ - Support up to 8 output parameters (instead of 4)
16
+
5
17
  ### Koffi 2.1.1
6
18
 
7
19
  **Main fixes:**
@@ -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.1",
4
- "stable": "2.1.1",
3
+ "version": "2.1.3",
4
+ "stable": "2.1.3",
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/ffi.cc CHANGED
@@ -684,7 +684,7 @@ static bool ParseClassicFunction(Napi::Env env, Napi::String name, Napi::Value r
684
684
  return false;
685
685
  }
686
686
  if ((param.directions & 2) && ++func->out_parameters >= MaxOutParameters) {
687
- ThrowError<Napi::TypeError>(env, "Functions cannot have more than out %1 parameters", MaxOutParameters);
687
+ ThrowError<Napi::TypeError>(env, "Functions cannot have more than %1 output parameters", MaxOutParameters);
688
688
  return false;
689
689
  }
690
690
 
@@ -1031,7 +1031,7 @@ static Napi::Value TranslateVariadicCall(const Napi::CallbackInfo &info)
1031
1031
  return env.Null();
1032
1032
  }
1033
1033
  if (RG_UNLIKELY((param.directions & 2) && ++func.out_parameters >= MaxOutParameters)) {
1034
- ThrowError<Napi::TypeError>(env, "Functions cannot have more than out %1 parameters", MaxOutParameters);
1034
+ ThrowError<Napi::TypeError>(env, "Functions cannot have more than %1 output parameters", MaxOutParameters);
1035
1035
  return env.Null();
1036
1036
  }
1037
1037
 
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 = 16;
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);