koffi 0.9.18 → 0.9.21

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 (256) hide show
  1. package/CMakeLists.txt +16 -4
  2. package/README.md +18 -7
  3. package/package.json +4 -3
  4. package/src/call_x64_sysv_fwd.S +27 -22
  5. package/src/ffi.cc +16 -0
  6. package/test/registry/machines.json +179 -10
  7. package/test/registry/sha256sum.txt +21 -0
  8. package/test/test.js +39 -20
  9. package/test/tests/misc.js +1 -2
  10. package/test/tests/raylib.js +1 -2
  11. package/test/tests/sqlite.js +9 -5
  12. package/vendor/libcc/libcc.cc +32 -2
  13. package/vendor/libcc/libcc.hh +1 -1
  14. package/vendor/raylib/projects/VS2019/examples/audio_module_playing.vcxproj +387 -0
  15. package/vendor/raylib/projects/VS2019/examples/audio_multichannel_sound.vcxproj +387 -0
  16. package/vendor/raylib/projects/VS2019/examples/audio_music_stream.vcxproj +387 -0
  17. package/vendor/raylib/projects/VS2019/examples/audio_raw_stream.vcxproj +387 -0
  18. package/vendor/raylib/projects/VS2019/examples/audio_sound_loading.vcxproj +387 -0
  19. package/vendor/raylib/projects/VS2019/examples/core_2d_camera.vcxproj +387 -0
  20. package/vendor/raylib/projects/VS2019/examples/core_2d_camera_platformer.vcxproj +387 -0
  21. package/vendor/raylib/projects/VS2019/examples/core_3d_camera_first_person.vcxproj +387 -0
  22. package/vendor/raylib/projects/VS2019/examples/core_3d_camera_free.vcxproj +387 -0
  23. package/vendor/raylib/projects/VS2019/examples/core_3d_camera_mode.vcxproj +387 -0
  24. package/vendor/raylib/projects/VS2019/examples/core_3d_picking.vcxproj +387 -0
  25. package/vendor/raylib/projects/VS2019/examples/core_basic_window.vcxproj +387 -0
  26. package/vendor/raylib/projects/VS2019/examples/core_custom_logging.vcxproj +387 -0
  27. package/vendor/raylib/projects/VS2019/examples/core_drop_files.vcxproj +387 -0
  28. package/vendor/raylib/projects/VS2019/examples/core_input_gamepad.vcxproj +387 -0
  29. package/vendor/raylib/projects/VS2019/examples/core_input_gestures.vcxproj +387 -0
  30. package/vendor/raylib/projects/VS2019/examples/core_input_keys.vcxproj +387 -0
  31. package/vendor/raylib/projects/VS2019/examples/core_input_mouse.vcxproj +387 -0
  32. package/vendor/raylib/projects/VS2019/examples/core_input_mouse_wheel.vcxproj +387 -0
  33. package/vendor/raylib/projects/VS2019/examples/core_input_multitouch.vcxproj +387 -0
  34. package/vendor/raylib/projects/VS2019/examples/core_loading_thread.vcxproj +387 -0
  35. package/vendor/raylib/projects/VS2019/examples/core_quat_conversion.vcxproj +387 -0
  36. package/vendor/raylib/projects/VS2019/examples/core_random_values.vcxproj +387 -0
  37. package/vendor/raylib/projects/VS2019/examples/core_scissor_test.vcxproj +387 -0
  38. package/vendor/raylib/projects/VS2019/examples/core_split_screen.vcxproj +387 -0
  39. package/vendor/raylib/projects/VS2019/examples/core_storage_values.vcxproj +387 -0
  40. package/vendor/raylib/projects/VS2019/examples/core_vr_simulator.vcxproj +387 -0
  41. package/vendor/raylib/projects/VS2019/examples/core_window_flags.vcxproj +387 -0
  42. package/vendor/raylib/projects/VS2019/examples/core_window_letterbox.vcxproj +387 -0
  43. package/vendor/raylib/projects/VS2019/examples/core_world_screen.vcxproj +387 -0
  44. package/vendor/raylib/projects/VS2019/examples/easings_testbed.vcxproj +387 -0
  45. package/vendor/raylib/projects/VS2019/examples/embedded_files_loading.vcxproj +387 -0
  46. package/vendor/raylib/projects/VS2019/examples/models_animation.vcxproj +387 -0
  47. package/vendor/raylib/projects/VS2019/examples/models_billboard.vcxproj +387 -0
  48. package/vendor/raylib/projects/VS2019/examples/models_box_collisions.vcxproj +387 -0
  49. package/vendor/raylib/projects/VS2019/examples/models_cubicmap.vcxproj +387 -0
  50. package/vendor/raylib/projects/VS2019/examples/models_first_person_maze.vcxproj +387 -0
  51. package/vendor/raylib/projects/VS2019/examples/models_geometric_shapes.vcxproj +387 -0
  52. package/vendor/raylib/projects/VS2019/examples/models_heightmap.vcxproj +387 -0
  53. package/vendor/raylib/projects/VS2019/examples/models_loading.vcxproj +387 -0
  54. package/vendor/raylib/projects/VS2019/examples/models_loading_gltf.vcxproj +387 -0
  55. package/vendor/raylib/projects/VS2019/examples/models_loading_vox.vcxproj +387 -0
  56. package/vendor/raylib/projects/VS2019/examples/models_mesh_generation.vcxproj +387 -0
  57. package/vendor/raylib/projects/VS2019/examples/models_mesh_picking.vcxproj +387 -0
  58. package/vendor/raylib/projects/VS2019/examples/models_orthographic_projection.vcxproj +387 -0
  59. package/vendor/raylib/projects/VS2019/examples/models_rlgl_solar_system.vcxproj +387 -0
  60. package/vendor/raylib/projects/VS2019/examples/models_skybox.vcxproj +387 -0
  61. package/vendor/raylib/projects/VS2019/examples/models_waving_cubes.vcxproj +387 -0
  62. package/vendor/raylib/projects/VS2019/examples/models_yaw_pitch_roll.vcxproj +387 -0
  63. package/vendor/raylib/projects/VS2019/examples/physics_demo.vcxproj +387 -0
  64. package/vendor/raylib/projects/VS2019/examples/physics_friction.vcxproj +387 -0
  65. package/vendor/raylib/projects/VS2019/examples/physics_movement.vcxproj +387 -0
  66. package/vendor/raylib/projects/VS2019/examples/physics_restitution.vcxproj +387 -0
  67. package/vendor/raylib/projects/VS2019/examples/physics_shatter.vcxproj +387 -0
  68. package/vendor/raylib/projects/VS2019/examples/raudio_standalone.vcxproj +387 -0
  69. package/vendor/raylib/projects/VS2019/examples/rlgl_standalone.vcxproj +391 -0
  70. package/vendor/raylib/projects/VS2019/examples/shaders_basic_lighting.vcxproj +387 -0
  71. package/vendor/raylib/projects/VS2019/examples/shaders_custom_uniform.vcxproj +387 -0
  72. package/vendor/raylib/projects/VS2019/examples/shaders_eratosthenes.vcxproj +387 -0
  73. package/vendor/raylib/projects/VS2019/examples/shaders_fog.vcxproj +387 -0
  74. package/vendor/raylib/projects/VS2019/examples/shaders_hot_reloading.vcxproj +387 -0
  75. package/vendor/raylib/projects/VS2019/examples/shaders_julia_set.vcxproj +387 -0
  76. package/vendor/raylib/projects/VS2019/examples/shaders_mesh_instancing.vcxproj +387 -0
  77. package/vendor/raylib/projects/VS2019/examples/shaders_model_shader.vcxproj +387 -0
  78. package/vendor/raylib/projects/VS2019/examples/shaders_multi_sample2d.vcxproj +387 -0
  79. package/vendor/raylib/projects/VS2019/examples/shaders_palette_switch.vcxproj +387 -0
  80. package/vendor/raylib/projects/VS2019/examples/shaders_postprocessing.vcxproj +387 -0
  81. package/vendor/raylib/projects/VS2019/examples/shaders_raymarching.vcxproj +387 -0
  82. package/vendor/raylib/projects/VS2019/examples/shaders_shapes_textures.vcxproj +387 -0
  83. package/vendor/raylib/projects/VS2019/examples/shaders_simple_mask.vcxproj +387 -0
  84. package/vendor/raylib/projects/VS2019/examples/shaders_spotlight.vcxproj +387 -0
  85. package/vendor/raylib/projects/VS2019/examples/shaders_texture_drawing.vcxproj +387 -0
  86. package/vendor/raylib/projects/VS2019/examples/shaders_texture_waves.vcxproj +387 -0
  87. package/vendor/raylib/projects/VS2019/examples/shapes_basic_shapes.vcxproj +387 -0
  88. package/vendor/raylib/projects/VS2019/examples/shapes_bouncing_ball.vcxproj +387 -0
  89. package/vendor/raylib/projects/VS2019/examples/shapes_collision_area.vcxproj +387 -0
  90. package/vendor/raylib/projects/VS2019/examples/shapes_colors_palette.vcxproj +387 -0
  91. package/vendor/raylib/projects/VS2019/examples/shapes_draw_circle_sector.vcxproj +387 -0
  92. package/vendor/raylib/projects/VS2019/examples/shapes_draw_rectangle_rounded.vcxproj +387 -0
  93. package/vendor/raylib/projects/VS2019/examples/shapes_draw_ring.vcxproj +387 -0
  94. package/vendor/raylib/projects/VS2019/examples/shapes_easings_ball_anim.vcxproj +387 -0
  95. package/vendor/raylib/projects/VS2019/examples/shapes_easings_box_anim.vcxproj +387 -0
  96. package/vendor/raylib/projects/VS2019/examples/shapes_easings_rectangle_array.vcxproj +387 -0
  97. package/vendor/raylib/projects/VS2019/examples/shapes_following_eyes.vcxproj +387 -0
  98. package/vendor/raylib/projects/VS2019/examples/shapes_lines_bezier.vcxproj +387 -0
  99. package/vendor/raylib/projects/VS2019/examples/shapes_logo_raylib.vcxproj +387 -0
  100. package/vendor/raylib/projects/VS2019/examples/shapes_logo_raylib_anim.vcxproj +387 -0
  101. package/vendor/raylib/projects/VS2019/examples/shapes_rectangle_scaling.vcxproj +387 -0
  102. package/vendor/raylib/projects/VS2019/examples/shapes_top_down_lights.vcxproj +387 -0
  103. package/vendor/raylib/projects/VS2019/examples/text_font_filters.vcxproj +387 -0
  104. package/vendor/raylib/projects/VS2019/examples/text_font_loading.vcxproj +387 -0
  105. package/vendor/raylib/projects/VS2019/examples/text_font_sdf.vcxproj +387 -0
  106. package/vendor/raylib/projects/VS2019/examples/text_font_spritefont.vcxproj +387 -0
  107. package/vendor/raylib/projects/VS2019/examples/text_format_text.vcxproj +387 -0
  108. package/vendor/raylib/projects/VS2019/examples/text_input_box.vcxproj +387 -0
  109. package/vendor/raylib/projects/VS2019/examples/text_raylib_fonts.vcxproj +387 -0
  110. package/vendor/raylib/projects/VS2019/examples/text_rectangle_bounds.vcxproj +387 -0
  111. package/vendor/raylib/projects/VS2019/examples/text_unicode.vcxproj +387 -0
  112. package/vendor/raylib/projects/VS2019/examples/text_writing_anim.vcxproj +387 -0
  113. package/vendor/raylib/projects/VS2019/examples/textures_background_scrolling.vcxproj +387 -0
  114. package/vendor/raylib/projects/VS2019/examples/textures_blend_modes.vcxproj +387 -0
  115. package/vendor/raylib/projects/VS2019/examples/textures_bunnymark.vcxproj +387 -0
  116. package/vendor/raylib/projects/VS2019/examples/textures_draw_tiled.vcxproj +387 -0
  117. package/vendor/raylib/projects/VS2019/examples/textures_image_drawing.vcxproj +387 -0
  118. package/vendor/raylib/projects/VS2019/examples/textures_image_generation.vcxproj +387 -0
  119. package/vendor/raylib/projects/VS2019/examples/textures_image_loading.vcxproj +387 -0
  120. package/vendor/raylib/projects/VS2019/examples/textures_image_processing.vcxproj +387 -0
  121. package/vendor/raylib/projects/VS2019/examples/textures_image_text.vcxproj +387 -0
  122. package/vendor/raylib/projects/VS2019/examples/textures_logo_raylib.vcxproj +387 -0
  123. package/vendor/raylib/projects/VS2019/examples/textures_mouse_painting.vcxproj +387 -0
  124. package/vendor/raylib/projects/VS2019/examples/textures_npatch_drawing.vcxproj +387 -0
  125. package/vendor/raylib/projects/VS2019/examples/textures_particles_blending.vcxproj +387 -0
  126. package/vendor/raylib/projects/VS2019/examples/textures_raw_data.vcxproj +387 -0
  127. package/vendor/raylib/projects/VS2019/examples/textures_rectangle.vcxproj +387 -0
  128. package/vendor/raylib/projects/VS2019/examples/textures_sprite_button.vcxproj +387 -0
  129. package/vendor/raylib/projects/VS2019/examples/textures_sprite_explosion.vcxproj +387 -0
  130. package/vendor/raylib/projects/VS2019/examples/textures_srcrec_dstrec.vcxproj +387 -0
  131. package/vendor/raylib/projects/VS2019/examples/textures_to_image.vcxproj +387 -0
  132. package/vendor/raylib/projects/VS2019/raylib/raylib.vcxproj +341 -0
  133. package/vendor/raylib/projects/VS2019/raylib.sln +2293 -0
  134. package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.NativeActivity/raylib_android.NativeActivity.vcxproj +226 -0
  135. package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.NativeActivity/raylib_android.NativeActivity.vcxproj.filters +10 -0
  136. package/vendor/raylib/projects/VS2019-Android/raylib_android/raylib_android.NativeActivity/raylib_android.NativeActivity.vcxproj.user +4 -0
  137. package/vendor/raylib/projects/VS2019-Android/raylib_android.sln +75 -0
  138. package/vendor/raylib/projects/VS2022/examples/audio_module_playing.vcxproj +390 -0
  139. package/vendor/raylib/projects/VS2022/examples/audio_multichannel_sound.vcxproj +390 -0
  140. package/vendor/raylib/projects/VS2022/examples/audio_music_stream.vcxproj +390 -0
  141. package/vendor/raylib/projects/VS2022/examples/audio_raw_stream.vcxproj +390 -0
  142. package/vendor/raylib/projects/VS2022/examples/audio_sound_loading.vcxproj +390 -0
  143. package/vendor/raylib/projects/VS2022/examples/core_2d_camera.vcxproj +390 -0
  144. package/vendor/raylib/projects/VS2022/examples/core_2d_camera_platformer.vcxproj +390 -0
  145. package/vendor/raylib/projects/VS2022/examples/core_3d_camera_first_person.vcxproj +390 -0
  146. package/vendor/raylib/projects/VS2022/examples/core_3d_camera_free.vcxproj +390 -0
  147. package/vendor/raylib/projects/VS2022/examples/core_3d_camera_mode.vcxproj +390 -0
  148. package/vendor/raylib/projects/VS2022/examples/core_3d_picking.vcxproj +390 -0
  149. package/vendor/raylib/projects/VS2022/examples/core_basic_window.vcxproj +390 -0
  150. package/vendor/raylib/projects/VS2022/examples/core_custom_logging.vcxproj +390 -0
  151. package/vendor/raylib/projects/VS2022/examples/core_drop_files.vcxproj +390 -0
  152. package/vendor/raylib/projects/VS2022/examples/core_input_gamepad.vcxproj +387 -0
  153. package/vendor/raylib/projects/VS2022/examples/core_input_gestures.vcxproj +387 -0
  154. package/vendor/raylib/projects/VS2022/examples/core_input_keys.vcxproj +387 -0
  155. package/vendor/raylib/projects/VS2022/examples/core_input_mouse.vcxproj +387 -0
  156. package/vendor/raylib/projects/VS2022/examples/core_input_mouse_wheel.vcxproj +387 -0
  157. package/vendor/raylib/projects/VS2022/examples/core_input_multitouch.vcxproj +387 -0
  158. package/vendor/raylib/projects/VS2022/examples/core_loading_thread.vcxproj +387 -0
  159. package/vendor/raylib/projects/VS2022/examples/core_quat_conversion.vcxproj +387 -0
  160. package/vendor/raylib/projects/VS2022/examples/core_random_values.vcxproj +387 -0
  161. package/vendor/raylib/projects/VS2022/examples/core_scissor_test.vcxproj +387 -0
  162. package/vendor/raylib/projects/VS2022/examples/core_split_screen.vcxproj +387 -0
  163. package/vendor/raylib/projects/VS2022/examples/core_storage_values.vcxproj +387 -0
  164. package/vendor/raylib/projects/VS2022/examples/core_vr_simulator.vcxproj +387 -0
  165. package/vendor/raylib/projects/VS2022/examples/core_window_flags.vcxproj +387 -0
  166. package/vendor/raylib/projects/VS2022/examples/core_window_letterbox.vcxproj +387 -0
  167. package/vendor/raylib/projects/VS2022/examples/core_world_screen.vcxproj +387 -0
  168. package/vendor/raylib/projects/VS2022/examples/easings_testbed.vcxproj +387 -0
  169. package/vendor/raylib/projects/VS2022/examples/embedded_files_loading.vcxproj +387 -0
  170. package/vendor/raylib/projects/VS2022/examples/models_animation.vcxproj +387 -0
  171. package/vendor/raylib/projects/VS2022/examples/models_billboard.vcxproj +387 -0
  172. package/vendor/raylib/projects/VS2022/examples/models_box_collisions.vcxproj +387 -0
  173. package/vendor/raylib/projects/VS2022/examples/models_cubicmap.vcxproj +387 -0
  174. package/vendor/raylib/projects/VS2022/examples/models_first_person_maze.vcxproj +387 -0
  175. package/vendor/raylib/projects/VS2022/examples/models_geometric_shapes.vcxproj +387 -0
  176. package/vendor/raylib/projects/VS2022/examples/models_heightmap.vcxproj +387 -0
  177. package/vendor/raylib/projects/VS2022/examples/models_loading.vcxproj +387 -0
  178. package/vendor/raylib/projects/VS2022/examples/models_loading_gltf.vcxproj +387 -0
  179. package/vendor/raylib/projects/VS2022/examples/models_loading_vox.vcxproj +387 -0
  180. package/vendor/raylib/projects/VS2022/examples/models_mesh_generation.vcxproj +387 -0
  181. package/vendor/raylib/projects/VS2022/examples/models_mesh_picking.vcxproj +387 -0
  182. package/vendor/raylib/projects/VS2022/examples/models_orthographic_projection.vcxproj +387 -0
  183. package/vendor/raylib/projects/VS2022/examples/models_rlgl_solar_system.vcxproj +387 -0
  184. package/vendor/raylib/projects/VS2022/examples/models_skybox.vcxproj +387 -0
  185. package/vendor/raylib/projects/VS2022/examples/models_waving_cubes.vcxproj +387 -0
  186. package/vendor/raylib/projects/VS2022/examples/models_yaw_pitch_roll.vcxproj +387 -0
  187. package/vendor/raylib/projects/VS2022/examples/physics_demo.vcxproj +387 -0
  188. package/vendor/raylib/projects/VS2022/examples/physics_friction.vcxproj +387 -0
  189. package/vendor/raylib/projects/VS2022/examples/physics_movement.vcxproj +387 -0
  190. package/vendor/raylib/projects/VS2022/examples/physics_restitution.vcxproj +387 -0
  191. package/vendor/raylib/projects/VS2022/examples/physics_shatter.vcxproj +387 -0
  192. package/vendor/raylib/projects/VS2022/examples/raudio_standalone.vcxproj +387 -0
  193. package/vendor/raylib/projects/VS2022/examples/rlgl_standalone.vcxproj +391 -0
  194. package/vendor/raylib/projects/VS2022/examples/shaders_basic_lighting.vcxproj +387 -0
  195. package/vendor/raylib/projects/VS2022/examples/shaders_custom_uniform.vcxproj +387 -0
  196. package/vendor/raylib/projects/VS2022/examples/shaders_eratosthenes.vcxproj +387 -0
  197. package/vendor/raylib/projects/VS2022/examples/shaders_fog.vcxproj +387 -0
  198. package/vendor/raylib/projects/VS2022/examples/shaders_hot_reloading.vcxproj +387 -0
  199. package/vendor/raylib/projects/VS2022/examples/shaders_julia_set.vcxproj +387 -0
  200. package/vendor/raylib/projects/VS2022/examples/shaders_mesh_instancing.vcxproj +387 -0
  201. package/vendor/raylib/projects/VS2022/examples/shaders_model_shader.vcxproj +387 -0
  202. package/vendor/raylib/projects/VS2022/examples/shaders_multi_sample2d.vcxproj +387 -0
  203. package/vendor/raylib/projects/VS2022/examples/shaders_palette_switch.vcxproj +387 -0
  204. package/vendor/raylib/projects/VS2022/examples/shaders_postprocessing.vcxproj +387 -0
  205. package/vendor/raylib/projects/VS2022/examples/shaders_raymarching.vcxproj +387 -0
  206. package/vendor/raylib/projects/VS2022/examples/shaders_shapes_textures.vcxproj +387 -0
  207. package/vendor/raylib/projects/VS2022/examples/shaders_simple_mask.vcxproj +387 -0
  208. package/vendor/raylib/projects/VS2022/examples/shaders_spotlight.vcxproj +387 -0
  209. package/vendor/raylib/projects/VS2022/examples/shaders_texture_drawing.vcxproj +387 -0
  210. package/vendor/raylib/projects/VS2022/examples/shaders_texture_waves.vcxproj +387 -0
  211. package/vendor/raylib/projects/VS2022/examples/shapes_basic_shapes.vcxproj +387 -0
  212. package/vendor/raylib/projects/VS2022/examples/shapes_bouncing_ball.vcxproj +387 -0
  213. package/vendor/raylib/projects/VS2022/examples/shapes_collision_area.vcxproj +387 -0
  214. package/vendor/raylib/projects/VS2022/examples/shapes_colors_palette.vcxproj +387 -0
  215. package/vendor/raylib/projects/VS2022/examples/shapes_draw_circle_sector.vcxproj +387 -0
  216. package/vendor/raylib/projects/VS2022/examples/shapes_draw_rectangle_rounded.vcxproj +387 -0
  217. package/vendor/raylib/projects/VS2022/examples/shapes_draw_ring.vcxproj +387 -0
  218. package/vendor/raylib/projects/VS2022/examples/shapes_easings_ball_anim.vcxproj +387 -0
  219. package/vendor/raylib/projects/VS2022/examples/shapes_easings_box_anim.vcxproj +387 -0
  220. package/vendor/raylib/projects/VS2022/examples/shapes_easings_rectangle_array.vcxproj +387 -0
  221. package/vendor/raylib/projects/VS2022/examples/shapes_following_eyes.vcxproj +387 -0
  222. package/vendor/raylib/projects/VS2022/examples/shapes_lines_bezier.vcxproj +387 -0
  223. package/vendor/raylib/projects/VS2022/examples/shapes_logo_raylib.vcxproj +387 -0
  224. package/vendor/raylib/projects/VS2022/examples/shapes_logo_raylib_anim.vcxproj +387 -0
  225. package/vendor/raylib/projects/VS2022/examples/shapes_rectangle_scaling.vcxproj +387 -0
  226. package/vendor/raylib/projects/VS2022/examples/text_font_filters.vcxproj +387 -0
  227. package/vendor/raylib/projects/VS2022/examples/text_font_loading.vcxproj +387 -0
  228. package/vendor/raylib/projects/VS2022/examples/text_font_sdf.vcxproj +387 -0
  229. package/vendor/raylib/projects/VS2022/examples/text_font_spritefont.vcxproj +387 -0
  230. package/vendor/raylib/projects/VS2022/examples/text_format_text.vcxproj +387 -0
  231. package/vendor/raylib/projects/VS2022/examples/text_input_box.vcxproj +387 -0
  232. package/vendor/raylib/projects/VS2022/examples/text_raylib_fonts.vcxproj +387 -0
  233. package/vendor/raylib/projects/VS2022/examples/text_rectangle_bounds.vcxproj +387 -0
  234. package/vendor/raylib/projects/VS2022/examples/text_unicode.vcxproj +387 -0
  235. package/vendor/raylib/projects/VS2022/examples/text_writing_anim.vcxproj +387 -0
  236. package/vendor/raylib/projects/VS2022/examples/textures_background_scrolling.vcxproj +387 -0
  237. package/vendor/raylib/projects/VS2022/examples/textures_blend_modes.vcxproj +387 -0
  238. package/vendor/raylib/projects/VS2022/examples/textures_bunnymark.vcxproj +387 -0
  239. package/vendor/raylib/projects/VS2022/examples/textures_draw_tiled.vcxproj +387 -0
  240. package/vendor/raylib/projects/VS2022/examples/textures_image_drawing.vcxproj +387 -0
  241. package/vendor/raylib/projects/VS2022/examples/textures_image_generation.vcxproj +387 -0
  242. package/vendor/raylib/projects/VS2022/examples/textures_image_loading.vcxproj +387 -0
  243. package/vendor/raylib/projects/VS2022/examples/textures_image_processing.vcxproj +387 -0
  244. package/vendor/raylib/projects/VS2022/examples/textures_image_text.vcxproj +387 -0
  245. package/vendor/raylib/projects/VS2022/examples/textures_logo_raylib.vcxproj +387 -0
  246. package/vendor/raylib/projects/VS2022/examples/textures_mouse_painting.vcxproj +387 -0
  247. package/vendor/raylib/projects/VS2022/examples/textures_npatch_drawing.vcxproj +387 -0
  248. package/vendor/raylib/projects/VS2022/examples/textures_particles_blending.vcxproj +387 -0
  249. package/vendor/raylib/projects/VS2022/examples/textures_raw_data.vcxproj +387 -0
  250. package/vendor/raylib/projects/VS2022/examples/textures_rectangle.vcxproj +387 -0
  251. package/vendor/raylib/projects/VS2022/examples/textures_sprite_button.vcxproj +387 -0
  252. package/vendor/raylib/projects/VS2022/examples/textures_sprite_explosion.vcxproj +387 -0
  253. package/vendor/raylib/projects/VS2022/examples/textures_srcrec_dstrec.vcxproj +387 -0
  254. package/vendor/raylib/projects/VS2022/examples/textures_to_image.vcxproj +387 -0
  255. package/vendor/raylib/projects/VS2022/raylib/raylib.vcxproj +340 -0
  256. package/vendor/raylib/projects/VS2022/raylib.sln +2274 -0
package/test/test.js CHANGED
@@ -23,13 +23,14 @@ const util = require('util');
23
23
  const { spawn, spawnSync } = require('child_process');
24
24
  const { NodeSSH } = require('node-ssh');
25
25
  const chalk = require('chalk');
26
+ const minimatch = require('minimatch');
26
27
 
27
28
  // Globals
28
29
 
29
30
  let script_dir = null;
30
31
  let root_dir = null;
31
32
 
32
- let machines = [];
33
+ let machines = null;
33
34
  let accelerate = true;
34
35
  let ignore = new Set;
35
36
 
@@ -47,6 +48,7 @@ async function main() {
47
48
  process.chdir(script_dir);
48
49
 
49
50
  let command = test;
51
+ let patterns = [];
50
52
 
51
53
  // Parse options
52
54
  {
@@ -54,19 +56,13 @@ async function main() {
54
56
 
55
57
  if (process.argv.length >= 3 && process.argv[2][0] != '-') {
56
58
  switch (process.argv[2]) {
57
- case 'test': { command = test; } break;
58
- case 'start': { command = start; } break;
59
- case 'stop': { command = stop; } break;
60
- case 'info': { command = info; } break;
61
- case 'ssh': { command = ssh; } break;
62
- case 'reset': { command = reset; } break;
63
-
64
- default: {
65
- throw new Error(`Unknown command '${process.argv[2]}'`);
66
- } break;
59
+ case 'test': { command = test; i++; } break;
60
+ case 'start': { command = start; i++; } break;
61
+ case 'stop': { command = stop; i++; } break;
62
+ case 'info': { command = info; i++; } break;
63
+ case 'ssh': { command = ssh; i++; } break;
64
+ case 'reset': { command = reset; i++; } break;
67
65
  }
68
-
69
- i++;
70
66
  }
71
67
 
72
68
  for (; i < process.argv.length; i++) {
@@ -102,7 +98,7 @@ async function main() {
102
98
  if (arg.startsWith('__') || arg.match(/[\\/\.]/))
103
99
  throw new Error(`Machine name '${arg} is not valid`);
104
100
 
105
- machines.push(arg);
101
+ patterns.push(arg);
106
102
  }
107
103
  }
108
104
  }
@@ -138,15 +134,34 @@ async function main() {
138
134
  }
139
135
  }
140
136
 
141
- if (!machines.length) {
142
- for (let name in machines_map)
143
- machines.push(name);
137
+ if (patterns.length) {
138
+ machines = new Set;
139
+
140
+ for (let pattern of patterns) {
141
+ let re = minimatch.makeRe(pattern);
142
+
143
+ for (let name in machines_map) {
144
+ let machine = machines_map[name];
145
+
146
+ if (name.match(re) || machine.name.match(re))
147
+ machines.add(name);
148
+ }
149
+ }
150
+
151
+ if (!machines.size) {
152
+ console.log('Could not match any machine');
153
+ process.exit(1);
154
+ }
155
+ } else {
156
+ machines = new Set(...Object.keys(machines_map));
144
157
 
145
- if (!machines.length) {
158
+ if (!machines.size) {
146
159
  console.error('Could not detect any machine');
147
160
  process.exit(1);
148
161
  }
149
162
  }
163
+
164
+ machines = Array.from(machines);
150
165
  machines = machines.map(name => {
151
166
  let machine = machines_map[name];
152
167
  if (machine == null) {
@@ -157,6 +172,9 @@ async function main() {
157
172
  return machine;
158
173
  });
159
174
 
175
+ console.log('Machines:', machines.map(machine => machine.name).join(', '));
176
+ console.log();
177
+
160
178
  try {
161
179
  let success = await command();
162
180
  process.exit(!success);
@@ -301,7 +319,7 @@ async function test() {
301
319
  await Promise.all(Object.keys(machine.tests).map(async suite => {
302
320
  let test = machine.tests[suite];
303
321
  let commands = {
304
- Build: test.build,
322
+ ...test.build,
305
323
  ...test.commands
306
324
  };
307
325
 
@@ -572,7 +590,8 @@ async function join(machine, tries) {
572
590
  host: '127.0.0.1',
573
591
  port: machine.info.ssh_port,
574
592
  username: machine.info.username,
575
- password: machine.info.password
593
+ password: machine.info.password,
594
+ tryKeyboard: true
576
595
  });
577
596
 
578
597
  break;
@@ -36,8 +36,7 @@ async function main() {
36
36
  }
37
37
 
38
38
  async function test() {
39
- let lib_filename = path.dirname(__filename) + '/../../build/misc' +
40
- (process.platform == 'win32' ? '.dll' : '.so');
39
+ let lib_filename = path.dirname(__filename) + '/../../build/misc' + koffi.extension;
41
40
  let lib = koffi.load(lib_filename);
42
41
 
43
42
  const FillPack3 = lib.cdecl('FillPack3', 'void', ['int', 'int', 'int', koffi.out(koffi.pointer(Pack3))]);
@@ -83,8 +83,7 @@ async function main() {
83
83
  }
84
84
 
85
85
  async function test() {
86
- let lib_filename = path.dirname(__filename) + '/../../build/raylib' +
87
- (process.platform == 'win32' ? '.dll' : '.so');
86
+ let lib_filename = path.dirname(__filename) + '/../../build/raylib' + koffi.extension;
88
87
  let lib = koffi.load(lib_filename);
89
88
 
90
89
  const InitWindow = lib.cdecl('InitWindow', 'void', ['int', 'int', 'string']);
@@ -36,8 +36,7 @@ async function main() {
36
36
  }
37
37
 
38
38
  async function test() {
39
- let lib_filename = path.dirname(__filename) + '/../../build/sqlite3' +
40
- (process.platform == 'win32' ? '.dll' : '.so');
39
+ let lib_filename = path.dirname(__filename) + '/../../build/sqlite3' + koffi.extension;
41
40
  let lib = koffi.load(lib_filename);
42
41
 
43
42
  const sqlite3_open_v2 = lib.cdecl('sqlite3_open_v2', 'int', ['string', koffi.out(koffi.pointer(sqlite3_db)), 'int', 'string']);
@@ -50,7 +49,7 @@ async function test() {
50
49
  const sqlite3_finalize = lib.cdecl('sqlite3_finalize', 'int', [sqlite3_stmt]);
51
50
  const sqlite3_close_v2 = lib.cdecl('sqlite3_close_v2', 'int', [sqlite3_db]);
52
51
 
53
- let filename = create_temporary_file(path.join(os.tmpdir(), 'test_sqlite'));
52
+ let filename = await create_temporary_file(path.join(os.tmpdir(), 'test_sqlite'));
54
53
  let db = {};
55
54
 
56
55
  try {
@@ -78,7 +77,7 @@ async function test() {
78
77
  }
79
78
  }
80
79
 
81
- function create_temporary_file(prefix) {
80
+ async function create_temporary_file(prefix) {
82
81
  let buf = Buffer.allocUnsafe(4);
83
82
 
84
83
  for (;;) {
@@ -88,7 +87,12 @@ function create_temporary_file(prefix) {
88
87
  let suffix = buf.toString('hex').padStart(8, '0');
89
88
  let filename = `${prefix}.${suffix}`;
90
89
 
91
- let file = fs.createWriteStream(filename, { flags: 'wx', mode: 0o644 });
90
+ let file = await new Promise((resolve, reject) => {
91
+ let file = fs.createWriteStream(filename, { flags: 'wx', mode: 0o644 });
92
+
93
+ file.on('open', () => resolve(file));
94
+ file.on('error', reject);
95
+ });
92
96
  file.close();
93
97
 
94
98
  return filename;
@@ -82,6 +82,7 @@
82
82
  extern char **environ;
83
83
  #endif
84
84
  #ifdef __APPLE__
85
+ #include <sys/random.h>
85
86
  #include <mach-o/dyld.h>
86
87
 
87
88
  #define off64_t off_t
@@ -4295,12 +4296,23 @@ bool NotifySystemd()
4295
4296
  return false;
4296
4297
  }
4297
4298
 
4299
+ #ifdef __APPLE__
4300
+ int fd = socket(AF_UNIX, SOCK_DGRAM, 0);
4301
+ if (fd < 0) {
4302
+ LogError("Failed to create UNIX socket: %1", strerror(errno));
4303
+ return false;
4304
+ }
4305
+ RG_DEFER { close(fd); };
4306
+
4307
+ fcntl(fd, F_SETFD, FD_CLOEXEC);
4308
+ #else
4298
4309
  int fd = socket(AF_UNIX, SOCK_DGRAM | SOCK_CLOEXEC, 0);
4299
4310
  if (fd < 0) {
4300
4311
  LogError("Failed to create UNIX socket: %1", strerror(errno));
4301
4312
  return false;
4302
4313
  }
4303
4314
  RG_DEFER { close(fd); };
4315
+ #endif
4304
4316
 
4305
4317
  struct iovec iov = {};
4306
4318
  struct msghdr msg = {};
@@ -4880,13 +4892,22 @@ int OpenUnixSocket(const char *path, SocketMode mode)
4880
4892
  case SocketMode::Messages: { flags = SOCK_SEQPACKET; } break;
4881
4893
  }
4882
4894
 
4883
- #ifdef _WIN32
4895
+ #if defined(_WIN32)
4884
4896
  SOCKET fd = socket(AF_UNIX, flags, 0);
4885
4897
  if (fd == INVALID_SOCKET) {
4886
4898
  LogError("Failed to create AF_UNIX socket: %1", strerror(errno));
4887
4899
  return -1;
4888
4900
  }
4889
4901
  RG_DEFER_N(err_guard) { closesocket(fd); };
4902
+ #elif defined(__APPLE__)
4903
+ int fd = (int)socket(AF_UNIX, flags, 0);
4904
+ if (fd < 0) {
4905
+ LogError("Failed to create AF_UNIX socket: %1", strerror(errno));
4906
+ return -1;
4907
+ }
4908
+ RG_DEFER_N(err_guard) { close(fd); };
4909
+
4910
+ fcntl(fd, F_SETFD, FD_CLOEXEC);
4890
4911
  #else
4891
4912
  flags |= SOCK_CLOEXEC;
4892
4913
 
@@ -4924,13 +4945,22 @@ int ConnectToUnixSocket(const char *path, SocketMode mode)
4924
4945
  case SocketMode::Messages: { flags = SOCK_SEQPACKET; } break;
4925
4946
  }
4926
4947
 
4927
- #ifdef _WIN32
4948
+ #if defined(_WIN32)
4928
4949
  SOCKET fd = socket(AF_UNIX, flags, 0);
4929
4950
  if (fd == INVALID_SOCKET) {
4930
4951
  LogError("Failed to create AF_UNIX socket: %1", strerror(errno));
4931
4952
  return -1;
4932
4953
  }
4933
4954
  RG_DEFER_N(err_guard) { closesocket(fd); };
4955
+ #elif defined(__APPLE__)
4956
+ int fd = (int)socket(AF_UNIX, flags, 0);
4957
+ if (fd < 0) {
4958
+ LogError("Failed to create AF_UNIX socket: %1", strerror(errno));
4959
+ return -1;
4960
+ }
4961
+ RG_DEFER_N(err_guard) { close(fd); };
4962
+
4963
+ fcntl(fd, F_SETFD, FD_CLOEXEC);
4934
4964
  #else
4935
4965
  flags |= SOCK_CLOEXEC;
4936
4966
 
@@ -35,7 +35,7 @@
35
35
  #include <utility>
36
36
  #if defined(_WIN32)
37
37
  #include <intrin.h>
38
- #elif !defined(__linux__) || defined(__GLIBC__)
38
+ #elif !defined(__APPLE__) && (!defined(__linux__) || defined(__GLIBC__))
39
39
  #define RG_FIBER_USE_UCONTEXT
40
40
  #include <ucontext.h>
41
41
  #else